Модуль 1: Теоретический минимум по LLM
Свернуть1.1 LLM взглянем в суть
Введение в курс: авторский опыт, структура, проблемы LLM — галлюцинации, контекст, динамические промпты. Разберём, что такое LLM на самом деле, без мифов и маркетинга.
1.2 Что LLM может и не может
Универсальность LLM, ограничения весов, адаптация (LoRA), квантизация. Подбор модели и бенчмарки (MMMU_Pro, LiveCodeBench, MERA) — как оценить реальную способность модели решать ваши задачи.
1.3 Токены и контекст
Токенизация: компромисс между символами и словами, словарь, размерность. Контекстное окно — жёсткий лимит и квадратичная сложность Self-Attention. Lost in the Middle и как память устроена в LLM.
1.4 Как LLM исполняется и что для этого нужно
Режимы продуктивизации: встроенный vs Inference-сервер. Детальный разбор llama.cpp (Docker, сборка из исходников, кеширование промптов, Python-клиент) и vLLM (tensor parallelism, Python API). От ноутбука до production-кластера.
1.5 Практика по Inference серверам (HARD)
Hands-on: установка llama.cpp и vLLM через Docker, скачивание моделей с Hugging Face, запуск на CPU/GPU. curl-запросы к OpenAI-совместимому API, стриминг ответов, Python-клиент для inference.
1.6 Рассуждения (Reasoning)
Reasoning как трассировка цепочки размышления внутри модели. Нюансы: дорого, медленно, не всегда уместно. Когда reasoning полезен — офлайн-задачи, разработка промптов — и когда он не нужен.
Модуль 2: Базовые алгоритмы и подходы построения агентов
Свернуть2.1 Агенты взглянем в суть
Проблемы LLM в вакууме, динамические промпты, декомпозируемые vs недекомпозируемые задачи. Классификаторы (регулярки, ML, LLM) и сложности поддержки топологий — разводящий слой, реестр агентов.
2.2 Базовые абстракции для проектирования алгоритмов
Техники промптинга: Zero-Shot, Few-Shot. Роли (system/user/ai), долговременная память, хранилище диалогов. Фундаментальные паттерны, на которых строятся все агентные системы.
2.3 Практика: заготовим клиент для разбора алгоритмов главы
Создаёте LLMClient — рабочую основу для всех последующих экспериментов. Не учебный «Hello World», а инструмент, который можно адаптировать под реальные задачи.
2.4 CoT (Chain-of-Thought)
ZeroShot и FewShot CoT: пошаговое рассуждение перед финальным ответом. Python-реализация: cot_prompt, cot_solve, cot_solve_with_fewshot — когда работает, когда даёт обратный эффект.
2.5 Tree-Of-Thought (ToT)
Дерево рассуждений: BFS, DFS, бектрекинг. Генерация кандидатов, оценка, отбор веток. Python-реализация: ToTNode, ToTInterpreter — для задач, где нужен поиск и сравнение стратегий.
2.6 Re-Act (Reason + Act)
Цикл «мышление → действие → наблюдение». Объединение рассуждений и действий — паттерн, лежащий в основе большинства реальных AI-агентов: от поиска до управления API.
2.7 LATS (Language Agent Tree Search)
ToT + исполнение кода: генерация → исполнение → оценка. Python-песочница (subprocess, tempfile), LATSInterpreter. Когда оправдан и как реализовать без бесконечных циклов.
2.8 Структурный вывод и вызов функций
JSON/XML вывод, Function Calling: описание инструментов, JSON Schema, parallel tool calls. Специализированные модели (Functionary, Firefunction, Gorilla). Python-реализация: run_function_calling_loop.
2.9 Кодогенерация как инструмент мышления (PAL)
PAL: модель генерирует Python-код, код выполняется, результат используется. Преимущества и проблемы безопасности. FaaS-песочницы (OpenFaaS, Knative, OpenWhisk). Python-реализация: PALSystem.
2.10 MCP (Model Context Protocol)
Стандартизация Function Calling: архитектура Host/Client/Server, транспортные слои (STDIO, HTTP+SSE, Streamable HTTP), Tools/Resources/Prompts, OAuth 2.1. MCP в LangChain: MultiServerMCPClient.
2.11 Измерение и оценка качества агентской системы
Golden Set, Ragas фреймворк: Context Precision, Context Recall, Faithfulness, Answer Relevance. Синтетическая генерация тестов через Knowledge Graph (Simple/Multi-Hop/Comparative Query). Сквозная оценка: синтез → индексация → исполнение → сбор данных → оценка.
Модуль 3: Подходы построения мультиагентных систем
Свернуть3.1 Как сочетать множество агентов в одну систему
Chaining (линейный стиль): меньше галлюцинаций, контроль, экономия токенов. Оркестрация и разводящий слой: классификатор, реестр агентов. Рой (Swarm): децентрализация, гибкость, проблемы стоимости и отладки. Гибридный подход: Рой + Оркестратор-супервизор.
3.2 Последовательные цепочки на LangChain
LangChain: модель, шаблон промпта, память, инструменты, эмбеддинг. LCEL (LangChain Expression Language): оператор `|`. Практический пример: анализ новостей, тренды настроений. Агенты: SummarizerAgent, EmbeddingAgent, GraphManager, SemanticLinker, TrendJudge.
3.3 Разделение агентской системы по базовым функциям (MRKL)
MRKL: Reasoning, Knowledge, Language модули. Машина состояний (Finite State Machine). Цикл принятия решений: классификация → исполнение → генерация ответа. Python-реализация: MRKLSys.
3.4 Графы и машины состояния
LangGraph: State, Nodes, Edges. Checkpointer (MemorySaver, PostgreSQL, SQLite). Stream modes: values, updates, messages, custom, checkpoints, tasks, debug. Вложенные графы, прерывания, human-in-the-loop. Python-реализация: агент службы поддержки на LangGraph.
3.5 Целеориентированные топологии
Target-based архитектура: каталог целей вместо жёстких графов. Slot Filling: от NER к LLM + Instructor. Стек целей (Target Stack), Gap Analysis. Классификатор, Gap Agent, автозаполнение. Python-реализация: TargetPizza, TargetCoffee, TargetClassifier, GapAgent.
3.6 Безопасность в агентских системах (Guardrails)
Input Rails, Output Rails. Типы проверок: Regex, специализированные модели, LLM-as-a-Judge, Action Guardrails. NVIDIA NeMo Guardrails: Colang DSL. Guardrails.py: Pydantic-валидация, auto-reask. LangChain middleware, NeMo + LangGraph интеграция. Сравнение библиотек, trade-offs.
Модуль 4: Эффективное смешивание генерации с поиском (RAG)
Свернуть4.1 В чем смысл RAG
Проблема: ответы на основе реальных бизнес-данных. Retrieval, Augmented, Generation — расшифровка. Индексация, SEO для RAG, embedding, SERP. Почему просто «спросить у модели» не работает для бизнес-данных.
4.2 Общая архитектура системы класса RAG
Компоненты подготовки индекса и компоненты генерации ответов. Детальный разбор архитектуры: от скачивания документов и чанкинга до retrieval, reranking и финальной генерации с валидацией фактов. Solution-архитектура уровня продакшен-архитектора.
4.3 Измерение и оценка качества RAG системы
Синтетическая генерация тестовых данных через Knowledge Graph. Transformations: SummaryExtractor, HeadlineExtractor, EntityExtractor. Scenario Generation: Simple/Multi-Hop/Comparative Query. Сквозная оценка: синтез → индексация → исполнение → сбор данных → оценка. Метрики Ragas: Context Precision, Context Recall, Context Entities Recall, Noise Sensitivity, Answer Relevance, Faithfulness.
4.4 Алгоритмы оптимизации RAG системы
Чанкинг: фиксированный размер, Proposition Chunking, Semantic Chunking, Contextual Chunking. Оптимизация запросов: Multi-Query Retrieval, Sub-Query Decomposition, HyDE, HyPE. Контекст: Contextual Compression, Parent Document Retrieval. Продвинутый поиск: Fusion Retrieval (BM25 + векторы), Multi-faceted Filtering, Hierarchical Indices, Dartboard Retrieval (MMR).
4.5 Векторные хранилища Qdrant и Milvus
Qdrant (Rust) и Milvus: архитектура, лицензия Apache 2.0. HNSW индекс, сравнение подходов. Практическое применение в продакшене — когда достаточно одного, а когда нужно другое.
4.6 Более традиционные СУБД как векторные хранилища
pgvector: типы данных (vector, halfvec, sparsevec, bit), IVFFlat vs HNSW. OpenSearch: Lucene, Faiss, NMSLIB движки. Гибридный поиск: BM25 + векторы, RRF, Weighted Scoring. Search Pipeline, нормализация оценок. Python-реализация: OpenSearch hybrid query, pgvector hybrid search.
Модуль 5: Каналы и модальности
Свернуть5.1 Общие канальные архитектурные шаблоны агентской системы
Каналы: мессенджеры, корпоративные чаты, умные устройства, SIP-телефония, виджеты. Модальности: текст, голос, touch, асинхронные команды, мультимодальность. 5 шаблонов: отделить каналы от агентов, универсальный формат + anyData, хранить состояние отдельно (Redis), идентифицировать клиента, генерация сессий на стороне шлюза.
5.2 Архитектура агента под телефонию и голосовые ВА
Распознавание голосового ввода: ASR, VAD, споттер, EOU. Шумоподавление, диаризация. Реалтайм ASR: gRPC, квантование потока, оптимальные окна. Архитектура голосового агента — специфика задержек, распознавания речи, естественности диалога.
5.3 Архитектуры непрямого взаимодействия
Copilots: контекстная инъекция, Action Mapping. Event-driven агенты: реактивный фильтр, агент-мозг + RPA-руки. Встраивание агента в CRM/ERP/IDE. Playwright для Legacy-систем. Когда пользователь работает в привычном интерфейсе, а агент помогает «за кулисами».