Практическое руководство построения Агентов ИИ

Потом еще свой код покажу, но он работает в версии 1.65, надо бы обновить.
Документ представляет собой руководство по разработке автономных систем (агентов) на базе языковых моделей (LLM). Основные темы:
Определение агентов: системы, выполняющие задачи от имени пользователя с высокой степенью автономии.
Ключевые компоненты: модели LLM, инструменты (API, функции), инструкции, защитные механизмы (guardrails).
Оркестрация: подходы к управлению агентами (одиночные и мультиагентные системы).
Guardrails: механизмы безопасности для контроля рисков.
Практические рекомендации: выбор моделей, проектирование инструментов, обработка исключений, интеграция с людьми.
Ниже не полный перевод. Раздел Guardrails очень интересный!
Практическое руководство по созданию агентов
Автор: OpenAI
---
Содержание
- Введение
- Что такое агент?
- Когда следует создавать агента?
- Основы проектирования агентов
- Выбор моделей
- Определение инструментов
- Конфигурация инструкций
- Оркестрация
- 8.1. Системы с одним агентом
- 8.2. Мультиагентные системы
- Защитные механизмы (Guardrails)
- Заключение
---
1. Введение
Крупные языковые модели (LLM) становятся всё более способными решать сложные многошаговые задачи. Достижения в области логических рассуждений, мультимодальности и использования инструментов открыли новую категорию систем на базе LLM — агентов.
Это руководство предназначено для продуктовых и инженерных команд, изучающих создание своих первых агентов. В нём собраны практические рекомендации, основанные на опыте внедрения агентов в различных проектах.
После прочтения вы узнаете:
- Как выбирать подходящие сценарии использования.
- Как проектировать логику агентов и управлять их взаимодействием.
- Как обеспечивать безопасность и предсказуемость работы.
---
2. Что такое агент?
Агенты — системы, которые самостоятельно выполняют задачи от имени пользователя.
Ключевые характеристики:
- Использование LLM
- Управление рабочими процессами.
- Корректировка действий при ошибках.
- Доступ к инструментам
- Взаимодействие с API, базами данных, внешними системами.
Примеры задач:
- Обработка запросов в службе поддержки.
- Бронирование ресторана.
- Генерация отчётов.
Не являются агентами:
- Простые чат-боты.
- Системы без управления рабочими процессами.
---
3. Когда следует создавать агента?
Агенты подходят для задач, где традиционные правила и детерминированные системы неэффективны.
Сценарии для внедрения:
Категория | Примеры задач |
Сложные решения | Одобрение возврата средств. |
Сложные правила | Проверка безопасности поставщиков. |
Неструктурированные данные | Анализ страховых случаев. |
Перед созданием агента:
- Убедитесь, что задача требует неоднозначных решений.
- Если задача простая, используйте детерминированные методы.
---
4. Основы проектирования агентов
Агент состоит из трёх компонентов:
Компонент | Описание |
Модель | LLM для логики и принятия решений. |
Инструменты | API, базы данных, внешние системы. |
Инструкции | Правила и ограничения поведения. |
Пример кода (Agents SDK):
weather_agent = Agent(
name="Weather agent",
instructions="Вы помощник, который отвечает на вопросы о погоде.",
tools=[get_weather],
)
---
5. Выбор моделей
Рекомендации:
- Начните с самой мощной модели для базового уровня производительности.
- Заменяйте её на более лёгкие модели, где это возможно.
Примеры задач:
- Простые запросы → Маленькие модели (например, `gpt-3.5`).
- Сложные решения → Мощные модели (например, `gpt-4`).
---
6. Определение инструментов
Инструменты расширяют возможности агентов через API.
Типы инструментов:
Тип | Примеры |
Данные | Запросы к CRM, чтение PDF. |
Действия | Отправка email, обновление CRM. |
Оркестрация | Агент возвратов, исследовательский агент. |
Пример кода:
search_agent = Agent(
name="Search agent",
instructions="Помогите пользователю искать в интернете.",
tools=[WebSearchTool(), save_results],
)
---
7. Конфигурация инструкций
Рекомендации:
- Используйте существующие документы (например, инструкции службы поддержки).
- Разбивайте задачи на шаги.
- Определяйте чёткие действия для каждого шага.
- Учитывайте крайние случаи.
Пример генерации инструкций:
prompt = """
Вы эксперт по созданию инструкций для агентов.
Преобразуйте документ в нумерованный список без неоднозначностей.
Документ: {{help_center_doc}}
"""
---
8. Оркестрация
8.1. Системы с одним агентом
- Один агент управляет всеми задачами.
- Простота внедрения и обслуживания.
Пример работы:
await Runner.run(agent, [UserMessage("Столица США?")])
8.2. Мультиагентные системы
- Менеджер-агент координирует специализированных агентов.
- Децентрализованные агенты передают задачи друг другу.
Пример менеджер-агента:
manager_agent = Agent(
name="Менеджер переводов",
tools=[spanish_agent, french_agent],
)
---
9. Защитные механизмы (Guardrails)
Цель: Предотвращение рисков (утечки данных, вредоносные запросы).
Типы защит:
- Классификатор релевантности → Фильтрация не относящихся к делу запросов.
- Фильтр PII → Защита персональных данных.
- Модерация → Блокировка вредоносного контента.
Пример кода:
@input_guardrail
async def churn_detection(ctx, input):
# Проверка риска оттока клиентов
...
---
10. Заключение
Ключевые принципы:
- Начинайте с простых агентов.
- Используйте защитные механизмы.
- Планируйте вмешательство человека для критических задач.
Агенты открывают новые возможности для автоматизации сложных рабочих процессов.
OpenAI — компания, занимающаяся разработкой ИИ. Наша миссия — обеспечить, чтобы искусственный интеллект приносил пользу человечеству.