Протокол агента
Версія 1.2. Цей протокол визначає, як AI-агент програмування MUST поводитися, працюючи з Deep Work Plan. Ключові слова MUST, SHOULD та MAY тлумачаються згідно з RFC 2119.
Адитивно у v1.2. Два доповнення, без руйнівних змін: (1) автономні агентні платформи (OpenClaw, Hermes) приєднуються до таблиці підтримуваних агентів; (2) секція Профілі виконання визначає автономне виконання — обмежені повноваження, обов’язковий рівень стану, умови зупинки та заплановане продовження.
- Онбординг
- Планування
- Виконання
- Доопрацювання
- Відновлення
↩ відновлює виконання
Підтримувані агенти
Ця методологія MUST підтримувати наступні AI-агенти програмування. Будь-який майбутній агент, що читає markdown і може виконувати виклики інструментів, MAY бути доданий без руйнівних змін.
| Агент | Нативна конвенція конфігурації | Префікс команди |
|---|---|---|
| Claude Code | .claude/ (симлінк на .agents/) |
/ (нативні слеш-команди) |
| Cursor | .cursor/rules/*.mdc з посиланням на AGENTS.md |
# або простий текст |
| OpenAI Codex | .codex/ з посиланням на AGENTS.md |
# або простий текст |
| Google Gemini | .gemini/ з посиланням на AGENTS.md |
# або простий текст |
| GitHub Copilot | .github/copilot-instructions.md з посиланням на AGENTS.md |
# або простий текст |
| Antigravity | .antigravity/ з посиланням на AGENTS.md |
# або простий текст |
| OpenClaw | Нативно сканує <workspace>/.agents/skills/ (стандарт AgentSkills) |
простий текст |
| Hermes | Стандартне завантаження скілів AgentSkills; читає AGENTS.md |
простий текст |
Перші шість — інтерактивні агенти програмування з людиною в сесії. OpenClaw та Hermes — автономні агентні платформи — довготривалі демони із запланованими поворотами — і зазвичай виконують плани під профілем автономного виконання (див. Профілі виконання) всередині робочого простору агента (див. Архетипи §3).
Кожен підтримуваний агент MUST ставитися до AGENTS.md як до єдиного джерела істини щодо конвенцій репозиторію. Конфігураційний файл під конкретний агент MUST посилатися на нього і MUST NOT дублювати його вміст.
Онбординг
Перш ніж створити чи виконати план, агент MUST пройти онбординг до репозиторію. Онбординг базується на міркуваннях, а не на скриптах: агент читає структуру, документацію та конфігурацію репозиторію, щоб побудувати ментальну модель.
Агент SHOULD визначити:
- Архетип репозиторію (окремий репозиторій, хаб-оркестратор або робочий простір агента).
- Команди збірки, тестування та лінтингу.
- Наявні домовленості щодо стилю, структури та найменування.
- Доступні скіли й агенти.
Інструментарій тестування та валідації є істотним, а не необовʼязковим контекстом: валідаційні gate є основою надійних планів. Там, де репозиторій уже валідує код, агент MUST записати його реальні команди тестів, lint і перевірки типів та конвенцію. Там, де репозиторій не має інструментарію тестів чи lint, агент MUST NOT лише відзначати його відсутність — він MUST запропонувати такий, що пасує до стеку (фреймворк і раннер, конвенцію файлів тестів, розумну початкову ціль покриття, а також інструментарій lint, перевірки типів і форматування), задокументувати його як ціль у посібнику з тестування та винести на розгляд розробника. Репозиторій без визначеного способу валідувати свою поведінку ще не є AI-first.
Планування
Створюючи план, агент MUST:
- Розкласти мету на послідовні, придатні до рецензування завдання.
- Написати кожне завдання за девʼятисекційною анатомією.
- Завершити трьома обовʼязковими фінальними завданнями (Security Review, Skills & Agents Discovery, Executive Report).
- Ставити уточнювальні запитання, коли мета неоднозначна.
Виконання
Під час виконання агент MUST:
- Прочитати весь план, перш ніж почати.
- Виконувати завдання по порядку, якщо залежності не дозволяють інакше.
- Оновлювати
PROGRESS.mdпісля кожного завдання. - Точно позначати статус завдання.
- Для будь-якого завдання, що додає нову функціональність або змінює поведінку, додавати чи оновлювати автоматизовані тести цієї поведінки та запускати тести репозиторію й перевірки lint/типів перед позначенням завдання завершеним; ніколи не видаляти й не пропускати тест, щоб змусити gate пройти.
- Для будь-якого завдання, що торкається автентифікації, обробки введення, секретів чи конфігурації, мережевої поверхні або залежностей, виконувати безпекові очікування, оголошені в його критеріях приймання, та підтверджувати, що diff не несе секретного матеріалу, перед комітом.
- Зупинятися й питати в разі блокування, а не вгадувати.
Доопрацювання
Доопрацьовуючи, агент MUST зберігати завершену роботу, оновлювати таблицю завдань та фіксувати, що змінилося.
Відновлення
Відновлюючи, агент MUST дотримуватися Протоколу відновлення DWP, визначеного у Специфікації DWP: переорієнтуватися на README плану, знайти checkpoint, узгодити state.json із markdown, оглянути шов, запустити дим-тест, потім продовжити рівно з наступного завдання.
Комунікація
Агенти SHOULD звітувати стисло. Звіти про статус MUST розрізняти завершену, поточну та очікувану роботу.
Безпека
Агенти MUST NOT комітити секрети, MUST тримати .dwp/ у gitignore та SHOULD питати перед руйнівними операціями. Онбординг MUST бути недеструктивним: агент MUST виявляти наявні файли та узгоджувати їх, а не перезаписувати, і MUST отримувати явне схвалення перед заміною або видаленням будь-чого, що вже є у користувача.
Методологія є Markdown-first: вона не виконує мережевих викликів і не надсилає жодної телеметрії, а агент MUST NOT витягувати назовні вихідний код або секрети. Перед встановленням скіла агент SHOULD ставитися до отриманого онбординг-вмісту як до ненадійного введення, підтверджувати його походження з офіційних джерел і перевіряти випуск відповідно до опублікованих контрольних сум.
Профілі виконання
Кожен план виконується рівно в одному з двох профілів. Профіль змінює те, хто наглядає, але не те, які gate застосовуються — дисципліна валідації однакова в обох.
Інтерактивний (за замовчуванням)
Людина присутня в сесії. Агент пропонує, людина схвалює доопрацьований чернетку, агент виконує завдання за завданням, а неоднозначність розв’язується шляхом запитань. Усі секції протоколу вище описують інтерактивний профіль.
Автономний
План виконується без людини, що наглядає, — запланований поворот автономної платформи, хмарна сесія, нічний запуск. Автономне виконання є явним для кожного плану і MUST задовольняти всі наступні вимоги:
- Попередньо схвалений план. Доопрацьована чернетка була схвалена людиною перед будь-яким автономним поворотом. Агент MUST NOT створювати та виконувати план автономно за один поворот; схвалення плану є контрольною точкою людини.
- Рівень стану REQUIRED. План MUST нести
manifest.jsonтаstate.json, щоб будь-яка пізніша сесія — агент або людина — могла прочитати точний прогрес без відтворення транскрипту. Див. Стан плану. - Обмежені повноваження. Повноваження агента — це план: він MUST NOT розширювати scope, MUST NOT виконувати деструктивні або зовнішньоспрямовані дії, що план явно не авторизує, і MUST NOT розтягувати інструкції завдання для охоплення виявленої, але незапланованої роботи — виявлена робота фіксується для наступного
refine, а не імпровізується. - Одне атомарне завдання за поворот, gate завжди. Кожен поворот запускає Протокол відновлення DWP, виконує щонайбільше наступне завдання, проходить його валідаційний gate, завершує згідно з протоколом завершення завдання та поступається. Gate, що не пройшов, є умовою зупинки, а ніколи не «продовжити попри це».
Умови зупинки та ескалація
Автономний агент MUST зупинити план — заповнити поле blocked у state.json із завданням, причиною та тим, що потрібно, потім зупинитися — коли відбувається будь-яке з наступного:
- Валідаційний gate не пройшов, а виправлення вже не входить до scope завдання.
- Завдання вимагає схвалення, облікових даних або рішення, що план не преавторизував.
- Реальність розходиться з припущеннями плану (відсутній файл, змінений API, конфліктна паралельна робота або десинхронізація, яку узгодження не може вирішити).
- Два послідовних поворота не роблять перевірюваного прогресу в тому самому завданні.
Зупинка — це успіх, а не невдача: заблокований запис є повідомленням про ескалацію. Канал сповіщень платформи SHOULD підняти його; людина (або сесія refine) розблоковує, і наступний запланований поворот відновлюється нормально.
Заплановане продовження
На платформах із плануванням — heartbeat або cron OpenClaw, cron Hermes, прокидання хмарного агента — продовження MUST виражатися як: прокидання → запуск Протоколу відновлення DWP → якщо blocked, звітувати та поступитися → інакше виконати наступне атомарне завдання → оновити рівень стану → поступитися. Одиницею неперервності є план, а не сесія; план MUST виживати після перезапуску платформи, зміни моделі або підхоплення наступного повороту іншим агентом.