스킬 langgraph
📦

langgraph

중간 위험 ⚡ 스크립트 포함

Создание AI-агентов с LangGraph

LangGraph — это производственный фреймворк для создания stateful-приложений AI с несколькими участниками. Этот навык поможет вам спроектировать архитектуру агентов с видимой структурой графа, управлять сложным состоянием, реализовывать циклы и ветвления, а также добавить сохраняемость для возобновляемых разговоров.

지원: Claude Codex Code(CC)
⚠️ 63 나쁨
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"langgraph" 사용 중입니다. Создать простого агента с инструментами

예상 결과:

Вот базовая настройка агента LangGraph:

1. Определите AgentState с помощью TypedDict
2. Создайте функции инструментов с декоратором @tool
3. Создайте узел агента, который вызывает LLM с инструментами
4. Добавьте условные рёбра для выполнения инструментов
5. Скомпилируйте и запустите граф

Агент будет циклически перемещаться между LLM и инструментами, пока инструменты не будут вызваны, а затем вернётся к пользователю.

"langgraph" 사용 중입니다. Как предотвратить бесконечные циклы?

예상 결과:

Используйте счётчик максимальных итераций в вашем состоянии:

1. Добавьте поле 'iterations' в ваше состояние
2. Создайте функцию should_continue, которая проверяет итерации
3. Увеличивайте счётчик в узле агента
4. Возвращайте END, когда количество итераций превышает лимит

Это гарантирует, что у вашего агента будет чёткое условие выхода, и он не будет работать бесконечно.

보안 감사

중간 위험
v1 • 2/25/2026

The skill is a legitimate LangGraph documentation and assistance skill. One true positive was found: an eval() call in example code (line 67) that accepts user input without sanitization. This is documented example code showing tool implementation, but poses a risk if users copy this pattern. Multiple false positives were dismissed: Ruby/shell backtick execution (markdown code fences misinterpreted) and weak cryptographic algorithms (keyword matches on 'hash' in framework terminology).

1
스캔된 파일
292
분석된 줄 수
4
발견 사항
1
총 감사 수

높은 위험 문제 (1)

Dynamic Code Execution with eval()
The calculator tool example uses eval(expression) on line 67, which accepts user input without sanitization. This is a security risk if users copy this pattern for production code. However, this is example/demonstration code in documentation, not malicious runtime code.
낮은 위험 문제 (2)
False Positive: Ruby/Shell Backtick Execution
Static scanner detected 'Ruby/shell backtick execution' at multiple lines. These are markdown code fences (```python) not actual Ruby code. The backticks are markdown syntax for code blocks.
False Positive: Weak Cryptographic Algorithm
Static scanner flagged 'Weak cryptographic algorithm' at multiple lines. These are false positives - the scanner matched on 'hash' keywords in 'checkpoint' and 'TypedDict' (Python typing) terminology, not actual cryptographic code.

위험 요인

⚡ 스크립트 포함 (1)

감지된 패턴

eval() on User Input
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
33
커뮤니티
51
보안
91
사양 준수

만들 수 있는 것

Создание многоэтапных рабочих процессов агентов

Создавайте агентов, которые могут рассуждать, использовать инструменты и поддерживать контекст разговора между несколькими взаимодействиями.

Реализация систем исследовательских агентов

Проектируйте агентов, которые могут собирать информацию из нескольких источников, объединять результаты и создавать синтезированные отчёты.

Создание stateful-приложений для чата

Создавайте приложения для чата, которые запоминают историю разговоров и могут возобновляться из предыдущих состояний.

이 프롬프트를 사용해 보세요

Базовая настройка агента
Создайте простого агента в стиле ReAct с использованием LangGraph, который может вызывать инструменты. Покажите, как определить состояние, создать узлы, настроить рёбра и скомпилировать граф.
Управление состоянием
Покажите, как управлять сложным состоянием в LangGraph с помощью TypedDict и пользовательских редюсеров. Я хочу накапливать сообщения, объединять результаты из нескольких узлов и отслеживать историю разговора.
Условная маршрутизация
Помогите реализовать условное ветвление в LangGraph. Мне нужно направлять запросы к разным агентам на основе их типа (кодирование, поиск, чат) и соответствующим образом обрабатывать ответы.
Настройка сохраняемости
Добавьте чекпоинтинг к моему агенту LangGraph, чтобы разговоры можно было возобновлять. Покажите, как настроить чекпоинтер и сохранять состояние между сессиями.

모범 사례

  • Всегда определяйте чёткие условия выхода в функциях маршрутизации, чтобы предотвратить бесконечные циклы
  • Используйте редюсеры правильно — add_messages для накопления, пользовательские функции для сложного объединения
  • Проектируйте схемы ввода/вывода, чтобы состояние было минимальным и сфокусированным на необходимом

피하기

  • Использование eval() для пользовательского ввода в инструментах — всегда проверяйте и очищайте любые выражения, предоставленные пользователем
  • Создание stateless-узлов, которые не возвращают обновления состояния — это противоречит цели LangGraph
  • Использование огромного монолитного состояния с ненужными полями — вызывает накладные расходы на сериализацию и раздувание контекста

자주 묻는 질문

Что такое LangGraph?
LangGraph — это фреймворк для создания stateful-приложений AI с несколькими участниками с использованием структур графов. Он расширяет LangChain поддержкой циклов и сохраняемости.
Нужен ли мне LLM API-ключ?
Да, LangGraph требует доступ к LLM API (OpenAI, Anthropic и другим) для работы агента. Навык предоставляет архитектуру; вы предоставляете учётные данные API.
Может ли LangGraph сохранять историю разговоров?
Да, LangGraph поддерживает чекпоинтинг с различными бэкендами (Memory, SQLite, Postgres). Это позволяет агентам возобновляться из предыдущих состояний.
LangGraph только для Python?
Основной SDK — Python. SDK для TypeScript/JavaScript существует, но находится на ранней стадии разработки.
Как добавить инструменты к моему агенту?
Определяйте инструменты с помощью декоратора @tool из langchain_core.tools. Привяжите их к вашему LLM с помощью bind_tools(), затем создайте ToolNode для обработки выполнения.
В чём разница между рёбрами и условными рёбрами?
Обычные рёбра соединяют узлы по фиксированному пути. Условные рёбра используют функцию для определения следующего узла на основе текущего состояния.

개발자 세부 정보

파일 구조

📄 SKILL.md