К основному содержанию
скилл Claude Code CX Codex Cursor GitHub Copilot

langgraph-fundamentals — скилл для LangGraph: StateGraph, ноды, рёбра

Скилл для написания кода LangGraph на любой платформе. Охватывает StateGraph, схемы состояния, ноды, рёбра, Command, Send, invoke, потоковую передачу и обработку ошибок.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add langchain-ai/langchain-skills --skill langgraph-fundamentals -a claude-code
Открыть на GitHub

Что делает langgraph-fundamentals

LangGraph моделирует рабочие процессы агентов как ориентированные графы. StateGraph — главный класс для построения граф-приложений с состоянием. Ноды — это функции, которые выполняют работу и обновляют состояние; рёбра определяют порядок выполнения (статические или условные). Есть специальные ноды START и END для входа и выхода, а также редукторы состояния для управления тем, как объединяются обновления.

Скилл даёт методологию проектирования: начните с эскиза рабочего процесса (каждый шаг — это нода), определите, что делает каждый шаг, спроектируйте схему состояния как общую память, реализуйте ноды функциями, которые возвращают частичные обновления, затем соедините ноды рёбрами с условной маршрутизацией. Граф нужно скомпилировать перед выполнением.

Для управления потоком используйте add_edge() для фиксированного потока, add_conditional_edges() для маршрутизации на основе состояния, Command для объединения обновлений состояния и маршрутизации в одном возврате, Send для параллельной обработки с динамическими входами. При запуске графа вызывайте invoke() для полного выполнения или потокуйте через stream() с режимами values, updates, messages или custom. Для ошибок используйте RetryPolicy для переходных сбоев, ToolNode с handle_tool_errors для восстанавливаемых ошибок инструмента, interrupt() для исправления, требующего участия пользователя.

Какие задачи решает

  • спроектировать граф-рабочий процесс агента с состоянием
  • реализовать условную маршрутизацию между нодами
  • управлять накоплением данных в состоянии через редукторы
  • настроить параллельную обработку несколькими рабочими
  • обработать ошибки и переходные сбои в агенте

Примеры запросов агенту

  • Напиши агент LangGraph с тремя нодами: поиск, анализ и вывод. Используй условное рёбро для маршрутизации на основе качества результатов поиска.
  • Покажи, как использовать Send для распределения задач между несколькими параллельными рабочими с редуктором для объединения результатов.
  • Напиши обработчик ошибок, который повторяет попытку при сбое сети с помощью RetryPolicy.

Как установить langgraph-fundamentals

1Через Skills CLI (Vercel)

npx skills add langchain-ai/langchain-skills --skill langgraph-fundamentals -a claude-code

2Вручную: положить файлы

~/.claude/skills/langgraph-fundamentals/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/langgraph-fundamentals/

Из того же набора14

Весь набор →
deep-agents-memory langchain-ai Скилл разбирает бэкенды памяти в Deep Agents: что живёт внутри одного потока, что переживает перезапуск и как включать файловые инструменты вроде ls и grep. Claude Code CX Codex Cursor +1 19 000установок langgraph-persistence langchain-ai Скилл по персистентности LangGraph: как подключить checkpointer, развести диалоги по thread_id и откатиться к прошлому состоянию графа. Claude Code CX Codex Cursor +1 18 000установок langchain-rag langchain-ai Даёт ИИ-агенту готовые шаблоны и код для сборки RAG-пайплайнов на LangChain в Python и TypeScript: от загрузки документов до векторного поиска. Claude Code CX Codex Cursor +1 17 500установок langchain-fundamentals langchain-ai Помогает писать агентов LangChain через create_agent(), описывать инструменты и добавлять middleware. Пригодится для состояния диалога, подтверждений действий и обработки ошибок. Claude Code CX Codex Cursor +1 17 400установок langgraph-human-in-the-loop langchain-ai Скилл для создания графов с перерывами, ждущих человека. Пригодится, когда нужно показать результат агента, попросить одобрение или валидировать ввод перед продолжением. Claude Code CX Codex Cursor +1 17 200установок langchain-middleware langchain-ai Скилл добавляет промежуточные хуки для LangChain-агентов: останавливает выполнение перед опасными вызовами инструментов, даёт человеку одобрить, отредактировать или отклонить действие, перехватывает вызовы для логирования и retry-логики. Claude Code CX Codex Cursor +1 16 200установок deep-agents-orchestration langchain-ai Скилл помогает настроить оркестрацию в Deep Agents: делегирование субагентам, планирование через список задач и подтверждение действий человеком. Claude Code CX Codex Cursor +1 16 100установок langchain-dependencies langchain-ai Подбирает точный набор пакетов и версий для LangChain, LangGraph и LangSmith. Помогает избежать несовместимых библиотек при старте проекта на Python или TypeScript. Claude Code CX Codex Cursor +1 16 000установок

