Перейти к содержанию

Проектирование Автономных AI Агентов

Для программистов, желающих строить промышленные AI-агенты


Оглавление

Часть I: Основы

Часть II: Practice-first (собрать агента)

Часть III: Архитектура и Runtime Core

  • 09. Анатомия Агента — Memory, Tools, Planning, Runtime
  • 10. Planning и Workflow-паттерны — Plan→Execute, Plan-and-Revise, декомпозиция задач, DAG/workflow, условия остановки
  • 11. State Management — Идемпотентность инструментов, retries с экспоненциальным backoff, дедлайны, persist state, возобновление задач
  • 12. Системы Памяти Агента — Два горизонта памяти (рабочая в Run vs долгосрочная между сессиями), линейная история как иммутабельный лог, prompt cache и почему system prompt стабилен, compact vs condense vs recall, опциональная блочная память
  • 13. Context Engineering — Стабильный системный префикс, единый порог и одна реакция (condense с лимитом 1/Run), usage.PromptTokens как первичный источник, ошибки оверинжиниринга (LayeredContext, скоринг сообщений, динамический system prompt)
  • 14. Экосистема и Фреймворки — Выбор между собственным runtime и фреймворками, portability, избежание vendor lock-in

Часть IV: Практика (кейсы/практики)

Часть V: Инфраструктура/безопасность платформы

Часть VI: Прод-готовность

  • 19. Observability и Tracing — Структурированное логирование, трейсинг agent runs и tool calls, метрики, кореляция логов
  • 20. Cost & Latency Engineering — Бюджеты токенов, лимиты итераций, кэширование, fallback-модели, батчинг, таймауты
  • 21. Workflow и State Management в продакшене — Очереди и асинхронность, масштабирование, распределённое состояние
  • 22. Prompt и Program Management — Версионирование промптов, промпт-регрессии через evals, конфиги и feature flags, A/B тестинг
  • 23. Evals в CI/CD — Quality gates в CI/CD, версионирование датасетов, обработка flaky-кейсов, тесты на безопасность
  • 24. Data и Privacy — Обнаружение и маскирование PII, защита секретов, redaction логов, хранение и TTL логов
  • 25. Индекс Прод-готовности — Руководство по приоритизации (1 день / 1–2 недели) и быстрые ссылки на прод-темы

Приложения


Маршрут чтения

Для начинающих (рекомендуемый путь — practice-first)

  1. Начните с Предисловия — что такое агент, уравнение Brain + Tools + Memory + Planning, и обязательно раздел «Ментальная модель: агент — это новый сотрудник». Без неё security-главы будут читаться как «специальная LLM-машинерия» вместо «здравый смысл, который вы уже знаете».
  2. Изучите Физику LLM — фундамент для понимания всего остального
  3. Освойте Промптинг — это основа работы с агентами
  4. Соберите работающего агента:
  5. Расширьте возможности:
  6. Углубитесь в архитектуру:
  7. Практикуйтесь: Проходите лабораторные работы параллельно с чтением глав

Для опытных программистов

Можете пропустить базовые главы и сразу перейти к:

Быстрый трек: Основные концепции за 10 минут

