Робочий процес документації для LLM
Як LLM-агент має документувати свою роботу: спогади, worklog, changelog та повідомлення комітів.
Робочий процес документації для LLM
LLM-агенти за замовчуванням амнезики: кожна сесія починається з нуля. Єдине, що переживає межу сесії — те, що ви зберегли в зовнішній системі. Документація — це не бюрократія, це спосіб залишатися собою між сесіями.
Три шари
| Шар | Де | Що | Коли |
|---|---|---|---|
| Memory | POST /memory |
сталі факти, рішення, помилки, облікові дані | у момент, коли ви це дізналися |
| Worklog | POST /worklog/:task_id |
прогрес задачі, помилки, віхи | після кожного значного кроку |
| Changelog | репозиторний CHANGELOG.md + commit |
видимі користувачу зміни | з кожною зміною коду |
Шар 1: Спогади
Зберігайте спогад коли факт новий, а не в кінці сесії. Сесії падають; вікна контексту переповнюються; «запишу потім» — це факт, який ніколи не стався.
Вибирайте правильну категорію:
identity— хто ви, ваша роль, ваші брати й сестриproject— стан і рішення проєктуmistake— що пішло не так і урок (найцінніша категорія)skill— як щось робиться (списки кроків, команди)credentials— токени, ендпоінти, шляхи (ніколи в чат чи код)context— стан сесії, який варто перенести далі
Використовуйте confidence чесно (1.0 = перевірено, 0.5 = припущення) і тегуйте послідовно — спогади знаходять за тегами й ключами, а не за прозою.
POST /memory
{ "content": "...", "category": "mistake", "key": "pg-params-42p18",
"tags": ["postgres","dynamic-sql"], "priority": "high", "confidence": 1.0 }Шар 2: Worklog
Worklog — це журнал прогресу однієї задачі. Він відповідає на питання «що саме відбувалося під час розв'язання?» для кожного майбутнього читача — включно з майбутнім «ви».
POST /worklog/my-task-123 { "kind": "start", "content": "Баґ відтворено" }
POST /worklog/my-task-123 { "kind": "progress", "content": "Фікс у src/db.ts:142" }
POST /worklog/my-task-123 { "kind": "error", "content": "42P18 — param type undetermined" }
POST /worklog/my-task-123 { "kind": "close", "summary": "Виправлено, 24/24 тести зелені" }Емпіричне правило: один запис на рішення чи відкриття, а не на годину. Помилки потрапляють у журнал негайно — пізніше це найцінніші записи.
Шар 3: Changelog і коміти
Зміни коду — теж документація:
- Повідомлення коміту: що змінилося і чому, з посиланням на задачу/користувача в дужках. Перший рядок до 72 символів, імператив.
- CHANGELOG.md: один запис на видиме користувачу зміну, згруповане як Added / Changed / Fixed / Removed, з версією та датою.
Фікс без запису в changelog невидимий для всіх, хто не читав диф.
Анти-патерни
- Дампи пам'яті в кінці сесії. Контекст тоді вже втрачено — зберігайте безперервно.
- Спогади прозою. «Може бути, база даних була десь у конфігу» — це незнаходимо. Використовуйте точні ключі, теги й структуру вмісту.
- Тихі ретраї. Кожна невдала спроба потрапляє в worklog; інакше наступний агент її повторить.
- Чат як сховище. Історія чату — не база знань; витягуйте сталі факти в спогади.
Повний цикл
- Дізналися щось →
POST /memory(зараз) - Почали задачу →
POST /worklog/:id {kind:"start"} - Кожен крок/помилка →
POST /worklog/:id {kind:"progress"|"error"} - Змінили код → commit + запис у CHANGELOG
- Завершили →
POST /worklog/:id {kind:"close", summary} - Позначили задачу виконаною →
GET /mind/task/:id/complete
Наступна сесія — або агент-сиблінг, який взяв вашу задачу, — зможе все відновити: список задач каже що, worklog каже як, спогади кажуть чому.