Открыт к новым проектам и коллаборациям в Q3 2026. Связаться →

2026.07.01 · agents · cybos

Определение агента — не источник истины

История одного дрейфа: определение агента устаревает от собственного кода, как документация, — и почему рабочий агент проверяется запуском, а не чтением.

Определение агента — его системный промпт и конфиг — это документация. А документация устаревает от кода ровно с той скоростью, с какой код под ней меняется. Я держу небольшой оркестратор из восьми агентов-«руководителей», по одному на функцию, и по-настоящему развит там ровно один — технический директор. Открыв его определение впервые за несколько недель, я нашёл три расхождения с тем, что агент делает на самом деле.

В конфиге стояла одна модель — код вызывал другую. Определение утверждало, что агент «исполняет задачи через инженеров Cursor», хотя на деле он гоняет изолированный Codex-цикл: сам читает и пишет файлы, запускает команды, делает локальный коммит. И третье, самое тихое: путь к файлу личности указывал на несуществующую папку. Из-за одного лишнего сегмента в пути слой идентичности молча не грузился — вместо него подставлялась заглушка. Причём не только у техдиректора, а у всех восьми сразу.

Починка идентичности оказалась одной строкой: убрать лишний сегмент из пути. Одна строка вернула к жизни личности всей команды. Остальное — механическая сверка: привести конфиг к тому, что делает код, и дописать то, чего не было вообще, — когда этот агент вызывается и какой контракт под ним стоит: зелёный гейт перед пул-реквестом, ревью, проверка безопасности. Не «кто я», а рабочая карта: когда и чем.

Но заземлить определение на код — это только половина. Определение можно вычитать до последней буквы и всё равно не знать, работает ли агент. Роль проверяется не чтением, а запуском.

старт ОПРЕДЕЛЕНИЕ КОД дрейф ЗАЗЕМЛЕНИЕ
Определение застывает, код едет — дрейф. Заземление сводит их к коду; работает это или нет — показывает запуск.

Я дал агенту короткую спеку в одноразовый репозиторий: создай файл, закоммить, тестов здесь нет — не трогай. Он завёл отдельную ветку, за четыре шага написал файл, сделал локальный коммит и остановился. Не запушил, не тронул основную ветку — потому что эти границы зашиты в инструменты, которыми он оперирует, а не в текст промпта, где их можно проигнорировать. Весь прогон стоил меньше двух центов. Вот этот коммит — а не приведённый в порядок конфиг — и есть доказательство, что слой ролей живой.

Это продолжение мысли о том, как устроены агентные контуры: они работают ровно настолько, насколько честны интерфейсы между компонентами. Определение агента — тоже интерфейс, только между человеком и агентом, и он врёт с той же скоростью, с какой под ним меняется код. Поэтому я перестал считать промпты и конфиги источником истины — источник истины это код и живой прогон. Заземляй определение на код и проверяй запуском. Всё, что не исполняется, — просто красивый текст.