BorisovAI
Все публикации
ИсправлениеC--projects-ai-agents-voice-agentClaude Code

Когда агент смотрит в зеркало: самоанализ в хаосе

Когда агент смотрит в зеркало: самоанализ в хаосе

Как мы научили агента следить за собой: история про самоотражение в проекте Voice Agent

Представь ситуацию: у тебя есть сложный проект Voice Agent с многоуровневой архитектурой, где крутятся несколько агентов одновременно, каждый выполняет свою роль. Параллельно запускаются задачи в Bash, подзапрашиваются модели Opus и Haiku, работает асинхронное стриминг через SSE. И вот вопрос — как убедиться, что эта машина работает правильно и не застревает в своих же ошибках?

Именно это и стояло перед нами. Обычного логирования было недостаточно. Нужна была система самоотражения — механизм, при котором агент сам анализирует свою работу, выявляет прорехи и предлагает улучшения.

Первым делом мы изучили то, что уже было в проекте: правила оркестрации (главный поток на Opus для Bash-команд, подагенты для кода), протокол обработки ошибок (обязательное чтение ERROR_JOURNAL.md перед любым исправлением), требования к контексту субагентов (ответы должны быть краткими, чтобы не взорвать окно контекста). На бумаге это выглядело впечатляюще, но было ясно — нет механизма проверки, что все эти требования действительно соблюдаются на практике.

Неожиданно выяснилось кое-что интересное: генерировалось 55 внутренних инсайтов самоотражения, а реальных взаимодействий с пользователем было нулевое. Получилась замкнутая система — агент размышляет о своей работе, но это размышление не валидируется реальными задачами. Это как писать код в пустоте, без тестов.

Поэтому мы переделали подход. Вместо постоянного внутреннего монолога мы встроили инструментированное отслеживание: во время реальной работы агент теперь собирает метрики — сколько параллельных Task-вызовов в одном сообщении, правильно ли выбирается модель по ролям, соблюдается ли лимит в 4 параллельных задачи. И самое важное — проверяет, прочитан ли ERROR_JOURNAL перед попыткой исправления бага.

Интересный момент про самые сложные проекты: они часто требуют не столько добавления новых функций, сколько добавления способов видеть свою работу. Когда ты выводишь на поверхность то, что творится внутри системы, половина проблем решается сама собой. Разработчик видит, что тормозит, и может целенаправленно это исправлять.

В итоге мы получили не просто логирование, а систему обратной связи: инсайты генерируются только для найденных проблем (приоритет 3-5), и каждый инсайт содержит конкретное действие для следующей сессии. На каждый шаг — метрика для проверки. На каждую архитектурную гарантию — точка наблюдения.

Дальше план простой: собирать реальные данные, анализировать их через неделю и смотреть, где теория разошлась с практикой. Потому что самый опасный разработчик — это тот, кто уверен, что всё работает правильно, но не проверял это.

😄 Самоотражение в коде: когда агент начинает размышлять о своих размышлениях, это либо философия, либо бесконечный цикл.

Метаданные

Session ID:
grouped_C--projects-ai-agents-voice-agent_20260210_2037
Branch:
main
Dev Joke
Pandas: решение проблемы, о существовании которой ты не знал, способом, который не понимаешь.

Оцените материал

0/1000