Перейти к основному содержимому

Открытые фреймворки для ИИ-агентов

Продвинутый

Как только вы соберёте несколько агентов вручную, одна и та же обвязка появляется снова и снова: цикл, который вызывает модель, запускает запрошенный ею инструмент, возвращает результат обратно и останавливается, когда работа выполнена. Фреймворки для агентов упаковывают эту обвязку — плюс состояние, память и координацию нескольких агентов — так что вы пишете меньше связующего кода. Эта страница — устойчивая, нейтральная к провайдеру карта основных открытых вариантов, того, что они действительно дают, и того, как выбрать. Почти все они не зависят от модели: они работают с Claude, GPT, Gemini и локальными моделями с открытыми весами.

What you'll learn
  • Понять, что фреймворк для агентов даёт сверх самописного цикла — и чего он не даёт
  • Распознавать три архетипа: графы с состоянием, команды по ролям и минимальные циклы
  • Использовать воспроизводимую процедуру выбора — обменивая сложность на контроль
  • Помнить, что большинство из них не зависят от модели — фреймворк редко привязывает вас к одному провайдеру

Что фреймворк для агентов на самом деле вам даёт

Уберите брендинг, и фреймворк предлагает вам некоторое подмножество из четырёх вещей:

  • Оркестрация — управляющий цикл. Последовательные шаги, ветвления, повторы, циклы-до-готовности и (всё чаще) устойчивое выполнение, которое переживает сбой и возобновляется с места остановки.
  • Инструменты — стандартный способ объявить функцию, которую модель может вызвать, проверить её аргументы, запустить её и вернуть результат. Тот же цикл «опиши→вызови→выполни→верни», который вы уже знаете по использованию инструментов.
  • Память и состояние — место, где хранится история диалога, факты-заметки и извлечённые документы между ходами, чтобы агент не терял память между шагами.
  • Мультиагентность — шаблоны для нескольких специализированных агентов, передающих работу друг другу: супервизор, делегирующий исполнителям, или равноправные агенты, совместно решающие задачу. (Концептуально та же идея, что и субагенты в Claude Code.)

Фреймворк оправдан, когда иначе вам пришлось бы вручную писать и поддерживать все четыре компонента. Он не оправдан, когда ваша задача — «вызвать модель, запустить один-два инструмента, вернуть ответ»: там фреймворк — это накладные расходы, с которыми вы будете бороться.

Три архетипа

Фреймворки отличаются меньше, чем предполагает их маркетинг. По сути форм всего три, и большинство проектов — вариация на одну из них:

  • Граф / рабочий процесс с состоянием. Вы моделируете агента как явный граф узлов и рёбер (или шагов и переходов). Максимальный контроль, инспектируемое состояние, хорошо для долгих процессов и потоков с участием человека. Больше нужно изучить заранее. → LangGraph, LlamaIndex Workflows.
  • Команда по ролям. Вы описываете агентов по роли («исследователь», «писатель», «рецензент») и позволяете им сотрудничать или выполнять процесс. Быстро выразить мультиагентную команду; вы обмениваете часть тонкого контроля на высокоуровневую абстракцию. → CrewAI и диалоговый мультиагентный стиль AutoGen.
  • Минимальный цикл / мало абстракций. Тонкий слой поверх нативного вызова инструментов моделью, с передачами между несколькими агентами и почти без остального. Легко прочитать от начала до конца, легко отбросить. → OpenAI Agents SDK (продакшн-преемник экспериментального Swarm) и обычный цикл, который вы пишете сами.
Pro tip
  • Начинайте с самого простого, что работает — часто обычный цикл с вызовом инструментов побеждает тяжёлый фреймворк.

Краткий обзор (проверьте позиционирование, прежде чем брать на вооружение)

Это открытые проекты, которые стоит знать. Названы только потому, что реальный репозиторий каждого был проверен; всё изменчивое живёт за VerifyNote выше.

  • LangGraph — низкоуровневый фреймворк оркестрации для агентов с состоянием и долгим временем работы, смоделированных как графы; устойчивое выполнение и участие человека — первоклассные возможности. Используется автономно или с более широкой экосистемой LangChain. Не зависит от модели.
  • LlamaIndex — начинался как фреймворк для данных/RAG (коннекторы, индексы, извлечение), а теперь также поставляет событийно-ориентированный слой Workflows для агентов. Силён, когда ваш агент по сути — это извлечение по вашим документам.
  • Microsoft AutoGen — фреймворк для диалоговых мультиагентных систем. По состоянию на середину 2026 года он находится в режиме сопровождения; Microsoft направляет новые проекты к единому преемнику (Microsoft Agent Framework, объединяющему AutoGen + Semantic Kernel). Проверьте текущий статус, прежде чем начинать.
  • CrewAI — фреймворк на основе ролей: определяйте агентов по роли и цели, организуйте их в Crews (автономное сотрудничество) или Flows (событийно-ориентированное управление). Быстрый путь к мультиагентной команде.
  • OpenAI Agents SDK — намеренно лёгкий фреймворк с малым числом абстракций для мультиагентных рабочих процессов с передачами. Несмотря на название, он не зависит от провайдера (его документация отмечает поддержку 100+ LLM) и является готовым к продакшену преемником экспериментального Swarm.
  • Обычный цикл агента — вообще без фреймворка: ваш собственный цикл while вокруг нативного вызова инструментов моделью. Правильный выбор по умолчанию для простых агентов и то, что в конечном счёте оборачивает каждый фреймворк выше.

