📦

langgraph

مخاطر متوسطة ⚡ يحتوي على سكربتات

LangGraph로 AI 에이전트 구축

LangGraph는 상태를 유지하고 여러 행위자가 참여하는 AI 애플리케이션을 구축하기 위한 프로덕션 등급 프레임워크입니다. 이 스킬은 시각적인 그래프 구조로 에이전트 아키텍처를 설계하고, 복잡한 상태를 관리하며, 사이클과 브랜치를 구현하고, 재개 가능한 대화를 위해 지속성을 추가하는 방법을 도와줍니다.

يدعم: Claude Codex Code(CC)
⚠️ 65 ضعيف
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "langgraph". 도구가 있는 간단한 에이전트 생성

النتيجة المتوقعة:

다음은 기본 LangGraph 에이전트 설정입니다:

1. TypedDict로 AgentState 정의
2. @tool 데코레이터로 도구 함수 생성
3. 도구와 함께 LLM을 호출하는 에이전트 노드 구축
4. 도구 실행을 위한 조건부 에지 추가
5. 그래프 컴파일 및 실행

에이전트는 더 이상 도구가 호출되지 않을 때까지 LLM과 도구 사이를 반복한 다음 사용자에게 반환됩니다.

استخدام "langgraph". 무한 루프를 방지하려면 어떻게 해야 하나요?

النتيجة المتوقعة:

상태에 최대 반복 횟수 카운터를 사용하세요:

1. 상태에 'iterations' 필드 추가
2. iterations를 확인하는 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
المحتوى
50
المجتمع
51
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

다단계 에이전트 워크플로 구축

추론하고 도구를 사용하며 여러 상호작용에 걸쳐 대화 맥락을 유지할 수 있는 에이전트를 만듭니다.

리서치 에이전트 시스템 구현

여러 소스에서 정보를 수집하고, 발견 사항을 병합하며, 종합 보고서를 생성할 수 있는 에이전트를 설계합니다.

상태 유지 채팅 애플리케이션 생성

대화 기록을 기억하고 이전 상태에서 재개할 수 있는 채팅 애플리케이션을 구축합니다.

جرّب هذه الموجهات

기본 에이전트 설정
도구를 호출할 수 있는 간단한 ReAct 스타일 에이전트를 LangGraph로 만드세요. 상태를 정의하고, 노드를 만들고, 에지를 설정하고, 그래프를 컴파일하는 방법을 보여주세요.
상태 관리
TypedDict와 사용자 정의 리듀서를 사용하여 LangGraph에서 복잡한 상태를 관리하는 방법을 보여주세요. 메시지를 축적하고, 여러 노드의 발견 사항을 병합하고, 대화 기록을 추적하고 싶습니다.
조건부 라우팅
LangGraph에서 조건부 브랜칭을 구현하는 것을 도와주세요. 쿼리 유형(코딩, 검색, 채팅)에 따라 다른 에이전트로 라우팅하고, 응답을 적절히 처리해야 합니다.
지속성 설정
대화를 재개할 수 있도록 내 LangGraph 에이전트에 체크포인팅을 추가하세요. 체크포인터를 구성하고 세션 간에 상태를 유지하는 방법을 보여주세요.

أفضل الممارسات

  • 무한 루프를 방지하기 위해 라우팅 함수에 항상 명확한 종료 조건을 정의하세요
  • 적절히 리듀서 사용 - 축적에는 add_messages, 복잡한 병합에는 사용자 정의 함수
  • 입력/출력 스키마를 설계하여 상태를 필요한 것으로 최소화하고 집중하세요

تجنب

  • 도구에서 사용자 입력에 eval() 사용 -用户提供된 표현식은 항상 검증하고 살균하세요
  • 상태 업데이트를 반환하지 않는 상태 없는 노드 생성 - LangGraph의 목적을 무효화함
  • 불필요한 필드가 있는 거대한 모노리식 상태 사용 - 직렬화 오버헤드와 컨텍스트膨胀을 야기함

الأسئلة المتكررة

LangGraph란 무엇인가요?
LangGraph는 그래프 구조를 사용하여 상태를 유지하고 여러 행위자가 참여하는 AI 애플리케이션을 구축하기 위한 프레임워크입니다. 사이클과 지속성 지원을 통해 LangChain을 확장합니다.
LLM API 키가 필요하나요?
네, LangGraph는 에이전트가 작동하기 위해 LLM API(OpenAI, Anthropic 등)에 대한 액세스가 필요합니다. 이 스킬은 아키텍처를 제공하고, 사용자가 API 자격 증명을 제공합니다.
LangGraph가 대화 기록을 저장할 수 있나요?
네, LangGraph는 다양한 백엔드(Memory, SQLite, Postgres)로 체크포인팅을 지원합니다. 이를 통해 에이전트가 이전 상태에서 재개할 수 있습니다.
LangGraph가 Python 전용인가요?
주요 SDK는 Python입니다. TypeScript/JavaScript SDK도 있지만 초기 개발 단계에 있습니다.
내 에이전트에 도구를 추가하려면 어떻게 해야 하나요?
langchain_core.tools의 @tool 데코레이터를 사용하여 도구를 정의하세요. bind_tools()로 LLM에 바인딩한 다음 실행을 처리할 ToolNode를 생성하세요.
에지와 조건부 에지의 차이점은 무엇인가요?
정규 에지는 노드를 고정된 경로로 연결합니다. 조건부 에지는 현재 상태에 기반하여 다음으로 이동할 노드를 결정하는 함수를 사용합니다.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md