Самая сложная часть ИИ-агента — это обработка ошибок (unhappy path)
Большинство демо-версий ИИ-агентов показывают идеальный сценарий. Четкий вопрос приводит к аккуратному ответу. Все аплодируют.
Настоящая инженерия начинается там, где всё ломается.
Что происходит, когда API падает? Что происходит, когда агент уходит в бесконечный цикл и опустошает вашу кредитную карту? Что происходит, когда у агента нет данных, но он всё равно пишет отчет, который выглядит правдоподобно?
Я создал BioAgent, чтобы решить эти проблемы в геномике. Это автономный аналитик, который собирает данные, ищет в PubMed и пишет клинические отчеты.
Для его создания я использовал LangGraph и Claude. Вот чему я научился, проектируя систему с расчетом на сбои.
Ограничивайте каждый цикл У агента должен быть жесткий лимит попыток повтора. Если ваш агент вызывает платные API, бесконечный цикл — это финансовый риск. Лимит работает только в том случае, если вы увеличиваете счетчик на каждом шаге. Если вы забудете про эту одну строку кода, агент будет крутиться в цикле до тех пор, пока система не упадет.
Тестируйте сбои, а не успех «Счастливый путь» (happy path) всегда работает во время разработки. Вы должны принудительно вызывать сбои зависимостей во время тестирования. Пишите тесты, которые проверяют, что агент корректно снижает функциональность, а не уходит в цикл, когда API недоступен.
Предотвращайте уверенную бессмыслицу Самая большая опасность — это не падение системы. Опасность — это отчет, который выглядит профессионально, но содержит вымышленные данные. Не полагайтесь на инструкции в промптах, чтобы остановить галлюцинации. Используйте тесты, чтобы гарантировать, что агент никогда не выдумывает метрики.
Опирайтесь на факты Поиск (retrieval) полезен только тогда, когда текст доходит до автора. Я обнаружил, что передача только ID вместо полных аннотаций заставляла модель выдумывать релевантность. Вы должны передавать модели сам текст, чтобы отчет оставался основанным на фактах.
Правило в промпте — это надежда. Правило в тесте — это гарантия.
Проектируйте с учетом неудачных сценариев (unhappy path). Именно это имеет значение на самом деле.
Источник: https://dev.to/gbadedata/the-hardest-part-of-an-autonomous-ai-agent-is-the-unhappy-path-3p2c
Дополнительное сообщество: https://t.me/GyaanSetuAi
