До этого я рассказывал на Весенней экономической школе 🎓 про harness-архитектуру: как современный агент строится не только вокруг ReAct-цикла, но и опирается на инструменты для работы с файлами, память, песочницу для запуска кода и механизмы контроля. Так вот, профили — ровно про эту самую архитектуру, только с поправкой на конкретную LLM.
Идея вот в чём 💡 Даже в рамках одного семейства моделей официальные гайды по промптингу дают разные рекомендации. Поэтому ребята из LangChain предлагают пилить кастомные промпты под каждую модель, переименовывать тулзы (например, стандартный у Deep Agents
file_edit превращается в apply_patch — это уже пример для Codex), а заодно кастомизировать middleware.Подход к тому, как составляются профили, тоже понятный 🔬 Берут самые сложные задачи из бенчмарков, где харнесс из коробки не справляется, и под каждую модель аккуратно подбирают свой промпт, набор тулзов и middleware, опираясь на официальные гайды по промптингу. А дальше всё работает прозрачно для разработчика: при создании агента нужный профиль харнесса подтягивается автоматически в зависимости от выбранной модели 🎯
Пока в комплекте идут профили только для антропиков и Codex. В блоге, правда, приводят ещё пример с Gemini — и тут у меня лёгкое ощущение нейрослопа 🤔 В исходниках библиотеки никаких профилей под Gemini нет, плюс встречается команда
deepagents: uv add deepagents, которая в таком виде просто не выполнится. Похоже, пост сгенерировалили, но не вычитали как следует ✂️Любопытно, во что это всё вырастет 🌱 По сути, профили — это попытка зафиксировать «лучшие практики» работы с каждой моделью прямо в коде харнесса. Если идея взлетит, со временем у каждой популярной LLM будет свой канонический профиль, который не надо изобретать заново.