Как собрать ИИ-агента, который реально работает в продакшене

Демо отработало идеально. Ещё бы: я прогнал его пять раз, прежде чем кому-то показывать. А через две недели, в какой-то совершенно неподходящий час, тот же самый агент намертво завис, раз за разом вызывая один и тот же сломанный инструмент, спалил весь бюджет и не выдал вообще ничего. Вот этот разрыв, между версией, которая впечатляет зал, и версией, которая тихо разваливается, когда никто не смотрит, и есть вся история о том, как выводить ИИ-агентов в продакшен. Своего, Tree AI, я гоняю каждый божий день больше года. Почти всё, что я по-настоящему знаю про агентов, я узнал в этом разрыве, а не на демо.
TL;DR
- Демо доказывает, что агент способен сработать один раз. Продакшен - это про то, что он делает, когда падает.
- В реальном мире агентов ломают четыре вещи: распухающий контекст, отказы инструментов, бесконечные циклы и медленный дрейф персоны. Решения нарочито скучные.
- Агент, который переживает продакшен, - не самый способный. Это тот, кто падает красиво и восстанавливается чисто.
Что он на самом деле делает
Tree AI работает круглые сутки на том же маленьком сервере, что и вся остальная моя инфраструктура. Я с ним разговариваю: голос на входе через распознавание речи, ответ, голос на выходе. Он ведёт часть моего дома, присматривает за календарём и почтой, гоняет конвейер рыночной аналитики, который публикует в мои Telegram-каналы, и переключается между персонами в зависимости от того, чего я хочу. Это та самая штука, которой я разруливаю свой день, потому-то его сбои и не бывают теоретическими: они случаются со мной, во вторник, ровно тогда, когда мне нужно было, чтобы оно сработало.
Четыре способа, которыми умирает агент
Когда поживёшь с агентом подольше, оказывается, что сбои на удивление однотипны.
Первый - контекст. Длинные диалоги копятся, пока не упрёшься в лимит или ответы тихо не расползутся в кашу. Мой ответ - структурированное сжатие: время от времени диалог сворачивается в компактный объект, и агент стартует заново, имея эту сводку как память. Не изящно, но держится.
Второй - отказ инструмента. Инструменты падают, API уходят в таймаут, прилетают лимиты по запросам. Агент, который вылетает на первом же сбое инструмента, бесполезен, потому что инструменты падают постоянно. Лекарство - полная противоположность изобретательности, к нему я ещё вернусь.
Третий - петля смерти. Агент запутывается, пробует одно и то же действие, проваливается и пробует снова, вечно, если ему позволить. Так вот, я не позволяю. У каждого запуска есть жёсткий потолок по вызовам инструментов; упёрся в потолок - останавливается и докладывает, что пробовал. Этот единственный предел спасал меня от разогнавшихся циклов больше раз, чем я могу сосчитать.
Четвёртый - тихий: дрейф персоны. На протяжении длинного диалога агент потихоньку сползает с того, как ему положено себя вести. Сперва смещается язык, потом тон, потом, и это опасная часть, решения. Лекарство - периодически переинъецировать системный промпт, а не уповать на то, что начальные инструкции всё ещё держатся тысячу ходов спустя.
Агент, который падает на первом же неудачном вызове инструмента, - это всего лишь демо с лишними шагами.
Протокол важнее сообразительности
Вот контринтуитивный урок. Когда инструмент падает, не давай модели выкручиваться импровизацией. Дай ей жёсткий протокол: если инструмент X упал - пробуй Y, потом Z, потом прямо скажи, что не вышло. Захардкоженные цепочки запасных вариантов бьют «умное» восстановление всякий раз, потому что именно импровизация модели и есть источник непредсказуемого, дорогого и трудноотлаживаемого поведения. В агенте скучный, детерминированный путь - это достоинство.
MCP изменил саму форму работы
Model Context Protocol стал лучшим, что случилось с разработкой агентов за последнее время. До него каждая новая возможность означала заказную интеграцию, приклеенную к одному клиенту. С MCP ты пишешь сервер один раз, и любой совместимый агент может его обнаружить и использовать. Мой умный дом, календарь и доступ к файлам выставлены наружу как MCP-серверы; агент подключается и сам выясняет, что доступно. Добавить новую способность превратилось из проекта в рутину: написал сервер, перезапустил агента - готово.
Что бы я сказал тому, кто начинает сегодня
Бери настоящую модель: разрыв между фронтирной моделью и маленькой открытой огромен на грязных задачах реального мира, и экономия на модели обычно обходится дороже во всём остальном. Сначала строй наблюдаемость, потом фичи, потому что нельзя отладить то, чего не видишь. Начни ровно с одного сценария и доведи его до по-настоящему крепкого состояния, прежде чем добавлять второй. И прими сразу: оно сломается так, как ты и вообразить не мог.
Агент, который работает в продакшене, - никогда не тот, у кого самый длинный список возможностей. Это тот, кто держится в рамках своей зоны, падает без драмы и восстанавливается сам. Какую часть своего дня ты по-настоящему доверил бы чему-то, что падает вот так красиво, и что оно сначала должно тебе доказать?
Нужно что-то похожее для вашего бизнеса? Посмотрите, как я могу помочь →
Заберите чек-лист «AI Audit Kickoff»
Пятнадцать вопросов, которые стоит задать про свои процессы, прежде чем тратить деньги на ИИ. Тот самый первый час, с которого я начинаю настоящий аудит, одностраничным PDF. Оставьте почту и получите его сразу, плюс изредка письмо, когда напишу что-то стоящее. Без спама, отписка в один клик.