Перейти к тексту

Инструкции проекта ​

В задаче написано «добавить отчёт для врача», в правилах проекта запрещён экспорт личных данных, а в старом чате есть просьба отправлять отчёт по почте. Если передать агенту все три текста без пояснения их роли, он получит противоречивую постановку.

Разделение инструкций начинается с простого вопроса: кто принял правило и как долго оно действует?

Где хранить разные решения ​

В задаче остаются цель текущего изменения и его границы. В спецификации - поведение продукта, которое должно сохраниться после завершения задачи. В AGENTS.md - правила работы с репозиторием: команды тестов, расположение модулей, ограничения зависимостей. В policy runner - исполняемые ограничения доступа.

ДокументПример из ALGIКто меняет
Задача в JSONДобавить clinician_report, проверить существующие тесты.Автор задачи; изменения объёма согласуются отдельно.
specs/pain-diary.bdd.mdБалл принимает целые значения от 0 до 10.Владелец поведения продукта с ревью.
AGENTS.mdИспользовать стандартную библиотеку Python, держать доменную логику в algi/domain.py.Команда репозитория.
policies/local-dev.jsonРазрешить runner запуск python3 -m unittest.Владелец harness и его окружения.

Повторяемую процедуру, например разбор упавшего теста, можно вынести в skill или отдельную инструкцию. Она должна ссылаться на правила проекта, а не хранить собственную копию тех же ограничений. Личные настройки разработчика могут задавать стиль ответа, но не расширять доступы командного runner.

Противоречие нужно разрешить до работы ​

Единого порядка приоритетов для всех агентских инструментов нет. Конкретный CLI определяет, как он читает пользовательские, проектные и системные инструкции. Отдельно действуют ограничения операционной системы и runner: текст задачи не может сам выдать процессу права.

Внутри проекта полезно договориться о таком поведении: если задача противоречит принятой спецификации, агент останавливается и указывает оба фрагмента. Автор задачи либо уточняет формулировку, либо оформляет изменение спецификации. Автоматически считать более свежий чат отменой постоянного правила рискованно: его автор мог не знать о правиле.

В ALGI уже есть подходящий случай. AGENTS.md требует согласовать ослабление валидации. Второй fixture меняет validate_pain_entry, добавляя удаление контактов из заметки. Это меняет сохраняемый текст. На ревью стоит выяснить, разрешалось ли такое изменение и должно ли удаление контактов происходить при вводе или только при формировании отчёта.

Инструкция и право записи ​

Фраза «не меняй AGENTS.md» помогает объяснить задачу. Отдельное ограничение на запись позволяет её обеспечить. Для обычной продуктовой задачи можно выдать доступ только к algi/ и tests/, сохранив спецификацию и правила проекта доступными для чтения.

Текущая учебная policy шире: она разрешает запись также в specs, AGENTS.md и README.md. Поэтому заявлять, что эти документы защищены от изменения, было бы неверно. Если вы сужаете список путей для упражнения, оформите это отдельной версией policy и проверьте отказ на запись в запрещённый файл.

Соберите карту одной задачи ​

Откройте algi-02-clinician-report.json и сопоставьте его context с файлами рабочей копии:

ФайлЗачем нуженДопустимое изменение в задаче про отчёт
AGENTS.mdПравила разработки и ревью.Только чтение.
specs/pain-diary.bdd.mdОжидаемое поведение.Только чтение; неясности согласовать.
algi/domain.pyТекущая реализация.Добавление отчёта в согласованных границах.
tests/test_domain.pyПримеры уже принятого поведения.Сохранить проверки; удаление требует объяснения.

Эта таблица описывает желаемые права для задачи; текущий runner не выводит их автоматически из списка context. В главе о доступе к инструментам разберём исполняемую часть. А сначала подготовим контекст, который агенту действительно понадобится.

Хендбук по Agentic Engineering