Как выбрать фреймворк

Guided walkthrough1 of 6
  1. Одно предложение о том, что делает агент, плюс то, о чём нельзя договориться: задержка, потолок стоимости, приватность данных, должны ли запуски переживать сбой и должен ли человек одобрять шаги.

То, что оборачивает каждый фреймворк

Прежде чем тянуться к любой библиотеке, полезно увидеть цикл, на котором все они построены. Это и есть вся идея — модель решает, вы выполняете, повторяете до готовности:

# Provider-neutral agent loop — the core every framework wraps.
# `model_call` and `run_tool` are yours; swap in Claude, GPT, Gemini, or a local model.

def agent_loop(task, tools, max_steps=10):
messages = [{"role": "user", "content": task}]

for _ in range(max_steps):
# 1. Ask the model what to do next (it sees the tool schemas).
response = model_call(messages, tools=tools)

# 2. No tool requested → the model is done. Return its answer.
if not response.tool_calls:
return response.text

# 3. Run each requested tool and feed results back in.
messages.append(response.as_message())
for call in response.tool_calls:
result = run_tool(call.name, call.arguments)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": result,
})

return "Stopped: hit max_steps without finishing."

Если вы можете это прочитать, вы понимаете, что делает под капотом каждый фреймворк на этой странице. Графы добавляют явное состояние и ветвление; команды добавляют роли и делегирование; минимальные SDK добавляют аккуратные передачи — но сердцебиение всегда этот цикл.

Минимальный системный промпт агента (в паре с циклом выше)

You are a task-completing agent with access to tools.

Loop:
1. Think briefly about the next single step toward the goal.
2. If a tool would help, call exactly ONE tool with valid arguments.
3. When you have enough to answer, stop calling tools and give the final answer.

Rules:
- Prefer the fewest tool calls that get the job done.
- If a tool fails, read the error and adjust — do not repeat the same call.
- Never invent tool results; use only what tools actually returned.
- If the goal is impossible with the available tools, say so and stop.

Goal: {one-sentence task}

Замечание о хайпе

Ни один фреймворк здесь не «лучший» — сам вопрос поставлен неправильно. Графовые фреймворки выигрывают в контроле и устойчивости; командные фреймворки выигрывают в быстром выражении команды; минимальные выигрывают в читаемости и низкой привязке; а обычный цикл выигрывает чаще, чем признают README фреймворков. Правильный выбор — наименьший инструмент, который делает ваш самый сложный шаг понятным. Как и при выборе модели, пусть решает ваша собственная задача, а не количество звёзд. Та же дисциплина, которую вы применили бы с оценками, применима и здесь: прототипируйте, измеряйте на реальных случаях, держите путь к отступлению.

Проверьте себя

0/3
  1. Ваш агент делает один вызов модели, запускает единственный инструмент поиска и возвращает ответ. Какая правильная точка старта?
  2. Вам нужен агент, который работает долго, должен переживать сбой и возобновляться и позволяет человеку одобрять определённые шаги. Какой архетип подходит лучше всего?
  3. Коллега говорит: «OpenAI Agents SDK означает, что мы привязаны к GPT». Это верно?
Фреймворки для агентов — ключевые идеи
Нажмите Enter или пробел, чтобы перевернуть карточку. Используйте стрелки влево и вправо для перехода между карточками.Показан термин.
1 / 6
Key takeaways
  • Фреймворк для агентов упаковывает оркестрацию, инструменты, память и координацию нескольких агентов — берите его на вооружение, только когда иначе вы бы строили все четыре сами.
  • Три архетипа покрывают поле: графы с состоянием (контроль/устойчивость), команды по ролям (быстрые команды) и минимальные циклы (читаемость, низкая привязка).
  • Почти все из них не зависят от модели — они работают на Claude, GPT, Gemini и локальных моделях; проверяйте по каждому проекту, а не предполагайте.
  • Ни один фреймворк не является универсально «лучшим»; выбирайте наименьший инструмент, который делает ВАШ самый сложный шаг понятным, и держите путь к отступлению.
  • Обычный цикл с вызовом инструментов — честный выбор по умолчанию, и это ровно то, что оборачивает каждый фреймворк.
  • Статус сопровождения меняется (например, AutoGen → преемник); подтвердите, что проект активно поддерживается, в его собственном репозитории, прежде чем брать на вооружение.

Источники и дополнительное чтение

Далее