Agents From Scratch – Eine Anleitung zum Aufbau von KI-Agenten von Grund auf
Projektübersicht
Dieses Repository ist eine Anleitung zum Aufbau von intelligenten Agenten (Agents) von Grund auf. Es baut schrittweise einen "umweltbewussten" Agenten auf, der Ihre E-Mails über die Gmail API verwalten kann. Das Projekt wurde vom LangChain AI-Team entwickelt und ist eine ausgezeichnete Ressource zum Lernen und Praktizieren der Entwicklung von KI-Agenten.
Projektstruktur
Kernkomponenten
Das Projekt ist in 4 Hauptteile unterteilt, die jeweils ein Jupyter Notebook und die entsprechende Code-Implementierung enthalten:
- Agenten Grundlagen - Aufbau grundlegender Agentenfunktionen
- Agenten Bewertung - Implementierung eines Mechanismus zur Bewertung der Agentenleistung
- Mensch-Maschine-Kooperation - Integration von menschlichem Eingreifen und Überprüfungsprozessen
- Gedächtnissystem - Hinzufügen von Langzeitgedächtnis und Lernfähigkeit
Verzeichnisstruktur
notebooks/
- Enthält die Jupyter Notebooks für den Unterricht
src/email_assistant/
- Kernimplementierungscode des E-Mail-Assistenten
eval/
- Datensätze und Tools für die Bewertung
tests/
- Automatisierte Testsuite
Technische Anforderungen
Umgebungsvoraussetzungen
- Python Version: 3.11 oder höher (für optimale Kompatibilität mit LangGraph)
- Hauptabhängigkeiten: LangGraph, OpenAI API, LangSmith
API-Schlüsselkonfiguration
Die folgenden API-Schlüssel müssen konfiguriert werden:
- OpenAI API-Schlüssel (für Sprachmodellaufrufe)
- LangSmith API-Schlüssel (für Verfolgung und Bewertung)
Umgebung einrichten
# Python-Version prüfen
python3 --version
# Virtuelle Umgebung erstellen
python3 -m venv .venv
source .venv/bin/activate
# pip aktualisieren
python3 -m pip install --upgrade pip
# Projekt installieren (im Bearbeitungsmodus)
pip install -e .
Umgebungsvariablen konfigurieren
# Umgebungsvariablenvorlage kopieren
cp .env.example .env
In der Datei .env
konfigurieren:
LANGSMITH_API_KEY=your_langsmith_api_key
LANGSMITH_TRACING=true
LANGSMITH_PROJECT="interrupt-workshop"
OPENAI_API_KEY=your_openai_api_key
Detaillierte Funktionsmodule
1. LangGraph Grundlagen Einführung
- Datei:
notebooks/langgraph_101.ipynb
- Inhalt: Einführung in die grundlegenden Konzepte von LangGraph, einschließlich Chat-Modelle, Tool-Aufrufe, Unterschiede zwischen Agenten und Workflows, LangGraph-Knoten/Kanten/Gedächtnissysteme und die Verwendung von LangGraph Studio
2. E-Mail-Assistent Aufbau
- Notebook:
notebooks/agent.ipynb
- Code:
src/email_assistant/email_assistant.py
- Funktionen:
- Kombination von E-Mail-Klassifizierungsschritten mit Agenten-Reaktionsverarbeitung
- Implementierung eines vollständigen E-Mail-Verarbeitungsworkflows
- Bereitstellung einer automatischen E-Mail-Antwortfunktion
3. Agenten Bewertungssystem
- Notebook:
notebooks/evaluation.ipynb
- Datensatz:
eval/email_dataset.py
- Funktionen:
- Verwendung von Pytest und der LangSmith evaluate API zur Bewertung
- Implementierung eines LLM als Bewertungsmechanismus
- Bewertung der Genauigkeit von Tool-Aufrufen und Klassifizierungsentscheidungen
4. Mensch-Maschine-Kooperation (HITL)
- Notebook:
notebooks/hitl.ipynb
- Code:
src/email_assistant/email_assistant_hitl.py
- Funktionen:
- Integration eines menschlichen Überprüfungsmechanismus
- Unterstützung der manuellen Bestätigung bestimmter Tool-Aufrufe (z. B. Senden von E-Mails, Planen von Besprechungen)
- Verwendung von Agent Inbox als Mensch-Maschine-Schnittstelle
5. Gedächtnissystem
- Code:
src/email_assistant/email_assistant_hitl_memory.py
- Funktionen:
- Lernen und Anpassen aus Benutzerfeedback
- Verwendung von LangGraph Store zur Persistierung des Gedächtnisses
- Unterstützung personalisierter Präferenzeinstellungen
6. Gmail Integration
- Code:
src/email_assistant/email_assistant_hitl_memory_gmail.py
- Funktionen:
- Echte Gmail API-Verbindung
- Vollständige E-Mail-Verwaltungsfunktionen
- Unterstützung der Bereitstellung auf der LangGraph Platform
Testsystem
Automatisierte Testsuite
Das Projekt enthält ein vollständiges automatisiertes Testsystem zur Überprüfung der Korrektheit der E-Mail-Assistentenimplementierung:
# Standardimplementierungstests ausführen
python tests/run_all_tests.py
# Spezifische Implementierungstests ausführen
python tests/run_all_tests.py --implementation email_assistant_hitl
# Tests für alle Implementierungen ausführen
python tests/run_all_tests.py --all
# Experimentnamen für LangSmith-Tracking angeben
python tests/run_all_tests.py --experiment-name "Custom Test Run"
Testbare Implementierungsversionen
email_assistant
- Basis E-Mail-Assistent
email_assistant_hitl
- Mensch-Maschine-Kooperationsversion
email_assistant_hitl_memory
- HITL-Version mit Gedächtnisfunktion
email_assistant_hitl_memory_gmail
- Gmail-Integrationsversion
Bewertungsmetriken
- Visualisierte Überprüfung des Agenten-Trackings
- Detaillierte Bewertungsmetriken
- Vergleichende Analyse verschiedener Agentenimplementierungen
Bereitstellungshinweise
LangGraph Platform Bereitstellung
Das Projekt unterstützt die Bereitstellung auf der LangGraph Platform, um einen Agentendienst in der Produktionsumgebung zu realisieren.
Gmail Tool Einrichtung
Die Google API-Anmeldeinformationen müssen gemäß den Anweisungen in src/email_assistant/tools/gmail/README.md
eingerichtet werden.
Empfohlene Lernpfad
- Anfänger: Beginnen Sie mit dem LangGraph 101 Notebook, um die grundlegenden Konzepte zu verstehen
- Praktiker: Bearbeiten Sie die vier Hauptnotebooks in der Reihenfolge, um schrittweise vollständige Funktionen aufzubauen
- Entwickler: Untersuchen Sie den Implementierungscode im src-Verzeichnis, um die Engineering-Praxis zu verstehen
- Bereitsteller: Konfigurieren Sie die Gmail API und stellen Sie sie in der Produktionsumgebung bereit
Technische Merkmale
- Progressives Lernen: Vom Grundlegenden zum Fortgeschrittenen, Schritt für Schritt
- Praktische Anwendung: Reale E-Mail-Verarbeitungsszenarien
- Vollständiges Engineering: Umfasst eine vollständige Lösung für Tests, Bewertung und Bereitstellung
- Erweiterbarkeit: Das Prinzip kann auf andere Agentenaufgaben angewendet werden
