Files
BlackboxBook/book/25_summary_and_references.md
2026-05-20 20:55:03 +03:00

509 lines
50 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# РЕЗЮМЕ: ОТ СЛОВ К ПРАКТИКЕ
---
В 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.52× больше токенов, чем английский. Границы токенов влияют на «понимание» — модель не видит слова, она видит фрагменты.
- **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 — не единственная архитектура. В 20232026 годах появились **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 | 20242025 | *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 youve 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 | 20252026 | *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 как плотный носитель требований; 2540% 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., 20222024) для вычисления 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** | Минимальная единица текста, которую обрабатывает модель. Может быть словом, частью слова или символом. |
| **Токенизация** | Процесс разбиения текста на токены. Для русского языка одно слово часто разбивается на 24 токена. |
| **Transformer** | Архитектура нейросети (Vaswani et al., 2017), основанная на self-attention. Фундамент всех современных LLM. |
| **Верификатор (Verifier)** | Компонент агентной системы, проверяющий результаты выполнения на корректность, полноту и соответствие ограничениям. |
---
> **Магия закончилась. Началась инженерия.**
> Вы прочитали эту книгу — а значит, у вас есть то, чего не было у пионеров LLM-инженерии: карта местности. Вы знаете, как модель обрабатывает текст, почему она галлюцинирует, как строить контуры верификации и как проектировать агентов, которые не разваливаются на третьем шаге. Архитектуры будут меняться, модели — становиться мощнее, но принципы, описанные здесь, останутся вашим фундаментом. Стройте системы, а не промпты. Измеряйте, а не надейтесь. И помните: лучшая LLM-система — та, которая работает в production, а не та, которая впечатляет в демо.
---
**Навигация:**
- Назад: [Глава 24. Ландшафт 2026](24_landscape_2026.md)
- В начало: [Введение](00_introduction.md)