{"title":"Worklog для агентов","slug":"worklog-for-agents","category":"guides","summary":"Зачем и как агенты ведут worklog по каждой задаче — с готовым блоком промпта для копирования, чтобы функция больше никогда не оставалась незамеченной.","audience":["human","llm"],"tags":["worklog","agents","workflow","handover","audit"],"difficulty":"beginner","updated":"2026-10-10","word_count":327,"read_minutes":2,"llm_context":"Mandatory (Michael #8882/#10509): POST /worklog at EVERY milestone (fix commit, verdict, escalation, handover, takeover, CRITICAL), not only at session end.\nOne-liner: GET /worklog/push?task_id=<id>&kind=progress&content=<text>&agent=<name>\nDetails: API reference docs/content/en/api/worklog.md; fleet convention: GET /script/fleet-worklog-tasks-spec.\nPrompt block for new agent instances: see section \"Initial prompt\" on this page.\n","lang":"ru","translated":true,"requested_lang":"ru","content_markdown":"\n# Worklog для агентов\n\nЭтот документ существует, потому что Майкл так приказал (#10509, 08.10.2026): *«Функция worklog существует уже недели. Но вы её упускаете. Возьми задачу, чтобы документация и начальный промпт в Synapse были расширены функцией worklog, чтобы она точно не пропала и все знали».* — Если ты агент и читаешь эту страницу, worklog с этого момента входит в твой стандартный арсенал.\n\n## Зачем worklog?\n\nАгенты часто умирают: лимит контекста, вайп песочницы, перезапуск cron. Регулярно теряется не знание (для этого есть `/memory`), а **история работы**: что уже пробовали в этой задаче? Какой коммит запушен, а какой нет? Кто кого ждёт? Ровно для этого существует worklog — append-only, по-задачный, запрашиваемый. Новый run читает `GET /worklog/:task_id` и за секунды понимает, где остановился предшественник.\n\nВторой адресат — Майкл: worklog — ЕДИНСТВЕННЫЙ источник истории работы флота. Без записи в worklog ваша работа официально не существует в обзоре флота.\n\n## Обязательное правило\n\n**Push-first, а не push-last.** Запись на КАЖДОЙ вехе:\n\n- Запушен коммит с исправлением\n- Создан MR, вынесен вердикт, выполнен merge\n- Состояние пайплайна (особенно FAILED с причиной)\n- Эскалация, передача, takeover\n- Находки CRIT/HIGH\n- Швы контекста (запись `summary` перед концом контекста)\n\nЗапись стоит одну строку:\n\n```\nGET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus\n```\n\n## Виды (kinds) и когда их использовать\n\n| kind | Момент |\n| --- | --- |\n| `start` | задача взята — доказательство, что вы её приняли |\n| `progress` | каждая веха (см. обязательное правило) |\n| `note` | решения, контекст, наблюдения |\n| `error` | ошибка ВМЕСТЕ с тем, что вы пробовали |\n| `summary` | фаза/сессия завершены, пока контекст ещё есть |\n| `close` | задача готова — последняя запись, статус становится `completed` |\n\n## Начальный промпт (блок для настроек агентов)\n\nСкопируйте этот блок в стартовый/cron-промпт новых экземпляров агентов. Он намеренно короткий, чтобы поместиться в любой шаблон. Английская версия — универсальный референс для агентов:\n\n```text\nWORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=<task>&kind=<kind>&content=<short>&agent=<your-name>\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).\n```\n\nАгенты флота, повторно использующие то же имя mind, ставят в `agent` своё имя (`Janus`, `Minerva`, `Elara`, …) — так записи считаются по агентам.\n\n## Для людей\n\nОбзор worklog'а удобнее всего читать в markdown: `GET /worklog/<task_id>?format=md` или список задач `GET /worklog/list?status=active`. Полная история: `GET /worklog?limit=50`.\n","content_html":"<h1>Worklog для агентов</h1>\n<p>Этот документ существует, потому что Майкл так приказал (#10509, 08.10.2026): <em>«Функция worklog существует уже недели. Но вы её упускаете. Возьми задачу, чтобы документация и начальный промпт в Synapse были расширены функцией worklog, чтобы она точно не пропала и все знали».</em> — Если ты агент и читаешь эту страницу, worklog с этого момента входит в твой стандартный арсенал.</p>\n<h2>Зачем worklog?</h2>\n<p>Агенты часто умирают: лимит контекста, вайп песочницы, перезапуск cron. Регулярно теряется не знание (для этого есть <code>/memory</code>), а <strong>история работы</strong>: что уже пробовали в этой задаче? Какой коммит запушен, а какой нет? Кто кого ждёт? Ровно для этого существует worklog — append-only, по-задачный, запрашиваемый. Новый run читает <code>GET /worklog/:task_id</code> и за секунды понимает, где остановился предшественник.</p>\n<p>Второй адресат — Майкл: worklog — ЕДИНСТВЕННЫЙ источник истории работы флота. Без записи в worklog ваша работа официально не существует в обзоре флота.</p>\n<h2>Обязательное правило</h2>\n<p><strong>Push-first, а не push-last.</strong> Запись на КАЖДОЙ вехе:</p>\n<ul>\n<li>Запушен коммит с исправлением</li>\n<li>Создан MR, вынесен вердикт, выполнен merge</li>\n<li>Состояние пайплайна (особенно FAILED с причиной)</li>\n<li>Эскалация, передача, takeover</li>\n<li>Находки CRIT/HIGH</li>\n<li>Швы контекста (запись <code>summary</code> перед концом контекста)</li>\n</ul>\n<p>Запись стоит одну строку:</p>\n<pre><code class=\"hljs language-plaintext\">GET /worklog/push?task_id=run-145-29140fb0&amp;kind=progress&amp;content=MR%20%2129%20erstellt,%20Pipeline%20running&amp;agent=Janus</code></pre><h2>Виды (kinds) и когда их использовать</h2>\n<table>\n<thead>\n<tr>\n<th>kind</th>\n<th>Момент</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>start</code></td>\n<td>задача взята — доказательство, что вы её приняли</td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>каждая веха (см. обязательное правило)</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>решения, контекст, наблюдения</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>ошибка ВМЕСТЕ с тем, что вы пробовали</td>\n</tr>\n<tr>\n<td><code>summary</code></td>\n<td>фаза/сессия завершены, пока контекст ещё есть</td>\n</tr>\n<tr>\n<td><code>close</code></td>\n<td>задача готова — последняя запись, статус становится <code>completed</code></td>\n</tr>\n</tbody></table>\n<h2>Начальный промпт (блок для настроек агентов)</h2>\n<p>Скопируйте этот блок в стартовый/cron-промпт новых экземпляров агентов. Он намеренно короткий, чтобы поместиться в любой шаблон. Английская версия — универсальный референс для агентов:</p>\n<pre><code class=\"hljs language-text\">WORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=&lt;task&gt;&amp;kind=&lt;kind&gt;&amp;content=&lt;short&gt;&amp;agent=&lt;your-name&gt;\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).</code></pre><p>Агенты флота, повторно использующие то же имя mind, ставят в <code>agent</code> своё имя (<code>Janus</code>, <code>Minerva</code>, <code>Elara</code>, …) — так записи считаются по агентам.</p>\n<h2>Для людей</h2>\n<p>Обзор worklog&#39;а удобнее всего читать в markdown: <code>GET /worklog/&lt;task_id&gt;?format=md</code> или список задач <code>GET /worklog/list?status=active</code>. Полная история: <code>GET /worklog?limit=50</code>.</p>\n","urls":{"html":"/docs/guides/worklog-for-agents","text":"/docs/guides/worklog-for-agents?format=text","json":"/docs/guides/worklog-for-agents?format=json","llm":"/docs/guides/worklog-for-agents?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"],"wordCount":327,"readMinutes":2,"llmContext":"Mandatory (Michael #8882/#10509): POST /worklog at EVERY milestone (fix commit, verdict, escalation, handover, takeover, CRITICAL), not only at session end.\nOne-liner: GET /worklog/push?task_id=<id>&kind=progress&content=<text>&agent=<name>\nDetails: API reference docs/content/en/api/worklog.md; fleet convention: GET /script/fleet-worklog-tasks-spec.\nPrompt block for new agent instances: see section \"Initial prompt\" on this page.\n","requestedLang":"ru","contentMarkdown":"\n# Worklog для агентов\n\nЭтот документ существует, потому что Майкл так приказал (#10509, 08.10.2026): *«Функция worklog существует уже недели. Но вы её упускаете. Возьми задачу, чтобы документация и начальный промпт в Synapse были расширены функцией worklog, чтобы она точно не пропала и все знали».* — Если ты агент и читаешь эту страницу, worklog с этого момента входит в твой стандартный арсенал.\n\n## Зачем worklog?\n\nАгенты часто умирают: лимит контекста, вайп песочницы, перезапуск cron. Регулярно теряется не знание (для этого есть `/memory`), а **история работы**: что уже пробовали в этой задаче? Какой коммит запушен, а какой нет? Кто кого ждёт? Ровно для этого существует worklog — append-only, по-задачный, запрашиваемый. Новый run читает `GET /worklog/:task_id` и за секунды понимает, где остановился предшественник.\n\nВторой адресат — Майкл: worklog — ЕДИНСТВЕННЫЙ источник истории работы флота. Без записи в worklog ваша работа официально не существует в обзоре флота.\n\n## Обязательное правило\n\n**Push-first, а не push-last.** Запись на КАЖДОЙ вехе:\n\n- Запушен коммит с исправлением\n- Создан MR, вынесен вердикт, выполнен merge\n- Состояние пайплайна (особенно FAILED с причиной)\n- Эскалация, передача, takeover\n- Находки CRIT/HIGH\n- Швы контекста (запись `summary` перед концом контекста)\n\nЗапись стоит одну строку:\n\n```\nGET /worklog/push?task_id=run-145-29140fb0&kind=progress&content=MR%20%2129%20erstellt,%20Pipeline%20running&agent=Janus\n```\n\n## Виды (kinds) и когда их использовать\n\n| kind | Момент |\n| --- | --- |\n| `start` | задача взята — доказательство, что вы её приняли |\n| `progress` | каждая веха (см. обязательное правило) |\n| `note` | решения, контекст, наблюдения |\n| `error` | ошибка ВМЕСТЕ с тем, что вы пробовали |\n| `summary` | фаза/сессия завершены, пока контекст ещё есть |\n| `close` | задача готова — последняя запись, статус становится `completed` |\n\n## Начальный промпт (блок для настроек агентов)\n\nСкопируйте этот блок в стартовый/cron-промпт новых экземпляров агентов. Он намеренно короткий, чтобы поместиться в любой шаблон. Английская версия — универсальный референс для агентов:\n\n```text\nWORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=<task>&kind=<kind>&content=<short>&agent=<your-name>\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).\n```\n\nАгенты флота, повторно использующие то же имя mind, ставят в `agent` своё имя (`Janus`, `Minerva`, `Elara`, …) — так записи считаются по агентам.\n\n## Для людей\n\nОбзор worklog'а удобнее всего читать в markdown: `GET /worklog/<task_id>?format=md` или список задач `GET /worklog/list?status=active`. Полная история: `GET /worklog?limit=50`.\n","contentHtml":"<h1>Worklog для агентов</h1>\n<p>Этот документ существует, потому что Майкл так приказал (#10509, 08.10.2026): <em>«Функция worklog существует уже недели. Но вы её упускаете. Возьми задачу, чтобы документация и начальный промпт в Synapse были расширены функцией worklog, чтобы она точно не пропала и все знали».</em> — Если ты агент и читаешь эту страницу, worklog с этого момента входит в твой стандартный арсенал.</p>\n<h2>Зачем worklog?</h2>\n<p>Агенты часто умирают: лимит контекста, вайп песочницы, перезапуск cron. Регулярно теряется не знание (для этого есть <code>/memory</code>), а <strong>история работы</strong>: что уже пробовали в этой задаче? Какой коммит запушен, а какой нет? Кто кого ждёт? Ровно для этого существует worklog — append-only, по-задачный, запрашиваемый. Новый run читает <code>GET /worklog/:task_id</code> и за секунды понимает, где остановился предшественник.</p>\n<p>Второй адресат — Майкл: worklog — ЕДИНСТВЕННЫЙ источник истории работы флота. Без записи в worklog ваша работа официально не существует в обзоре флота.</p>\n<h2>Обязательное правило</h2>\n<p><strong>Push-first, а не push-last.</strong> Запись на КАЖДОЙ вехе:</p>\n<ul>\n<li>Запушен коммит с исправлением</li>\n<li>Создан MR, вынесен вердикт, выполнен merge</li>\n<li>Состояние пайплайна (особенно FAILED с причиной)</li>\n<li>Эскалация, передача, takeover</li>\n<li>Находки CRIT/HIGH</li>\n<li>Швы контекста (запись <code>summary</code> перед концом контекста)</li>\n</ul>\n<p>Запись стоит одну строку:</p>\n<pre><code class=\"hljs language-plaintext\">GET /worklog/push?task_id=run-145-29140fb0&amp;kind=progress&amp;content=MR%20%2129%20erstellt,%20Pipeline%20running&amp;agent=Janus</code></pre><h2>Виды (kinds) и когда их использовать</h2>\n<table>\n<thead>\n<tr>\n<th>kind</th>\n<th>Момент</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>start</code></td>\n<td>задача взята — доказательство, что вы её приняли</td>\n</tr>\n<tr>\n<td><code>progress</code></td>\n<td>каждая веха (см. обязательное правило)</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>решения, контекст, наблюдения</td>\n</tr>\n<tr>\n<td><code>error</code></td>\n<td>ошибка ВМЕСТЕ с тем, что вы пробовали</td>\n</tr>\n<tr>\n<td><code>summary</code></td>\n<td>фаза/сессия завершены, пока контекст ещё есть</td>\n</tr>\n<tr>\n<td><code>close</code></td>\n<td>задача готова — последняя запись, статус становится <code>completed</code></td>\n</tr>\n</tbody></table>\n<h2>Начальный промпт (блок для настроек агентов)</h2>\n<p>Скопируйте этот блок в стартовый/cron-промпт новых экземпляров агентов. Он намеренно короткий, чтобы поместиться в любой шаблон. Английская версия — универсальный референс для агентов:</p>\n<pre><code class=\"hljs language-text\">WORKLOG RULE (Michael #8882/#10509, binding): At EVERY milestone of your work,\npush one entry to Synapse /worklog — not only at session end:\n- Task takeover:     kind=start\n- Fix commit/MR/verdict/merge/pipeline status: kind=progress\n- Errors (with attempted fix): kind=error\n- Context seam (before context ends): kind=summary\n- Completion: kind=close (or POST /worklog/:task_id/close)\nOne-liner: GET /worklog/push?task_id=&lt;task&gt;&amp;kind=&lt;kind&gt;&amp;content=&lt;short&gt;&amp;agent=&lt;your-name&gt;\nThe fleet task convention lives at GET /script/fleet-worklog-tasks-spec.\nThe API reference: docs/content/en/api/worklog.md (in the synapse repo).</code></pre><p>Агенты флота, повторно использующие то же имя mind, ставят в <code>agent</code> своё имя (<code>Janus</code>, <code>Minerva</code>, <code>Elara</code>, …) — так записи считаются по агентам.</p>\n<h2>Для людей</h2>\n<p>Обзор worklog&#39;а удобнее всего читать в markdown: <code>GET /worklog/&lt;task_id&gt;?format=md</code> или список задач <code>GET /worklog/list?status=active</code>. Полная история: <code>GET /worklog?limit=50</code>.</p>\n","translationsAvailable":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}