📦

langgraph

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

Construisez des agents IA avec LangGraph

LangGraph est un framework de qualité production pour construire des applications IA multi-acteurs avec état. Cette compétence vous aide à concevoir des architectures d'agents avec des structures de graphe visibles, gérer des états complexes, implémenter des cycles et des branchements, et ajouter de la persistance pour des conversations reprenables.

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

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

2

رفع في Claude

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

3

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

اختبرها

استخدام "langgraph". Créer un agent simple avec des outils

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

Voici une configuration de base d'agent LangGraph :

1. Définir AgentState avec TypedDict
2. Créer des fonctions d'outil avec le décorateur @tool
3. Construire un nœud d'agent qui appelle le LLM avec des outils
4. Ajouter des arêtes conditionnelles pour l'exécution des outils
5. Compiler et exécuter le graphe

L'agent bouclera entre le LLM et les outils jusqu'à ce qu'aucun outil ne soit appelé, puis retournera à l'utilisateur.

استخدام "langgraph". Comment prévenir les boucles infinies ?

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

Utilisez un compteur d'itérations maximum dans votre état :

1. Ajoutez un champ 'iterations' à votre état
2. Créez une fonction should_continue qui vérifie les itérations
3. Incrémentez le compteur dans votre nœud d'agent
4. Retournez END lorsque les itérations dépassent la limite

Cela garantit que votre agent a une condition de sortie claire et ne tournera pas indéfiniment.

التدقيق الأمني

مخاطر متوسطة
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
الامتثال للمواصفات

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

Construire des Workflows d'Agents Multi-Étapes

Créer des agents capables de raisonner, d'utiliser des outils et de maintenir le contexte de conversation à travers plusieurs interactions.

Implémenter des Systèmes d'Agents de Recherche

Concevoir des agents capables de collecter des informations depuis plusieurs sources, fusionner les résultats et produire des rapports synthétisés.

Créer des Applications de Chat avec État

Construire des applications de chat qui mémorisent l'historique des conversations et peuvent reprendre depuis des états précédents.

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

Configuration de Base d'un Agent
Create a simple ReAct-style agent using LangGraph that can call tools. Show me how to define state, create nodes, set up edges, and compile the graph.
Gestion d'État
Show me how to manage complex state in LangGraph using TypedDict and custom reducers. I want to accumulate messages, merge findings from multiple nodes, and track conversation history.
Routage Conditionnel
Help me implement conditional branching in LangGraph. I need to route queries to different agents based on their type (coding, search, chat) and handle the responses appropriately.
Configuration de la Persistance
Add checkpointing to my LangGraph agent so conversations can be resumed. Show me how to configure a checkpointer and persist state between sessions.

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

  • Définissez toujours des conditions de sortie claires dans vos fonctions de routage pour prévenir les boucles infinies
  • Utilisez les réducteurs de manière appropriée - add_messages pour l'accumulation, des fonctions personnalisées pour la fusion complexe
  • Concevez des schémas d'entrée/sortie pour garder l'état minimal et concentré sur ce qui est nécessaire

تجنب

  • Utiliser eval() sur l'entrée utilisateur dans les outils - validez et assainissez toujours les expressions fournies par l'utilisateur
  • Créer des nœuds sans état qui ne retournent pas de mises à jour d'état - cela contredit le but de LangGraph
  • Utiliser un état monolithique géant avec des champs inutiles - cause une surcharge de sérialisation et un gonflement du contexte

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

Qu'est-ce que LangGraph ?
LangGraph est un framework pour construire des applications IA multi-acteurs avec état en utilisant des structures de graphe. Il étend LangChain avec le support des cycles et de la persistance.
Ai-je besoin d'une clé API LLM ?
Oui, LangGraph nécessite un accès à une API LLM (OpenAI, Anthropic, etc.) pour que l'agent fonctionne. La compétence fournit l'architecture ; vous fournissez les identifiants API.
LangGraph peut-il sauvegarder l'historique des conversations ?
Oui, LangGraph supporte les points de contrôle avec divers backends (Memory, SQLite, Postgres). Cela permet aux agents de reprendre depuis des états précédents.
LangGraph est-il Python uniquement ?
Le SDK principal est Python. Un SDK TypeScript/JavaScript existe mais est en stade de développement précoce.
Comment ajouter des outils à mon agent ?
Définissez des outils en utilisant le décorateur @tool de langchain_core.tools. Liez-les à votre LLM avec bind_tools(), puis créez un ToolNode pour gérer l'exécution.
Quelle est la différence entre les arêtes et les arêtes conditionnelles ?
Les arêtes régulières connectent les nœuds dans un chemin fixe. Les arêtes conditionnelles utilisent une fonction pour déterminer vers quel nœud aller ensuite basé sur l'état actuel.

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

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md