509 lines
50 KiB
Markdown
509 lines
50 KiB
Markdown
# РЕЗЮМЕ: ОТ СЛОВ К ПРАКТИКЕ
|
||
|
||
---
|
||
|
||
В 2020 году GPT-3 ошеломил мир: модель генерировала связный текст, писала код, отвечала на вопросы — и никто толком не понимал, как ей управлять. Промпты были заклинаниями, результаты — лотереей, а best practice сводились к «попробуй переформулировать». За пять лет индустрия прошла путь от восторженных демо до production-систем, обрабатывающих миллионы запросов. Chain-of-Thought стал стандартом, появились агентные архитектуры, протоколы интеграции инструментов, reasoning-mode, гибриды, open-weight frontier-модели и новая экономика inference. Чёрный ящик не стал прозрачным — но мы научились строить вокруг него надёжную инженерию. Эта книга — попытка собрать в одном месте всё, что мы знаем на апрель 2026 года о том, как это делать правильно.
|
||
|
||
---
|
||
|
||
## Девять принципов LLM-инженерии
|
||
|
||
### 1. Понимай механику
|
||
|
||
Модель — не чёрный ящик. Это авторегрессионный предсказатель следующего токена, построенный из чётко определённых компонентов:
|
||
|
||
- **Токенизация** ([Глава 1](01_tokens_vectors_and_semantic_space.md)): BPE/SentencePiece разбивает текст на субсловные единицы. Русский → в 1.5–2× больше токенов, чем английский. Границы токенов влияют на «понимание» — модель не видит слова, она видит фрагменты.
|
||
- **Embeddings** ([Глава 1](01_tokens_vectors_and_semantic_space.md)): каждый токен → вектор в d_model-мерном пространстве. Семантически близкие понятия → близкие векторы. Это позволяет модели «обобщать», но и создаёт ложные сходства (галлюцинации по аналогии).
|
||
- **Self-Attention** ([Глава 2](02_where_knowledge_lives_in_the_model.md)): механизм сравнивает query текущего токена с keys предыдущих токенов, нормализует веса через softmax и смешивает values. Каузальная маска запрещает заглядывать вперёд.
|
||
- **MLP** ([Глава 2](02_where_knowledge_lives_in_the_model.md)): feed-forward слои хранят ассоциативные знания как key-value memories (Geva et al., 2021). Knowledge neurons кодируют факты.
|
||
- **RoPE** ([Глава 4](04_causal_reading_and_the_power_of_the_first_frame.md)): Rotary Position Embedding кодирует позицию через вращение в комплексном пространстве. Затухание attention с расстоянием → основа для длинного контекста.
|
||
|
||
**Зачем**: когда вы понимаете, что модель — статистическая машина, вы перестаёте ждать от неё чуда и начинаете проектировать системы, компенсирующие её ограничения.
|
||
|
||
---
|
||
|
||
### 2. Проектируй протоколы
|
||
|
||
Промпт — это не просьба, а **контракт** ([Глава 6](06_prompt_is_a_protocol.md)). Он определяет роль, формат, источники, ограничения.
|
||
|
||
- **Структура**: `<role>` → `<context>` → `<rules>` → `<format>` → `<input>`
|
||
- **Structured outputs**: JSON Schema, function calling, Outlines/Guidance для гарантий формата ([Глава 6](06_prompt_is_a_protocol.md))
|
||
- **XML-разметка**: теги как семантический экзоскелет, предотвращающий интерференцию между секциями ([Глава 7](07_markup_tags_and_prompt_architecture.md))
|
||
- **Repository semantic anchors**: парные `[DEF]...[/DEF]` или эквивалентные headers для кода; ценность в стабильной структуре, а не в «магическом» синтаксисе ([Глава 16](16_code_architecture.md))
|
||
- **Каузальный порядок**: порядок подачи информации в промпте влияет на результат (primacy/recency effect, [Глава 4](04_causal_reading_and_the_power_of_the_first_frame.md))
|
||
|
||
**Зачем**: протокол обеспечивает **воспроизводимость**. Один и тот же промпт → один и тот же формат результата → автоматическая обработка downstream.
|
||
|
||
---
|
||
|
||
### 3. Разделяй роли
|
||
|
||
Один LLM-вызов не должен одновременно планировать, исполнять и проверять ([Глава 10](10_agent_not_chat.md)).
|
||
|
||
- **Planner**: декомпозирует задачу на план (что делать и в каком порядке)
|
||
- **Executor**: выполняет шаги, делегируя инструментам, что можно делегировать
|
||
- **Verifier**: проверяет результат (CoVe, программная валидация, human-in-the-loop)
|
||
- **Orchestrator**: управляет циклом, логирует, отслеживает бюджет
|
||
|
||
| Антипаттерн | Проблема | Решение |
|
||
|-------------|----------|---------|
|
||
| Один промпт для всего | Модель сама решает, что проверять | Раздельные роли |
|
||
| Agent без верификатора | Галлюцинации пропускаются | Verifier после каждого шага |
|
||
| Planner = Executor | План неявный, нет audit trail | Явный план → логируемые шаги |
|
||
|
||
---
|
||
|
||
### 4. Выноси состояние
|
||
|
||
Attention — не память ([Глава 5](05_long_context.md), [Глава 10](10_agent_not_chat.md)). Context window — это рабочий стол, а не архив.
|
||
|
||
- **Проблема**: Lost in the Middle (Liu et al., 2023) — U-образная кривая запоминания. Модель хорошо помнит начало и конец, но теряет середину.
|
||
- **Проблема**: attention dilution — чем длиннее контекст, тем менее «внимательна» модель к каждому фрагменту.
|
||
- **Решение**: Трёхуровневая память ([Глава 10](10_agent_not_chat.md)):
|
||
- **Working memory**: текущий контекст (промпт)
|
||
- **Short-term memory**: файлы сессии, кеш инструментов
|
||
- **Long-term memory**: RAG (векторная БД), GraphRAG, persistent storage
|
||
|
||
**Зачем**: агент, хранящий всю историю в контексте, деградирует с каждым шагом. Агент с внешней памятью масштабируется.
|
||
|
||
---
|
||
|
||
### 5. Делегируй вычисления
|
||
|
||
Модель не калькулятор и не поисковик ([Глава 11](11_tools.md)). LLM good at: reasoning, generation, classification. LLM bad at: arithmetic, data retrieval, real-time information.
|
||
|
||
- **Code Interpreter**: для вычислений → сгенерировать код → выполнить → вернуть результат (PAL, Gao et al., 2023)
|
||
- **SQL/API tools**: для данных → Text2SQL → выполнить → вернуть результат
|
||
- **Search tools**: для актуальной информации → RAG → retrieved chunks → LLM synthesis
|
||
- **Мультимодальные инструменты**: vision, audio, video — делегируй обработку специализированным моделям и пайплайнам ([Глава 18](18_multimodal_systems.md))
|
||
- **Mainstream tech**: делегируй инструментам, в которых модель надёжна (Python, SQL, JSON), а не экзотическим ([Глава 11](11_tools.md))
|
||
|
||
---
|
||
|
||
### 6. Логируй, верифицируй и измеряй
|
||
|
||
Без логов LLM-система — чёрный ящик ([Глава 13](13_anti_hallucination_loop.md), [Глава 17](17_observability_and_operations.md)).
|
||
|
||
- **LDD (Log-Driven Development)**: каждый LLM-вызов → лог (prompt hash, model, tokens, latency, response summary)
|
||
- **Typed decision traces**: `reason / explore / reflect` полезнее сырого CoT-дампа; их можно привязывать к span'ам и checkpoint'ам ([Глава 17](17_observability_and_operations.md))
|
||
- **CoVe (Chain-of-Verification)**: Generate → Plan questions → Execute independently → Final verified answer (Dhuliawala et al., 2023)
|
||
- **Anti-Loop**: детекция вербальных, инструментальных и осцилляционных зацикливаний. `max_iterations` на каждый контур. Exponential backoff.
|
||
- **Guardrails**: входные (блокировать injection, off-topic, PII) + выходные (schema validation, confidence threshold, blocklist)
|
||
- **Evals** ([Глава 14](14_llm_system_quality_evaluation.md)): golden sets, LLM-as-Judge, regression gates. Без систематической оценки невозможно отличить улучшение от деградации.
|
||
- **Безопасность** ([Глава 15](15_llm_system_security.md)): prompt injection, jailbreaks, red-teaming, tenant isolation. Безопасность — не feature, а свойство архитектуры.
|
||
|
||
---
|
||
|
||
### 7. Пиши AI-friendly код
|
||
|
||
Код, который модель легко понимает и модифицирует ([Глава 16](16_code_architecture.md)):
|
||
|
||
- **Модули < 100 строк**: вмещаются в один промпт целиком
|
||
- **Контракты**: типы + docstrings + pre/post-conditions = семантические якоря
|
||
- **Layered context**: overview/intent -> AST/dataflow -> raw code -> tests ([Глава 16](16_code_architecture.md))
|
||
- **Decision memory**: `@RATIONALE` и `@REJECTED` на risky-модулях уменьшают вероятность агентных регрессий
|
||
- **Zero-Context Survival**: код работает и понятен без оригинального промпта
|
||
- **Small Simple Blocks**: линейный код > переинжиниренный DRY. WET до 3-х повторений.
|
||
- **Явные зависимости**: через аргументы, не через globals
|
||
|
||
---
|
||
|
||
### 8. Внедряй постепенно
|
||
|
||
Не big bang, а step-by-step ([Глава 23](23_getting_started.md)):
|
||
|
||
1. **Ассистент** → человек проверяет каждый ответ
|
||
2. **Автоматизация** → повторяемые задачи на автопилоте, edge cases → человеку
|
||
3. **Контуры** → Plan + Execute + Verify + Log
|
||
4. **Масштабирование** → мониторинг, алерты, A/B-тесты, бюджетные лимиты
|
||
5. **Дообучение** → если промптинг достиг потолка — SFT, DPO, GRPO ([Глава 19](19_fine_tuning_and_post_training.md))
|
||
|
||
**Метрики**: accuracy, hallucination rate, fallback rate, latency, cost per request. Если не измеряешь — не контролируешь.
|
||
|
||
---
|
||
|
||
### 9. Учитывай гибридные архитектуры и эффективность
|
||
|
||
Transformer — не единственная архитектура. В 2023–2026 годах появились **State Space Models** (Mamba, Gu & Dao, 2023), гибридные модели и зрелые MoE-системы. Публично описанные архитектуры вроде **Jamba/Jamba2** показали, что attention, SSM и MoE можно комбинировать в одной системе.
|
||
|
||
- **SSM (State Space Models)**: линейная сложность по длине последовательности, эффективное обучение на длинных документах
|
||
- **Гибриды**: Jamba/Jamba2 чередуют слои Transformer (хорошее in-context learning) и Mamba (эффективная обработка длинного контекста)
|
||
- **Test-time compute scaling** (Snell et al., 2024): качество рассуждений можно повышать, выделяя модели больше вычислений на этапе инференса (больше шагов thinking, self-consistency, beam search по цепочкам рассуждений)
|
||
- **Serving и runtime** ([Глава 21](21_serving_and_runtime_of_llm_systems.md)): KV-кэш, PagedAttention, speculative decoding, batching — архитектура inference pipeline напрямую влияет на latency и cost
|
||
- **Durable orchestration** ([Глава 22](22_durable_orchestration_and_agent_lifecycle.md)): для долгоживущих агентов — checkpointing, компенсация, управление жизненным циклом
|
||
- **Практический вывод**: выбирайте архитектуру под задачу. Transformer остаётся базой. SSM и гибриды важны там, где long-context economics начинает доминировать. Test-time compute нужен там, где цена ошибки выше, чем цена дополнительного inference. Систематический каталог всех паттернов — в [Главе 20](20_llm_application_design_patterns.md).
|
||
|
||
**Зачем**: инженер, знакомый только с Transformer, ограничен в выборе инструментов. Понимание альтернатив позволяет проектировать системы, оптимальные по cost/quality/latency.
|
||
|
||
---
|
||
|
||
## Одна формула
|
||
|
||
Если нужен один ориентир, то он такой: качество LLM-системы сильнее зависит от архитектуры, протоколов, верификации и test-time compute, чем от голого размера модели.
|
||
|
||
GPT-5.4 с плохим промптом проиграет GPT-5.4-mini с хорошим контуром. А модель с test-time compute scaling (extended thinking, self-consistency) решит задачу, которую модель побольше провалит с одного прохода.
|
||
|
||
---
|
||
|
||
## Практический вывод
|
||
|
||
Стройте LLM-системы как инженерные контуры, а не как цепочку надежд на одну сильную модель. Разделяйте роли, фиксируйте протоколы, проверяйте ответы внешними средствами, используйте test-time compute там, где он действительно окупается, и измеряйте систему на реальных задачах. Модели, окна контекста и API быстро меняются; устойчивое преимущество даёт не выбор очередного флагмана, а дисциплина архитектуры, верификации и наблюдаемости.
|
||
|
||
---
|
||
|
||
## Источники
|
||
|
||
### Фундаментальные работы
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 1 | Vaswani et al. | 2017 | *Attention Is All You Need* | Архитектура Transformer |
|
||
| 2 | Devlin et al. | 2019 | *BERT: Pre-training of Deep Bidirectional Transformers* | Bidirectional pre-training |
|
||
| 3 | Brown et al. | 2020 | *Language Models are Few-Shot Learners* | GPT-3, in-context learning |
|
||
| 4 | Sennrich et al. | 2016 | *Neural Machine Translation of Rare Words with Subword Units* | BPE tokenization |
|
||
| 5 | Kudo & Richardson | 2018 | *SentencePiece: A simple and language independent subword tokenizer* | SentencePiece |
|
||
|
||
### Архитектура и оптимизация
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 6 | Geva et al. | 2021 | *Transformer Feed-Forward Layers Are Key-Value Memories* | MLP как ассоциативная память |
|
||
| 7 | Dao et al. | 2022 | *FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness* | FlashAttention |
|
||
| 8 | Dao | 2023 | *FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning* | FlashAttention-2 |
|
||
| 9 | Shah et al. | 2024 | *FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision* | FlashAttention-3 (Hopper GPU) |
|
||
| 10 | Su et al. | 2021 | *RoFormer: Enhanced Transformer with Rotary Position Embedding* | RoPE |
|
||
| 11 | Beltagy et al. | 2020 | *Longformer: The Long-Document Transformer* | Sparse attention |
|
||
| 12 | Zaheer et al. | 2020 | *Big Bird: Transformers for Longer Sequences* | Sparse attention |
|
||
| 13 | Shazeer | 2019 | *Fast Transformer Decoding: One Write-Head is All You Need* | Multi-Query Attention (MQA) |
|
||
| 14 | Ainslie et al. | 2023 | *GQA: Training Generalized Multi-Query Transformer Models from Multi-Head Checkpoints* | Grouped-Query Attention |
|
||
| 15 | Fedus et al. | 2022 | *Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity* | MoE |
|
||
| 16 | Gu & Dao | 2023 | *Mamba: Linear-Time Sequence Modeling with Selective State Spaces* | State Space Models (SSM) |
|
||
| 17 | AI21 Labs | 2024 | *Jamba: A Hybrid Transformer-Mamba Language Model* | Гибрид Transformer + SSM |
|
||
| 18 | Dao & Gu | 2024 | *Transformers are SSMs: Generalized Models and Efficient Algorithms Through Structured State Space Duality* | Mamba-2 / SSD; ICML 2024 |
|
||
| 19 | AI21 Labs | 2026 | *Introducing Jamba2* | Гибрид SSM-Transformer, Apache 2.0, 256K контекст |
|
||
|
||
### Test-time compute, reasoning и scaling
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 20 | Snell et al. | 2024 | *Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters* | Test-time compute scaling |
|
||
| 21 | Shao et al. | 2024 | *DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language Models* | GRPO (Group Relative Policy Optimization) |
|
||
| 22 | Guo et al. | 2025 | *DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning* | Reasoning через pure RL; Nature, vol. 645 |
|
||
| 22a | Hao et al. | 2025 | *Training Large Language Models to Reason in a Continuous Latent Space* | Continuous latent reasoning (Coconut) |
|
||
| 22b | Shai et al. | 2024 | *Transformers Represent Belief State Geometry in their Residual Stream* | Геометрия belief state в residual stream |
|
||
| 22c | Zhou et al. | 2025 | *The Geometry of Reasoning: Flowing Logics in Representation Space* | Геометрический взгляд на reasoning |
|
||
| 22d | Manson | 2025 | *Curved Inference* | Кривизна residual trajectory как interpretability probe |
|
||
|
||
### Контекст и позиционные представления
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 23 | Liu et al. | 2023 | *Lost in the Middle: How Language Models Use Long Contexts* | U-образная кривая attention |
|
||
| 24 | Xiao et al. | 2023 | *Efficient Streaming Language Models with Attention Sinks* | StreamingLLM, attention sinks |
|
||
| 25 | Peng et al. | 2023 | *YaRN: Efficient Context Window Extension of Large Language Models* | YaRN (RoPE scaling) |
|
||
| 26 | Press et al. | 2022 | *ALiBi: Train Short, Test Long* | ALiBi positional encoding |
|
||
|
||
### Prompting и рассуждения
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 27 | Wei et al. | 2022 | *Chain-of-Thought Prompting Elicits Reasoning in Large Language Models* | Chain-of-Thought |
|
||
| 28 | Wang et al. | 2023 | *Self-Consistency Improves Chain of Thought Reasoning in Language Models* | Self-Consistency |
|
||
| 29 | Yao et al. | 2023 | *Tree of Thoughts: Deliberate Problem Solving with Large Language Models* | Tree of Thoughts |
|
||
| 30 | Besta et al. | 2024 | *Graph of Thoughts: Solving Elaborate Problems with Large Language Models* | Graph of Thoughts |
|
||
| 31 | Gao et al. | 2023 | *PAL: Program-aided Language Models* | Code as reasoning |
|
||
| 32 | Elhage et al. | 2022 | *Toy Models of Superposition* | Superposition |
|
||
| 32a | Chen et al. | 2026 | *The Molecular Structure of Thought* | Long-CoT как deep reasoning + self-reflection + self-exploration |
|
||
|
||
### Галлюцинации и верификация
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 33 | Dhuliawala et al. | 2023 | *Chain-of-Verification Reduces Hallucination in Large Language Models* | CoVe |
|
||
| 34 | Lin et al. | 2022 | *TruthfulQA: Measuring How Models Mimic Human Falsehoods* | TruthfulQA бенчмарк |
|
||
| 35 | Min et al. | 2023 | *FActScore: Fine-grained Atomic Evaluation of Factual Precision* | FActScore |
|
||
| 36 | Ji et al. | 2023 | *Survey of Hallucination in Natural Language Generation* | Таксономия галлюцинаций |
|
||
| 37 | Huang et al. | 2023 | *A Survey on Hallucination in Large Language Models* | Обзор причин и решений |
|
||
|
||
### Агенты и инструменты
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 38 | Yao et al. | 2023 | *ReAct: Synergizing Reasoning and Acting in Language Models* | ReAct pattern |
|
||
| 39 | Shinn et al. | 2023 | *Reflexion: Language Agents with Verbal Reinforcement Learning* | Reflexion |
|
||
| 40 | Wang et al. | 2023 | *Plan-and-Solve Prompting* | Plan-and-Execute |
|
||
| 41 | Zhou et al. | 2024 | *Language Agent Tree Search Unifies Reasoning, Acting, and Planning* | LATS |
|
||
| 42 | Anthropic / LF Projects, LLC | 2024–2025 | *Model Context Protocol (MCP) Specification* | Стандарт интеграции tools; с 2025 — проект Linux Foundation |
|
||
| 43 | Schick et al. | 2023 | *Toolformer: Language Models Can Teach Themselves to Use Tools* | Self-taught tool use |
|
||
| 43a | Yu et al. | 2026 | *Agentic Memory: Learning Unified Long-Term and Short-Term Memory Management for Large Language Model Agents* | Unified STM + LTM memory policy |
|
||
|
||
### RLHF и выравнивание
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 44 | Ouyang et al. | 2022 | *Training language models to follow instructions with human feedback* | InstructGPT / RLHF |
|
||
| 45 | Rafailov et al. | 2023 | *Direct Preference Optimization: Your Language Model is Secretly a Reward Model* | DPO |
|
||
| 46 | Bai et al. | 2022 | *Constitutional AI: Harmlessness from AI Feedback* | Constitutional AI (RLAIF) |
|
||
| 46a | Gao et al. | 2022 | *Scaling Laws for Reward Model Overoptimization* | Reward hacking и scaling reward models |
|
||
| 46b | Du et al. | 2026 | *GLM-5: from Vibe Coding to Agentic Engineering* | Многостадийный RL для agentic engineering |
|
||
|
||
### RAG и retrieval
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 47 | Lewis et al. | 2020 | *Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks* | RAG |
|
||
| 48 | Microsoft | 2024 | *GraphRAG: Unlocking LLM discovery on narrative private data* | GraphRAG |
|
||
| 49 | Sarthi et al. | 2024 | *RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval* | RAPTOR |
|
||
| 50 | Asai et al. | 2024 | *Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection* | Self-RAG; ICLR 2024 |
|
||
| 51 | Gao et al. | 2023 | *Precise Zero-Shot Dense Retrieval without Relevance Labels* | HyDE; ACL 2023 |
|
||
|
||
### Structured outputs
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 52 | Willard & Louf | 2023 | *Efficient Guided Generation for Large Language Models* | Outlines |
|
||
| 53 | Microsoft | 2023 | *Guidance: A Guidance Language for Controlling LLMs* | Guidance |
|
||
|
||
### Дообучение, данные и дистилляция
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 54 | Hu et al. | 2021 | *LoRA: Low-Rank Adaptation of Large Language Models* | Эффективная адаптация (LoRA) |
|
||
| 55 | Dettmers et al. | 2023 | *QLoRA: Efficient Finetuning of Quantized LLMs* | QLoRA — LoRA + 4-bit квантизация |
|
||
| 56 | Wei et al. | 2021 | *Finetuned Language Models Are Zero-Shot Learners* | FLAN — instruction tuning |
|
||
| 57 | Wang et al. | 2022 | *Self-Instruct: Aligning Language Models with Self-Generated Instructions* | Синтетические инструкции |
|
||
| 58 | Gunasekar et al. | 2023 | *Textbooks Are All You Need* | Качество данных > объём |
|
||
| 59 | Mukherjee et al. | 2023 | *Orca: Progressive Learning from Complex Explanation Traces of GPT-4* | Обучение на reasoning traces |
|
||
| 60 | Hinton et al. | 2015 | *Distilling the Knowledge in a Neural Network* | Knowledge distillation |
|
||
| 61 | Gu et al. | 2024 | *MiniLLM: On-Policy Distillation of Large Language Models* | Дистилляция LLM; ICLR 2024 |
|
||
|
||
### Мультимодальные модели
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 62 | Faysse et al. | 2024 | *ColPali: Efficient Document Retrieval with Vision Language Models* | Визуальный retrieval документов; ICLR 2025 |
|
||
| 63 | Li et al. | 2023 | *Evaluating Object Hallucination in Large Vision-Language Models* | POPE — бенчмарк визуальных галлюцинаций |
|
||
|
||
### Inference-оптимизация
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 64 | Leviathan et al. | 2023 | *Fast Inference from Transformers via Speculative Decoding* | Speculative decoding; ICML 2023 |
|
||
| 64a | Chen et al. | 2023 | *Accelerating Large Language Model Decoding with Speculative Sampling* | Speculative sampling; arXiv:2302.01318 |
|
||
| 65 | Kwon et al. | 2023 | *Efficient Memory Management for LLM Serving with PagedAttention* | PagedAttention / vLLM; SOSP 2023 |
|
||
| 66 | Gim et al. | 2024 | *Prompt Cache: Modular Attention Reuse for Low-Latency Inference* | Prompt Cache; MLSys 2024 |
|
||
|
||
### Diffusion LLM
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 67 | Sahoo et al. | 2024 | *Simple and Effective Masked Diffusion Language Models* | MDLM; NeurIPS 2024 |
|
||
| 68 | Lou et al. | 2024 | *Discrete Diffusion Modeling by Estimating the Ratios of the Data Distribution* | SEDD; ICML 2024 |
|
||
| 69 | Inception Labs | 2026 | *Mercury: The Fastest LLM* | Production diffusion LLM |
|
||
|
||
### Безопасность и red-teaming
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 70 | Greshake et al. | 2023 | *Not what you’ve signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection* | Indirect prompt injection |
|
||
| 71 | Zou et al. | 2023 | *Universal and Transferable Adversarial Attacks on Aligned Language Models* | GCG — универсальные jailbreak-суффиксы |
|
||
| 72 | Perez et al. | 2022 | *Red Teaming Language Models with Language Models* | Automated red-teaming |
|
||
| 73 | OWASP | 2025 | *Top 10 for LLM Applications* | Классификация уязвимостей LLM-систем |
|
||
|
||
### Evals и LLM-as-Judge
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 74 | Zheng et al. | 2023 | *Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena* | LLM-as-Judge; NeurIPS 2023 |
|
||
| 75 | Liu et al. | 2023 | *G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment* | G-Eval |
|
||
|
||
### Бенчмарки и оценка
|
||
|
||
| # | Автор(ы)/Организация | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 76 | Jimenez et al. | 2024 | *SWE-bench: Can Language Models Resolve Real-World GitHub Issues?* | Бенчмарк решения реальных задач из GitHub |
|
||
| 77 | Mialon et al. | 2023 | *GAIA: A Benchmark for General AI Assistants* | Бенчмарк general-purpose агентов |
|
||
| 78 | OpenAI | 2024 | *SimpleQA* | Бенчмарк фактуальности коротких ответов |
|
||
|
||
### Model docs и technical reports
|
||
|
||
| # | Организация | Год | Документ |
|
||
|---|-------------|-----|----------|
|
||
| 79 | OpenAI | 2023 | *GPT-4 Technical Report* |
|
||
| 80 | Anthropic Docs | 2026 | *Claude models overview* |
|
||
| 81 | Meta | 2024 | *The Llama 3 Herd of Models* |
|
||
| 82 | Mistral AI | 2024 | *Mixtral of Experts* |
|
||
| 83 | DeepSeek | 2024 | *DeepSeek-V3 Technical Report* |
|
||
| 84 | Google AI | 2026 | *Gemini API models documentation* |
|
||
| 85 | Meta | 2025 | *Introducing Llama 4* |
|
||
| 86 | Qwen Team | 2025 | *Qwen3: Think Deeper, Act Faster* |
|
||
| 87 | Qwen Team | 2026 | *Qwen3.5: Towards Native Multimodal Agents* |
|
||
| 88 | xAI | 2025–2026 | *Grok 4.20* |
|
||
|
||
### Практические руководства
|
||
|
||
| # | Организация | Год | Название |
|
||
|---|-------------|-----|----------|
|
||
| 89 | Anthropic | 2024 | *Building effective agents* |
|
||
| 90 | OpenAI | 2025 | *A practical guide to building agents* |
|
||
| 91 | Anthropic | 2025 | *Best practices for agentic coding* |
|
||
| 92 | LangChain | 2024 | *LangGraph documentation* |
|
||
| 93 | LlamaIndex | 2024 | *Building production RAG* |
|
||
| 94 | Garcia-Molina & Salem | 1987 | *Sagas* |
|
||
|
||
### Код и software engineering
|
||
|
||
| # | Автор(ы) | Год | Название | Вклад |
|
||
|---|----------|-----|----------|-------|
|
||
| 94a | Gupta et al. | 2026 | *Revisiting the Role of Natural Language Code Comments in Code Translation* | Комментарии о намерении помогают code transformation; избыточные комментарии шумят |
|
||
| 94b | Yang et al. | 2026 | *Less is more: DocString compression in code generation* | DocString как плотный носитель требований; 25–40% compression без потери качества |
|
||
| 94c | van Dam et al. | 2023 | *Enriching Source Code with Contextual Data for Code Completion Models* | Multi-line comments помогают умеренно; не вся разметка одинаково полезна |
|
||
| 94d | Cheng et al. | 2024 | *Dataflow-Guided Retrieval Augmentation for Repository-Level Code Completion* | Dataflow-graph улучшает repository-level completion |
|
||
| 94e | Chinthareddy | 2026 | *Reliable Graph-RAG for Codebases* | AST-derived graph полезен для multi-hop architectural retrieval |
|
||
| 94f | Ruan et al. | 2024 | *SpecRover: Code Intent Extraction via LLMs* | Specification inference усиливает агентный patching |
|
||
| 94g | Li et al. | 2025 | *Your Coding Intent is Secretly in the Context and You Should Deliberately Infer It Before Completion* | Intent inference before completion улучшает repository-scale generation |
|
||
|
||
---
|
||
|
||
## Что меняется быстро, а что остаётся стабильным
|
||
|
||
Подробный разбор модельного ландшафта, архитектурных трендов и экономики inference — в [Главе 24 (Ландшафт 2026)](24_landscape_2026.md). Здесь — ключевой принцип:
|
||
|
||
**Стратегия**: инвестируйте время в изучение стабильных принципов (разделение ролей, протокольный подход, верификация, делегирование инструментам). Конкретные модели и фреймворки — изучайте по мере необходимости, но не привязывайтесь.
|
||
|
||
---
|
||
|
||
## С чего начать, если вы новичок
|
||
|
||
### Рекомендуемый порядок чтения
|
||
|
||
Если вы только входите в тему LLM-инженерии, не обязательно читать книгу от корки до корки. Вот маршрут для быстрого старта:
|
||
|
||
1. **[Глава 0 (Введение)](00_introduction.md)** — зачем всё это нужно
|
||
2. **[Глава 6 (Промпт — это протокол)](06_prompt_is_a_protocol.md)** — самый практичный навык, начните с него
|
||
3. **[Глава 3 (Галлюцинации)](03_hallucinations.md)** — поймите главный риск
|
||
4. **[Глава 13 (Антигаллюцинационный контур)](13_anti_hallucination_loop.md)** — как с этим риском бороться
|
||
5. **[Глава 10 (Агент ≠ чат)](10_agent_not_chat.md)** — когда будете готовы строить системы
|
||
6. **[Глава 1 (Токены и векторы)](01_tokens_vectors_and_semantic_space.md)** — для глубокого понимания механики
|
||
7. **Остальные главы** — по мере необходимости
|
||
|
||
### 5 ресурсов для начинающих
|
||
|
||
1. **Andrej Karpathy, "Intro to Large Language Models"** (YouTube, 2023) — лучшее часовое введение в LLM от одного из создателей GPT
|
||
2. **Anthropic, "Building effective agents"** (2024) — практическое руководство по агентным архитектурам, написано инженерами для инженеров
|
||
3. **Chip Huyen, "Building LLM Applications for Production"** (2023) — обзор production-паттернов и типичных ошибок
|
||
4. **Lilian Weng, "LLM Powered Autonomous Agents"** (lilianweng.github.io, 2023) — глубокий обзор агентных архитектур с картинками и формулами
|
||
5. **DeepLearning.AI, "ChatGPT Prompt Engineering for Developers"** (курс, 2023) — бесплатный курс от Andrew Ng, хороший первый шаг в промпт-инженерии
|
||
|
||
---
|
||
|
||
## Дальнейшее чтение
|
||
|
||
### Arxiv-теги для отслеживания
|
||
- **cs.CL** (Computation and Language) — основной раздел для NLP/LLM
|
||
- **cs.AI** (Artificial Intelligence) — агенты, рассуждения
|
||
- **cs.LG** (Machine Learning) — архитектуры, оптимизация
|
||
|
||
### По темам
|
||
|
||
**Архитектуры и механика моделей:**
|
||
- Lilian Weng, *The Transformer Family Version 2.0* (2023) — обзор всех вариаций Transformer
|
||
- Jay Alammar, *The Illustrated Transformer* — визуальное объяснение архитектуры
|
||
- Gu & Dao, *Mamba* (2023) — state space models как альтернатива attention
|
||
|
||
**Промптинг и рассуждения:**
|
||
- DAIR.AI, *Prompt Engineering Guide* (promptingguide.ai) — систематизированный справочник по техникам промптинга
|
||
- OpenAI, *Prompt engineering best practices* (docs) — официальные рекомендации
|
||
|
||
**Агенты и инструменты:**
|
||
- Anthropic, *Model Context Protocol Specification* (modelcontextprotocol.io) — полная спецификация MCP
|
||
- LangChain, *LangGraph Conceptual Guides* — паттерны агентных графов
|
||
- Sumers, T. R., Yao, S., Narasimhan, K. & Griffiths, T. L. (2024). *Cognitive Architectures for Language Agents.* Foundations and Trends in Machine Learning — обзор архитектур агентов
|
||
|
||
**RAG и retrieval:**
|
||
- Jerry Liu, *Building Production RAG* (LlamaIndex, 2024) — end-to-end руководство
|
||
- Gao et al., *Retrieval-Augmented Generation for Large Language Models: A Survey* (2024) — обзор RAG-техник
|
||
|
||
**Безопасность и alignment:**
|
||
- OWASP, *Top 10 for LLM Applications* (2025) — главные уязвимости LLM-систем
|
||
- Anthropic Research Blog — mechanistic interpretability, scaling laws
|
||
|
||
### Рассылки и блоги
|
||
- **The Batch** (Andrew Ng) — еженедельный дайджест AI
|
||
- **Anthropic Research Blog** — механизмы безопасности, interpretability
|
||
- **OpenAI Blog** — новые модели и практики
|
||
- **Simon Willison's Weblog** — практический LLM engineering
|
||
- **Lilian Weng's Blog** (lilianweng.github.io) — глубокие обзоры архитектур
|
||
- **Latent Space** (podcast/newsletter) — интервью с практиками LLM-инженерии
|
||
- **AI Engineer** (newsletter) — фокус на applied AI и инженерных паттернах
|
||
|
||
### Open-source фреймворки
|
||
- **LangChain / LangGraph** — агентные контуры, RAG
|
||
- **LlamaIndex** — RAG, structured data extraction
|
||
- **Outlines** — constrained generation
|
||
- **vLLM** — inference serving
|
||
- **Ollama** — локальный запуск моделей
|
||
- **DSPy** — программирование (не промптинг) LLM-пайплайнов
|
||
- **Instructor** — structured outputs через Pydantic
|
||
|
||
---
|
||
|
||
## Глоссарий ключевых терминов
|
||
|
||
| Термин | Определение |
|
||
|--------|------------|
|
||
| **Attention (Self-Attention)** | Механизм, позволяющий каждому токену «смотреть» на другие токены в последовательности и взвешивать их значимость. Основа архитектуры Transformer. |
|
||
| **BPE (Byte Pair Encoding)** | Алгоритм токенизации, который итеративно объединяет наиболее частые пары символов в новые токены. |
|
||
| **Chain-of-Thought (CoT)** | Техника промптинга, побуждающая модель рассуждать пошагово перед выдачей финального ответа. |
|
||
| **Context window** | Максимальное количество токенов, которое модель может обработать за один вызов (промпт + ответ). |
|
||
| **Continuous batching** | Метод серверной обработки запросов, при котором новые запросы добавляются в batch по мере завершения предыдущих, без ожидания полного освобождения батча. Повышает throughput GPU. |
|
||
| **CoVe (Chain-of-Verification)** | Метод снижения галлюцинаций: модель генерирует ответ, формулирует проверочные вопросы, отвечает на них независимо, корректирует ответ. |
|
||
| **ColPali** | Метод визуального retrieval документов через vision-language модель. Индексирует страницы как изображения, минуя OCR-пайплайн. |
|
||
| **DPO (Direct Preference Optimization)** | Метод выравнивания модели по человеческим предпочтениям без отдельной reward model. Альтернатива RLHF с более простым пайплайном. |
|
||
| **Embedding** | Числовой вектор, представляющий токен, слово или фрагмент текста в многомерном пространстве. Близкие по смыслу элементы → близкие векторы. |
|
||
| **Few-shot prompting** | Подача нескольких примеров (input → output) в промпте, чтобы модель выучила паттерн без дообучения. |
|
||
| **Fine-tuning** | Дообучение предобученной модели на специализированных данных для адаптации к конкретной задаче. |
|
||
| **Flash Attention** | Семейство алгоритмов (Dao et al., 2022–2024) для вычисления attention с IO-awareness: точный результат при значительно меньшем расходе памяти GPU. |
|
||
| **Function calling** | Механизм, позволяющий модели возвращать структурированные вызовы внешних функций вместо (или вместе с) текстового ответа. |
|
||
| **Галлюцинация** | Генерация модели, которая выглядит правдоподобно, но не соответствует фактам или входным данным. |
|
||
| **GraphRAG** | Метод RAG, использующий граф знаний (knowledge graph) для структурирования и извлечения информации. |
|
||
| **GRPO (Group Relative Policy Optimization)** | Метод обучения с подкреплением (Shao et al., 2024), вычисляющий advantage внутри группы сэмплов без отдельной reward model. Ключевой метод обучения DeepSeek-R1. |
|
||
| **Guardrails** | Входные и выходные фильтры LLM-системы: блокировка injection, проверка формата, confidence thresholds, blocklist. |
|
||
| **In-context learning** | Способность модели выполнять задачу на основе примеров и инструкций в промпте, без изменения весов. |
|
||
| **KV-кэш** | Кэш Key-Value пар в attention-слоях. Хранит вычисленные представления предыдущих токенов, чтобы не пересчитывать их при генерации каждого нового токена. Основной потребитель GPU-памяти при длинном контексте. |
|
||
| **LDD (Log-Driven Development)** | Подход к разработке LLM-систем, при котором каждый LLM-вызов логируется (prompt hash, model, tokens, latency, response). Логи — основа для отладки, evals и incident response. |
|
||
| **LoRA (Low-Rank Adaptation)** | Метод эффективного дообучения: замораживает веса базовой модели, обучает низкоранговые матрицы-адаптеры. Сокращает затраты на порядки по сравнению с full fine-tuning. |
|
||
| **MCP (Model Context Protocol)** | Открытый протокол (Anthropic, 2024; с 2025 — проект Linux Foundation) для стандартизированной интеграции LLM с внешними инструментами и источниками данных. |
|
||
| **Mamba** | Архитектура State Space Model (Gu & Dao, 2023) с линейной сложностью по длине последовательности и селективным механизмом обработки состояний. Альтернатива Transformer для длинного контекста. |
|
||
| **MoE (Mixture of Experts)** | Архитектура, в которой для каждого токена активируется лишь часть параметров (экспертов), что позволяет масштабировать модель при ограниченных вычислительных затратах. |
|
||
| **PagedAttention** | Алгоритм управления KV-кэшем (Kwon et al., 2023), организующий память как виртуальные страницы. Устраняет фрагментацию и позволяет обслуживать больше параллельных запросов. Основа vLLM. |
|
||
| **Prompt** | Входной текст (инструкции, контекст, примеры), подаваемый модели. В LLM-инженерии — структурированный протокол взаимодействия. |
|
||
| **RAG (Retrieval-Augmented Generation)** | Паттерн: поиск релевантных документов → подача в контекст модели → генерация ответа с опорой на источники. |
|
||
| **ReAct** | Агентный паттерн: чередование шагов рассуждения (Reasoning) и действий (Acting) с наблюдением результатов. |
|
||
| **RLHF (Reinforcement Learning from Human Feedback)** | Метод дообучения модели с использованием человеческих предпочтений как сигнала вознаграждения. |
|
||
| **RoPE (Rotary Position Embedding)** | Метод кодирования позиции токена через вращение вектора в комплексном пространстве. Позволяет модели учитывать расстояние между токенами. |
|
||
| **SentencePiece** | Языконезависимый токенизатор (Kudo & Richardson, 2018), работающий на уровне сырого текста без предварительной токенизации по пробелам. Используется в Llama, Gemini и других моделях. |
|
||
| **SFT (Supervised Fine-Tuning)** | Дообучение модели на парах (input, target output) с учителем. Первый этап post-training после предобучения. |
|
||
| **SLM (Small Language Model)** | Компактная языковая модель (обычно < 10B параметров) для on-device или low-latency сценариев. Примеры: Phi-4-mini, Gemma 4 E2B. |
|
||
| **SSM (State Space Model)** | Класс архитектур (Mamba и др.), обрабатывающих последовательности за линейное время (вместо квадратичного у Transformer). |
|
||
| **Speculative decoding** | Метод ускорения inference (Leviathan et al., 2023): малая draft-модель генерирует кандидатов, большая модель верифицирует их параллельно. Ускорение без потери качества. |
|
||
| **Structured output** | Генерация ответа модели в строго определённом формате (JSON Schema, XML), гарантированном на уровне декодирования. |
|
||
| **Temperature** | Параметр, контролирующий «случайность» генерации. 0 → детерминированный ответ, >1 → более разнообразные (и рискованные) ответы. |
|
||
| **Test-time compute** | Выделение дополнительных вычислений на этапе инференса (extended thinking, self-consistency, beam search) для повышения качества. |
|
||
| **Token** | Минимальная единица текста, которую обрабатывает модель. Может быть словом, частью слова или символом. |
|
||
| **Токенизация** | Процесс разбиения текста на токены. Для русского языка одно слово часто разбивается на 2–4 токена. |
|
||
| **Transformer** | Архитектура нейросети (Vaswani et al., 2017), основанная на self-attention. Фундамент всех современных LLM. |
|
||
| **Верификатор (Verifier)** | Компонент агентной системы, проверяющий результаты выполнения на корректность, полноту и соответствие ограничениям. |
|
||
|
||
---
|
||
|
||
> **Магия закончилась. Началась инженерия.**
|
||
|
||
> Вы прочитали эту книгу — а значит, у вас есть то, чего не было у пионеров LLM-инженерии: карта местности. Вы знаете, как модель обрабатывает текст, почему она галлюцинирует, как строить контуры верификации и как проектировать агентов, которые не разваливаются на третьем шаге. Архитектуры будут меняться, модели — становиться мощнее, но принципы, описанные здесь, останутся вашим фундаментом. Стройте системы, а не промпты. Измеряйте, а не надейтесь. И помните: лучшая LLM-система — та, которая работает в production, а не та, которая впечатляет в демо.
|
||
|
||
---
|
||
|
||
**Навигация:**
|
||
- Назад: [Глава 24. Ландшафт 2026](24_landscape_2026.md)
|
||
- В начало: [Введение](00_introduction.md)
|