119 lines
5.0 KiB
Markdown
119 lines
5.0 KiB
Markdown
# LangChain Evolution Deck
|
||
|
||
Большой tutorial-дек по эволюции экосистемы LangChain: от chains 2022 года
|
||
до Open SWE 2025/2026. 132 слайда в dark mode, плотный Python 1.0+ код,
|
||
кириллица.
|
||
|
||
## Что внутри деки
|
||
|
||
| # | Секция | Слайдов |
|
||
|---|--------|---------|
|
||
| | Cover + TOC | 2 |
|
||
| 1 | LangChain 1.0 — chains, LCEL, agents, retrievers | 27 |
|
||
| 2 | LangGraph 1.0 — state, nodes, persistence, HITL, streaming | 33 |
|
||
| 3 | Deep Agents — harness, todos, virtual FS, subagents | 26 |
|
||
| 4 | Open SWE — async coding agent, triggers, dashboard | 24 |
|
||
| 5 | Экосистема — LangSmith, Studio, deployment | 12 |
|
||
| | 5 dividers + 3 recap (timeline / what's next / closing) | 8 |
|
||
| | **Всего** | **132** |
|
||
|
||
## Файлы
|
||
|
||
- `output/langchain-evolution.pptx` — финальная презентация (2.3 MB)
|
||
- `output/langchain-evolution.pdf` — PDF-версия (1.1 MB)
|
||
- `output/previews/slide-NNN.png` — PNG-превью (132 файла)
|
||
|
||
## Структура репо
|
||
|
||
```
|
||
.
|
||
├── design-system.js # Theme tokens + 9 helper-функций для слайдов
|
||
├── design-system.md # Гайд на русском для кодеров
|
||
├── final-compile.js # Генератор intro/dividers/recap
|
||
├── merge.js # JSZip-merge всех секций в один pptx
|
||
├── final-merge.py # Альтернативный Python-merge (для отладки)
|
||
├── package.json # pptxgenjs + jszip
|
||
├── research/ # phase 0 — research
|
||
│ ├── timeline.md # единый таймлайн LC 0.1 → 1.0, LangGraph, Deep Agents, Open SWE
|
||
│ ├── sources.md # 56+ URL с reliability notes
|
||
│ └── per-tech/ # 4 файла (chains, langgraph, deepagents, openswe)
|
||
├── slides/ # исходники 5 секций
|
||
│ ├── section1-chains/ # compile.js + slide-NN.js
|
||
│ ├── section2-langgraph/
|
||
│ ├── section3-deepagents/
|
||
│ ├── section4-openswe/
|
||
│ └── section5-ecosystem/
|
||
└── output/ # финальные deliverables
|
||
├── langchain-evolution.pptx
|
||
├── langchain-evolution.pdf
|
||
└── previews/
|
||
```
|
||
|
||
## Как пересобрать
|
||
|
||
```bash
|
||
npm install
|
||
# Каждая секция независимо:
|
||
node slides/section1-chains/compile.js
|
||
node slides/section2-langgraph/compile.js
|
||
node slides/section3-deepagents/compile.js
|
||
node slides/section4-openswe/compile.js
|
||
node slides/section5-ecosystem/compile.js
|
||
# Chrome (cover + TOC + 5 dividers + 3 recap):
|
||
node final-compile.js
|
||
# Склейка в один pptx:
|
||
node merge.js
|
||
# PDF:
|
||
soffice --headless --convert-to pdf --outdir output output/langchain-evolution.pptx
|
||
# PNG-превью (опционально):
|
||
pdftoppm -r 80 -png output/langchain-evolution.pdf output/previews/slide
|
||
```
|
||
|
||
## Технологии
|
||
|
||
- **pptxgenjs** — генерация PPTX в Node.js
|
||
- **JSZip** — zip-merge секций в один файл
|
||
- **LibreOffice (soffice)** — конвертация PPTX → PDF
|
||
- **pdftoppm (poppler)** — рендеринг PDF → PNG превью
|
||
- **Inter** + **JetBrains Mono** + **Arial** (кириллица fallback)
|
||
|
||
## Дизайн-токены (палитра)
|
||
|
||
```
|
||
bg.primary = #0A1A2A // основной тёмный
|
||
bg.elevated = #142B3F // карточки
|
||
bg.code = #0F1E2E // фон для кода
|
||
text.primary = #E6F0F7
|
||
text.secondary = #B5C4D1
|
||
accent.primary = #219EBC // teal
|
||
accent.secondary = #FFB703 // gold
|
||
accent.tertiary = #8ECAE6 // light blue
|
||
```
|
||
|
||
## Пре-компайл lint
|
||
|
||
В исходниках запрещены:
|
||
- em-dash (`—`) и en-dash (`–`)
|
||
- smart quotes (`"`, `"`, `'`, `'`)
|
||
- ellipsis (`…`)
|
||
- non-breaking space
|
||
|
||
Все слайды проверены — 0 нарушений в owner-authored slides (cover, TOC, dividers, recap).
|
||
Слайды из секций были проверены на этапе pre-compile самими секционными кодерами.
|
||
|
||
## Известные визуальные ограничения
|
||
|
||
На самых длинных code-слайдах (25-28 строк, например slide 11, 36, 42, 44, 53)
|
||
код на 10pt читается, но слегка выходит за границы карточки. Варианты фикса:
|
||
- разбить >20-строчные snippets на 2 слайда каждый
|
||
- уменьшить `sizes.code` с 10pt до 8pt
|
||
- увеличить `cardH` в design-system
|
||
|
||
Структурных дефектов нет: 132 слайда, lint pass, актуальные API (langchain 1.3.10,
|
||
langgraph 1.2.6, deepagents 0.6.11, langsmith 0.8.9, open-swe 1.0).
|
||
|
||
## Лицензия
|
||
|
||
MIT. Исходники кода примеров — из официальных документаций LangChain,
|
||
LangGraph, Deep Agents, Open SWE. Атрибуция в `research/sources.md`.
|