Похожие

ads-microsoft AgriciDaniel Проверяет кампании Microsoft Ads, Bing Ads, UET и аудиторий сети: измерения, конверсии, импорты из Google, ключевые слова, креативы, ставки и бюджеты. Только чтение; изменения делает ads-optimize. Claude Code CX Codex Cursor +1 3 800установок pinchtab pinchtab Скилл управляет браузером через PinchTab: открывает страницы, читает элементы, заполняет формы и выгружает результаты. Нужен для сценариев, где агенту требуется действовать в браузере. Claude Code CX Codex Cursor +1 892установок intelligence-docs CopilotKit Скилл следит, чтобы посадочная страница CopilotKit Intelligence всегда соответствовала новым фичам и документам. Автоматизирует обновление навигации, карточек и ссылок при добавлении или изменении страниц под docs/intelligence. Claude Code CX Codex Cursor +1 751установок rewardkit harbor-framework Скилл для написания верификаторов задач Harbor на Reward Kit: программные проверки, LLM-судьи и итоговая reward-оценка в одном каталоге tests/. Claude Code CX Codex Cursor +1 1 300установок loopy Forward-Future Находит повторяющиеся задачи в репозитории или истории тредов, превращает их в замкнутые циклы агента и проверяет надёжность проверок перед запуском. Claude Code CX Codex Cursor +1 3 100установок skill-forge sanyuan0704 Скилл для создания production-grade навыков в Claude Code. Даёт пошаговый процесс: от понимания задачи до упаковки, с чек-листами, железными правилами и техниками письма для промптов. Claude Code CX Codex Cursor +1 4 100установок setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. Claude Code 1 052 851установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. Claude Code 711 230установок

Вопросы о langgraph-fundamentals

Как установить langgraph-fundamentals в Claude Code?

Выполните npx skills add langchain-ai/langchain-skills --skill langgraph-fundamentals -a claude-code, затем найдите скилл в ~/.claude/skills/langgraph-fundamentals/SKILL.md.

Что делает langgraph-fundamentals?

Скилл содержит методологию и паттерны для проектирования и реализации графовых рабочих процессов LangGraph: управление состоянием, узлы, рёбра, маршрутизация, параллельная обработка и обработка ошибок.

В чём разница между Command и Send?

Command объединяет обновления состояния и маршрутизацию в один возврат из ноды. Send используется для параллельной обработки: вы возвращаете список Send-объектов, чтобы спавнить несколько рабочих с динамическими входами.

Исходный текст

SKILL.md · MIT
---
name: langgraph-fundamentals
description: "INVOKE THIS SKILL when writing ANY LangGraph code. Covers StateGraph, state schemas, nodes, edges, Command, Send, invoke, streaming, and error handling."
---

<overview>
LangGraph models agent workflows as **directed graphs**:

- **StateGraph**: Main class for building stateful graphs
- **Nodes**: Functions that perform work and update state
- **Edges**: Define execution order (static or conditional)
- **START/END**: Special nodes marking entry and exit points
- **State with Reducers**: Control how state updates are merged

Graphs must be `compile()`d before execution.
</overview>

<design-methodology>

### Designing a LangGraph application

Follow these 5 steps when building a new graph:

1. **Map out discrete steps** — sketch a flowchart of your workflow. Each step becomes a node.
2. **Identify what each step does** — categorize nodes: LLM step, data step, action step, or user input step. For each, determine static context (prompt), dynamic context (from state), retry strategy, and desired outcome.
3. **Design your state** — state is shared memory for all nodes. Store raw data, format prompts on-demand inside nodes.
4. **Build your nodes** — implement each step as a function that takes state and returns partial updates.
5. **Wire it together** — connect nodes with edges, add conditional routing, compile with a checkpointer if needed.

