Переосмысление агентов
Предыдущие выводы про MCP натолкнули на совсем крамольные мысли.
Обычно агенты в проде работают по фиксированной схеме: вот набор тулов (RAG, вызов оператора и прочие), вот промпт. На этом всё. Агент собирает контекст, как-то переваривает данные и выдаёт результат. Если данные представляют собой структурированную информацию (таблицы, числа), то вероятность ошибки очень высокая: агент может неправильно что-то просуммировать, агрегировать и т.д.
Локальные агенты решают это с помощью скриптов. Они обрабатывают данные не напрямую, а пишут скрипт с нужным представлением. В итоге задача «определи выручку за сентябрь» превращается в «напиши скрипт, который просуммирует все транзакции за заданный период, запусти его и выведи результат пользователю».
А что, если дать агенту возможность в рантайме писать код и подтягивать нужные зависимости? Сразу же возникают вопросы. А как же изоляция? А как запускать их? Придётся под каждую сессию поднимать отдельный контейнер? Это же сколько ресурсов нужно...
Но такой подход обеспечивает гибкость работы агентов. Сильно снижается объём внедрения, так как агент может в рантайме работать с интеграциями. По сути, мы получаем полноценный облачный агент, который может работать без инициативы пользователя. Полноценная агентность, a.k.a. нейросотрудник.
Большой вопрос только в безопасности и эксплуатации. Когда я начал копаться в этом глубже, я нашёл проекты, которые идут в ту же сторону:
1) https://github.com/google/ax
2) https://github.com/agent-substrate/substrate
Мы сейчас у себя их тестируем, скоро расскажем подробности.
#александр_опрышко
Предыдущие выводы про MCP натолкнули на совсем крамольные мысли.
Обычно агенты в проде работают по фиксированной схеме: вот набор тулов (RAG, вызов оператора и прочие), вот промпт. На этом всё. Агент собирает контекст, как-то переваривает данные и выдаёт результат. Если данные представляют собой структурированную информацию (таблицы, числа), то вероятность ошибки очень высокая: агент может неправильно что-то просуммировать, агрегировать и т.д.
Локальные агенты решают это с помощью скриптов. Они обрабатывают данные не напрямую, а пишут скрипт с нужным представлением. В итоге задача «определи выручку за сентябрь» превращается в «напиши скрипт, который просуммирует все транзакции за заданный период, запусти его и выведи результат пользователю».
А что, если дать агенту возможность в рантайме писать код и подтягивать нужные зависимости? Сразу же возникают вопросы. А как же изоляция? А как запускать их? Придётся под каждую сессию поднимать отдельный контейнер? Это же сколько ресурсов нужно...
Но такой подход обеспечивает гибкость работы агентов. Сильно снижается объём внедрения, так как агент может в рантайме работать с интеграциями. По сути, мы получаем полноценный облачный агент, который может работать без инициативы пользователя. Полноценная агентность, a.k.a. нейросотрудник.
Большой вопрос только в безопасности и эксплуатации. Когда я начал копаться в этом глубже, я нашёл проекты, которые идут в ту же сторону:
1) https://github.com/google/ax
2) https://github.com/agent-substrate/substrate
Мы сейчас у себя их тестируем, скоро расскажем подробности.
#александр_опрышко