Если вы опытный разработчик и хотите быстро понять суть:

  1. Что такое агент?

    • Агент = LLM + Tools + Memory + Planning
    • LLM — это "мозг", который принимает решения
    • Tools — это "руки", которые выполняют действия
    • Memory — это история и долговременное хранилище
    • Planning — это способность разбить задачу на шаги
  2. Ментальная модель (важнее, чем вам сейчас кажется):

    • Агент — это новый сотрудник на испытательном сроке, не «новый софт».
    • Доступы по роли, апрув для опасного, audit log, постепенное расширение доверия — то же самое, что для человека.
    • Четыре асимметрии (где модель «как с человеком» ломается): скорость в 1000× быстрее, параллелизм, отсутствие чувства последствий, prompt injection как социальная инженерия.
    • Подробно: Предисловие → Ментальная модель.
  3. Как работает цикл агента?

    While (задача не решена):
      1. Отправить историю в LLM
      2. Получить ответ (текст или tool_call)
      3. Если tool_call → выполнить инструмент → добавить результат в историю → повторить
      4. Если текст → показать пользователю и остановиться
    

  4. Ключевые моменты:

    • LLM не выполняет код. Она генерирует JSON с запросом на выполнение.
    • Runtime (ваш код) выполняет реальные функции Go.
    • LLM не "помнит" прошлое. Она видит его в messages[], который собирает Runtime.
    • Temperature = 0 для детерминированного поведения агентов.
    • История — иммутабельный лог, system prompt стабилен между итерациями (иначе теряется prompt cache, см. гл. 12, гл. 13).
    • Число токенов берите из usage.PromptTokens ответа провайдера, не из своих счётчиков.
  5. Минимальный пример:

    // 1. Определяем инструмент
    tools := []openai.Tool{{
        Function: &openai.FunctionDefinition{
            Name: "check_status",
            Description: "Check server status",
        },
    }}
    
    // 2. Запрос к модели
    resp, _ := client.CreateChatCompletion(ctx, openai.ChatCompletionRequest{
        Model: "gpt-4o-mini",
        Messages: []openai.ChatCompletionMessage{
            {Role: "system", Content: "Ты DevOps инженер"},
            {Role: "user", Content: "Проверь статус сервера"},
        },
        Tools: tools,
    })
    
    // 3. Проверяем tool_call
    if len(resp.Choices[0].Message.ToolCalls) > 0 {
        // 4. Выполняем инструмент (Runtime)
        result := checkStatus()
        // 5. Добавляем результат в историю
        messages = append(messages, openai.ChatCompletionMessage{
            Role: "tool",
            Content: result,
        })
        // 6. Отправляем обновленную историю обратно в модель
    }
    

  6. Что читать дальше:

После завершения основного курса

После изучения глав 1-16 переходите к:


Связь с лабораторными работами

Глава руководства Соответствующие лабораторные работы
01. Физика LLM Lab 00 (Capability Check)
02. Промптинг Lab 01 (Basics)
03. Инструменты Lab 02 (Tools), Lab 03 (Architecture)
04. Автономность Lab 04 (Autonomy)
05. Безопасность Lab 05 (Human-in-the-Loop)
02. Промптинг (SOP) Lab 06 (Incident)
06. RAG Lab 07 (RAG)
07. Multi-Agent Lab 08 (Multi-Agent)
09. Анатомия Агента Lab 01 (Basics), Lab 09 (Context Optimization)
10. Planning и Workflow-паттерны Lab 10 (Planning & Workflow)
11. State Management Lab 10 (Planning & Workflow) — частично
12. Системы Памяти Агента, 13. Context Engineering Lab 11 (Memory & Context Engineering)
18. Протоколы Инструментов и Tool Servers Lab 12 (Tool Server Protocol), Lab 13 (Tool Retrieval & Pipelines) — Опционально
17. Security и Governance — (читается как теория-капстоун; практику безопасности встроена в Lab 02 / Lab 05 / Lab 12)
22. Prompt и Program Management Lab 01 (Basics) — частично

Как пользоваться руководством

  1. Читайте последовательно — каждая глава опирается на предыдущие
  2. Практикуйтесь параллельно — после каждой главы выполняйте соответствующую лабораторную работу
  3. Используйте как справочник — возвращайтесь к нужным разделам при работе над проектами
  4. Изучайте примеры — в каждой главе есть примеры из разных доменов (DevOps, Support, Data, Security, Product)
  5. Выполняйте упражнения — мини-упражнения в каждой главе помогают закрепить материал
  6. Проверяйте себя — используйте чек-листы для самопроверки

Удачного обучения.