</design-methodology>

<when-to-use-langgraph>

| Use LangGraph When | Use Alternatives When |
|-------------------|----------------------|
| Need fine-grained control over agent orchestration | Quick prototyping → LangChain agents |
| Building complex workflows with branching/loops | Simple stateless workflows → LangChain direct |
| Require human-in-the-loop, persistence | Batteries-included features → Deep Agents |

</when-to-use-langgraph>

---

## State Management

<state-update-strategies>

| Need | Solution | Example |
|------|----------|---------|
| Overwrite value | No reducer (default) | Simple fields like counters |
| Append to list | Reducer (operator.add / concat) | Message history, logs |
| Custom logic | Custom reducer function | Complex merging |

</state-update-strategies>

---

## Nodes

<node-function-signatures>

Node functions return partial state updates. Signatures for configuration and runtime access differ by language; use the applicable implementation reference.

</node-function-signatures>

---

## Edges

<edge-type-selection>

| Need | Edge Type | When to Use |
|------|-----------|-------------|
| Always go to same node | `add_edge()` | Fixed, deterministic flow |
| Route based on state | `add_conditional_edges()` | Dynamic branching |
| Update state AND route | `Command` | Combine logic in single node |
| Fan-out to multiple nodes | `Send` | Parallel processing with dynamic inputs |

</edge-type-selection>

---

## Command

Command combines state updates and routing in a single return value. Fields:
- **`update`**: State updates to apply (like returning a dict from a node)
- **`goto`**: Node name(s) to navigate to next
- **`resume`**: Value to resume after `interrupt()` — see human-in-the-loop skill

<command-return-type-annotations>

**Python**: Use `Command[Literal["node_a", "node_b"]]` as the return type annotation to declare valid goto destinations.

**TypeScript**: Pass `{ ends: ["node_a", "node_b"] }` as the third argument to `addNode` to declare valid goto destinations.

</command-return-type-annotations>

<warning-command-static-edges>

**Warning**: `Command` only adds **dynamic** edges — static edges defined with `add_edge` / `addEdge` still execute. If `node_a` returns `Command(goto="node_c")` and you also have `graph.add_edge("node_a", "node_b")`, **both** `node_b` and `node_c` will run.

</warning-command-static-edges>

---

## Send API

Fan-out with `Send`: return `[Send("worker", {...})]` from a conditional edge to spawn parallel workers. Requires a reducer on the results field.

---

## Running Graphs: Invoke and Stream

<invoke-basics>

Call `graph.invoke(input, config)` to run a graph to completion and return the final state.

</invoke-basics>

<stream-mode-selection>

| Mode | What it Streams | Use Case |
|------|----------------|----------|
| `values` | Full state after each step | Monitor complete state |
| `updates` | State deltas | Track incremental updates |
| `messages` | LLM tokens + metadata | Chat UIs |
| `custom` | User-defined data | Progress indicators |

</stream-mode-selection>

---

## Error Handling

Match the error type to the right handler:

<error-handling-table>

| Error Type | Who Fixes | Strategy | Example |
|---|---|---|---|
| Transient (network, rate limits) | System | `RetryPolicy(max_attempts=3)` | `add_node(..., retry_policy=...)` |
| LLM-recoverable (tool failures) | LLM | `ToolNode(tools, handle_tool_errors=True)` | Error returned as ToolMessage |
| User-fixable (missing info) | Human | `interrupt({"message": ...})` | Collect missing data (see HITL skill) |
| Unexpected | Developer | Let bubble up | `raise` |

</error-handling-table>

---

## Core boundaries

- Return partial state updates from nodes instead of mutating state directly.
- Route loops through a named node; `START` is entry-only.
- Define reducers for accumulated list fields; otherwise, the last write wins.
- Account for static edges when using `Command` with `goto`, because both routes execute.

## Implementation references

If writing, modifying, or debugging LangGraph code, determine the project's language from its existing files, then read the applicable reference before implementing:

- For Python, read [references/python.md](references/python.md).
- For TypeScript, read [references/typescript.md](references/typescript.md).

Read both only when the task covers both languages. For conceptual questions that require no code, do not load either reference.

© langchain-ai · MIT · langchain-ai/langchain-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой