AI агенты -- это автономные системы на основе больших языковых моделей (LLM), способные самостоятельно планировать действия, использовать внешние инструменты и принимать решения для достижения поставленной цели. В отличие от обычных чат-ботов, агенты не просто генерируют текст -- они действуют: ищут информацию, вызывают API, пишут код и анализируют результаты.
В этой статье мы разберём архитектуру AI агентов, ключевые паттерны проектирования и создадим рабочего агента с нуля, используя OpenAI-совместимый API через ModelSwitch.
Как работает AI агент: архитектура и компоненты
Классический AI агент состоит из четырёх компонентов:
- LLM-ядро (Brain) -- языковая модель, принимающая решения на каждом шаге. GPT-4o, Claude 3.5, Gemini 2.0 -- любая модель с поддержкой function calling
- Инструменты (Tools) -- функции, которые агент может вызывать: поиск в интернете, выполнение кода, запросы к базам данных, вызовы API
- Память (Memory) -- краткосрочная (контекст диалога) и долгосрочная (векторная БД, файлы) для хранения накопленных знаний
- Планировщик (Planner) -- логика декомпозиции задачи на шаги и выбора инструмента на каждом шаге
Самый популярный паттерн -- ReAct (Reasoning + Acting): модель чередует шаги рассуждения (Thought) и действия (Action), анализируя результат (Observation) после каждого вызова инструмента.
Создаём первого агента: пошаговый туториал
Создадим агента-исследователя, который умеет искать информацию и отвечать на сложные вопросы. Используем Python и OpenAI SDK с ModelSwitch в качестве gateway.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.modelswitch.ru/v1",
api_key="msk_ваш_ключ"
)
# Определяем инструменты агента
tools = [
{
"type": "function",
"function": {
"name": "search_web",
"description": "Поиск информации в интернете",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Поисковый запрос"}
},
"required": ["query"]
}
}
},
{
"type": "function",
"function": {
"name": "calculate",
"description": "Выполнить математическое вычисление",
"parameters": {
"type": "object",
"properties": {
"expression": {"type": "string", "description": "Математическое выражение"}
},
"required": ["expression"]
}
}
}
]
def run_agent(user_query: str, max_steps: int = 5):
messages = [
{"role": "system", "content": "Ты AI-агент-исследователь. Используй инструменты для поиска информации и вычислений. Рассуждай пошагово."},
{"role": "user", "content": user_query}
]
for step in range(max_steps):
response = client.chat.completions.create(
model="gpt-4o", # или claude-3.5-sonnet
messages=messages,
tools=tools,
tool_choice="auto"
)
msg = response.choices[0].message
messages.append(msg)
if not msg.tool_calls:
return msg.content # Агент готов дать финальный ответ
for tool_call in msg.tool_calls:
result = execute_tool(tool_call.function.name,
json.loads(tool_call.function.arguments))
messages.append({
"role": "tool",
"tool_call_id": tool_call.id,
"content": json.dumps(result, ensure_ascii=False)
})
return messages[-1].content
Ключевой момент: агент работает в цикле -- на каждой итерации LLM решает, какой инструмент вызвать, или возвращает финальный ответ. ModelSwitch позволяет легко переключить модель-ядро: замените "gpt-4o" на "claude-3.5-sonnet" для сравнения качества агента на разных LLM.
Паттерны проектирования AI агентов
В 2025 году сформировались три основных архитектурных паттерна:
- Single-agent loop -- один агент с набором инструментов решает задачу последовательно. Подходит для простых сценариев: Q&A, поиск, summarization
- Multi-agent collaboration -- несколько специализированных агентов (кодер, ревьюер, тестер) взаимодействуют друг с другом. Подходит для сложных задач: разработка ПО, аналитика
- Hierarchical agents -- агент-оркестратор распределяет подзадачи между агентами-исполнителями. Подходит для enterprise-сценариев с чётким разделением ответственности
Фреймворки для построения агентов: LangChain/LangGraph, CrewAI, AutoGen, Semantic Kernel. Все они работают с OpenAI-совместимым API, поэтому ModelSwitch подключается без дополнительной настройки.
Лучшие практики и подводные камни
При создании AI агентов важно учитывать:
- Ограничивайте количество шагов -- без лимита агент может зациклиться, потратив бюджет. Ставьте
max_steps=10-20 - Используйте дешёвые модели для простых шагов -- маршрутизация через ModelSwitch позволяет направлять тривиальные вызовы на GPT-4o-mini, а сложные рассуждения -- на GPT-4o или Claude
- Логируйте каждый шаг -- для отладки и аудита сохраняйте всю цепочку Thought-Action-Observation
- Добавляйте guardrails -- валидируйте ответы инструментов, ограничивайте доступ к опасным операциям
- Тестируйте на edge cases -- агенты непредсказуемы; создавайте тест-кейсы с неоднозначными запросами
AI агенты -- это следующий эволюционный шаг после чат-ботов. С помощью ModelSwitch вы можете экспериментировать с разными моделями-ядрами, сравнивать их поведение в агентных сценариях и оптимизировать стоимость -- всё через единый API.