Сейчас занимюсь изучением этой темы в том числе по работе, так что помыслил письмом в продолжение предыдущей заготовки на эту тему Развитие возможностей ИИ-агентов: MCP → навыки и получил следующее.
Для реализации универсального ИИ-агента ему нужно приделать внешний слой мышления. Подходы есть разные: ReAct, REPL, SGR agent core, Darwin Gödel Machine и т.д., появляются новые.
Идея во всех подходах примерно одна и та же: есть повторяющийся цикл [пере]планирования и выполнения шагов плана. В каждой итерации выполняется один запланированный шаг, оценка и корректировка плана при необходимости.
И так до тех пор, пока не будет достигнута цель или предел шагов.
Выполнение шагов может происходить:
- в LLM путём обработки запроса и результатов выполнения тулов
- и/или кодом в песочнице (тогда LLM пишет код, выполнение которого даёт результат данного шага).
Плюсы этого подхода:
- годится для решения широкого круга задач
- существенно увеличивает пользу, которую можно извлечь из неразмышляющей модели
- запросы к LLM короткие, подойдёт модель с маленьким контекстным окном
- внешний слой мышления можно оптимизировать и кастомизировать под сценарии использования без смены/переобучения модели. При этом эффект будет больше, чем от изменения системного промта
Минусы этого подхода:
- сложность реализации по сравнению с простым RAG-пайплайном
- нужна LLM с tool calling
- нужна более-менее соображающая LLM от 30B параметров
Skills
Как дать централизованному корпоративному агенту скиллы, пока точно не скажу – надо подумать и поэкспериментировать.
(Изначально предполагается их хранение прямо в файловой системе.)
Но либо через локальные инструменты, либо через MCP, либо ещё как-то точно можно.
Статья по теме: Как прокачать ИИ-агента без дообучения: Agent Skills / Хабр
Примеры
-
Реализация одного из подходов в виде общедоступного чат-бота: https://chat.sgr-core.com/
Он бесплатный, надо залогиниться с гуглоаккаунтом.
Можно посмотреть цепочку вызова инструментов в ходе выполнения запроса.
Работает на Qwen3 30B -
Ещё один, который запускается локально в докере, получает задание через скрипт, а результаты сохраняет файлом в локальной файловой системе: GitHub - Grigory-T/plan_repl_agent
Вызывает LLM через OpenRouter, поиск выполняет через Tavily.
Это первый чужой ИИ-агент, который с первого раза завёлся у меня и отлично работает.
P.S. Нельзя просто так взять и перестать мыслить письмом. Сразу публикации пару раз зашёл в опубликованную заготовку и дописал ![]()