📦

langgraph

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

KI-Agenten mit LangGraph erstellen

LangGraph ist ein Produktions-Framework zum Erstellen von zustandsbehafteten, Multi-Actor KI-Anwendungen. Diese Fähigkeit hilft Ihnen, Agenten-Architekturen mit sichtbaren Graphstrukturen zu entwerfen, komplexe Zustände zu verwalten, Zyklen und Verzweigungen zu implementieren und Persistenz für fortsetzbare Gespräche hinzuzufügen.

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

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

2

رفع في Claude

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

3

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

اختبرها

استخدام "langgraph". Create a simple agent with tools

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

Here's a basic LangGraph agent setup:

1. Define AgentState with TypedDict
2. Create tool functions with @tool decorator
3. Build agent node that calls LLM with tools
4. Add conditional edges for tool execution
5. Compile and run the graph

The agent will loop between the LLM and tools until no more tools are called, then return to the user.

استخدام "langgraph". How do I prevent infinite loops?

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

Use a max iterations counter in your state:

1. Add 'iterations' field to your state
2. Create should_continue function that checks iterations
3. Increment counter in your agent node
4. Return END when iterations exceed limit

This ensures your agent has a clear exit condition and won't run forever.

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

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

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

Multi-Schritt Agenten-Workflows erstellen

Erstellen Sie Agenten, die reasoning durchführen, Werkzeuge nutzen und Gesprächskontext über mehrere Interaktionen hinweg beibehalten können.

Recherche-Agenten-Systeme implementieren

Entwerfen Sie Agenten, die Informationen aus mehreren Quellen sammeln, Ergebnisse zusammenführen und synthetisierte Berichte erstellen können.

Zustandsbehaftete Chat-Anwendungen erstellen

Erstellen Sie Chat-Anwendungen, die sich an Gesprächsverläufe erinnern und aus früheren Zuständen fortgesetzt werden können.

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

Grundlegende Agent-Einrichtung
Erstelle einen einfachen ReAct-Style Agenten mit LangGraph, der Werkzeuge aufrufen kann. Zeige mir, wie man Zustand definiert, Knoten erstellt, Kanten einrichtet und den Graph kompiliert.
Zustandsverwaltung
Zeige mir, wie man komplexen Zustand in LangGraph mit TypedDict und benutzerdefinierten Reducern verwaltet. Ich möchte Nachrichten akkumulieren, Ergebnisse aus mehreren Knoten zusammenführen und Gesprächsverläufe verfolgen.
Bedingtes Routing
Hilf mir, bedingte Verzweigungen in LangGraph zu implementieren. Ich muss Abfragen basierend auf ihrem Typ (Coding, Suche, Chat) an verschiedene Agenten weiterleiten und die Antworten entsprechend verarbeiten.
Persistenz-Einrichtung
Füge meinem LangGraph Agenten Checkpointing hinzu, damit Gespräche fortgesetzt werden können. Zeige mir, wie man einen Checkpointer konfiguriert und Zustände zwischen Sitzungen persistiert.

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

  • Definieren Sie immer klare Exit-Bedingungen in Ihren Routing-Funktionen, um unendliche Schleifen zu vermeiden
  • Nutzen Sie Reducer angemessen - add_messages für Akkumulation, benutzerdefinierte Funktionen für komplexes Zusammenführen
  • Entwerfen Sie Eingabe-/Ausgabe-Schemata, um den Zustand minimal und fokussiert auf das Notwendige zu halten

تجنب

  • eval() auf Benutzereingaben in Werkzeugen verwenden - validieren und bereinigen Sie immer alle benutzerdefinierten Ausdrücke
  • Zustandslose Knoten erstellen, die keine Zustandsaktualisierungen zurückgeben - widerspricht dem Zweck von LangGraph
  • Riesige monolithische Zustände mit unnötigen Feldern verwenden - verursacht Serialisierungs-Overhead und Context-Bloat

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

Was ist LangGraph?
LangGraph ist ein Framework zum Erstellen von zustandsbehafteten, Multi-Actor KI-Anwendungen unter Verwendung von Graphstrukturen. Es erweitert LangChain mit Unterstützung für Zyklen und Persistenz.
Benötige ich einen LLM API-Schlüssel?
Ja, LangGraph erfordert Zugang zu einer LLM API (OpenAI, Anthropic, usw.), damit der Agent funktioniert. Die Fähigkeit stellt die Architektur bereit; Sie liefern die API-Anmeldedaten.
Kann LangGraph Gesprächsverläufe speichern?
Ja, LangGraph unterstützt Checkpointing mit verschiedenen Backends (Memory, SQLite, Postgres). Dies ermöglicht es Agenten, aus früheren Zuständen fortgesetzt zu werden.
Ist LangGraph nur Python?
Das primäre SDK ist Python. Ein TypeScript/JavaScript SDK existiert, befindet sich aber in frühen Entwicklungsstadien.
Wie füge ich meinem Agenten Werkzeuge hinzu?
Definieren Sie Werkzeuge mit dem @tool Decorator von langchain_core.tools. Binden Sie sie an Ihr LLM mit bind_tools(), und erstellen Sie dann ein ToolNode für die Ausführung.
Was ist der Unterschied zwischen Kanten und bedingten Kanten?
Reguläre Kanten verbinden Knoten in einem festen Pfad. Bedingte Kanten verwenden eine Funktion, um basierend auf dem aktuellen Zustand zu bestimmen, als nächstes welcher Knoten angesteuert wird.

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

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md