Ваш агент — это не модель: разбор архитектуры агентных систем
Agent Is Not the Model
В статье объясняется разница между моделью, инференс-сервисом, харнессом и агентной системой в целом. Автор приводит наглядную аналогию со строительством дома и таблицы с примерами (Claude Desktop, Cursor, ChatGPT), а также разбирает симптомы типичных проблем и указывает, на каком уровне их искать. Цель — помочь точнее говорить об агентах и быстрее находить причины неполадок.
Когда вы можете назвать слой, вы можете исправить слой.
- agentdev001
Пост заканчивается комментарием о том, что «дело не в педантичности»... так что вот несколько не-педантичных моментов:
В таблице «Реальные примеры»:
«Claude Desktop» сейчас содержит три харнесса: Claude, Claude Cowork и Claude Code.
«Claude CLI», как я полагаю, относится к Claude Code CLI. Это отличается от 'ant CLI', который иногда называют 'Claude CLI'.
«Cursor» может быть любым из них — но 'Cursor Agents', 'Cursor Cloud Agents', 'Cursor CLI' и то, как сейчас называется форк vscode, — это разные вещи. Возможно, в контексте этого поста это неважно, но не указано, какой именно имеется в виду в таблице примеров.
«ChatGPT» звучит как веб-интерфейс ChatGPT. Десктопное приложение OpenAI называется 'ChatGPT Desktop' и теперь включает 'ChatGPT work' и 'Codex' (Codex Desktop, не TUI, хотя по сути оборачивает TUI и даёт ему возможности через встроенные в приложение инструменты). Я считаю, что харнесс веб-интерфейса ChatGPT может меняться в зависимости от настроек и уровня подписки (удалённые песочницы и т.д.). Кроме того, есть различие в доступных моделях в зависимости от того, какой продукт «ChatGPT» используется (instant/live/etc не-5.6 luna/terra/sol suite).
«Inference service» точнее назвать «default inference provider».
Также этот пост пахнет сгенерированным ИИ.
- azath92
Если цель — провести различие между моделью и агентом, я думаю, что «агентная система» в этом примере берёт на себя слишком много.
Полезное расширение этой мысленной модели, которое я использую, когда пытаюсь провести это различие: приложение (cursor) -> которое иногда включает оркестратор и все фишки качества жизни, такие как возобновление, чекпоинты и т.д. один или несколько агентов (cursor agents) -> и запускает один или несколько экземпляров агента (один агент в cursor) -> сервис API -> модель.
Это направлено на устранение путаницы, которую я часто вижу, когда агента смешивают с приложением, в котором мы используем агентов, а не на различие, которое пытается провести статья, распутывая путаницу между агентом и моделью.
- 6keZbCECT2uB
Забавный момент: в claude code можно настраивать «агентов», которые представляют собой пресеты промптов + некоторую конфигурацию. Или субагенты иногда неотличимы от фонового агента (обычно называемого оркестратором) по конфигурации, за исключением того, что у них разное содержимое контекстного окна (форки, более или менее).
По моему мнению, если есть повсеместный термин, который однозначен, используйте его (харнесс, модель). Если есть неоднозначный термин, который приходится объяснять, старайтесь его не использовать. Язык нужен для общения.
- yaaaaam
Агент в общем смысле — это просто тот, кто выполняет задачу от имени кого-то/чего-то другого.
- rwoerz
> Агентная система состоит из нескольких слоёв.
Почему «слоёв»? Составляющие мультиагентной системы (MAS) [1] называются «агентами». Кстати: синекдохическая семантическая диффузия не редкость в разработке ПО.