KI-Agenten mit LangChain bauen: Ein Leitfaden für Enterprise-Devs
Hören Sie auf, Hardcoded Prompts zu schreiben. Lernen Sie, wie man ReAct-Loops, Vektor-Speicher und Tools implementiert, um autonome Agenten zu erstellen.
Die meisten „KI“-Apps heute sind nur glorifizierte Chatbots. Sie tippen, sie antworten. Aber ein Agent kann Dinge tun. Er kann im Web surfen, eine SQL-Datenbank abfragen und Slack-Nachrichten senden.
Das ReAct-Muster (Reasoning + Acting)
Der Kern jedes LangChain-Agenten ist die ReAct-Schleife. Sie erlaubt dem LLM, die Generierung zu pausieren, ein Tool zu nutzen und dann basierend auf dem Ergebnis fortzufahren.
- Gedanke: „Der Nutzer will den Aktienkurs von Apple. Ich kenne ihn nicht.“
- Aktion: „Ich nutze das [Such-Tool], um ‚AAPL Aktienkurs‘ zu finden.“
- Beobachtung: „Das Tool gab zurück: $185.40.“
- Antwort: „Die Apple-Aktie wird derzeit bei $185.40 gehandelt.“
Vektor-Speicher (RAG)
Agenten haben kurze Aufmerksamkeitsspannen (Kontextfenster). Um ihnen Langzeitgedächtnis zu geben, nutzen wir Vektor-Datenbanken (wie Pinecone oder Qdrant).
Wenn ein Nutzer eine Frage stellt, senden wir nicht die ganze Datenbank an GPT-4. Wir wandeln die Anfrage in einen Vektor um, finden die 3 ähnlichsten Dokumente und konstruieren einen Prompt.
Code-Beispiel: Ein einfacher SQL-Agent
Hier ist, wie wir einen Agenten implementieren, der Ihre Postgres-Datenbank in natürlicher Sprache abfragen kann:
from langchain.agents import create_sql_agent
from langchain.agents.agent_toolkits import SQLDatabaseToolkit
from langchain.sql_database import SQLDatabase
from langchain.llms import OpenAI
db = SQLDatabase.from_uri("postgresql://user:pass@localhost:5432/crm")
toolkit = SQLDatabaseToolkit(db=db, llm=OpenAI(temperature=0))
agent_executor = create_sql_agent(
llm=OpenAI(temperature=0),
toolkit=toolkit,
verbose=True
)
agent_executor.run("How many customers signed up last week?")
Der Agent generiert automatisch das SQL: SELECT COUNT(*) FROM users WHERE created_at > NOW() - INTERVAL '1 week', führt es aus und erklärt das Ergebnis.
Sicherheitswarnung
Geben Sie einem Agenten niemals Schreibzugriff (INSERT/DELETE) auf Ihre Produktionsdatenbank ohne „Human in the Loop“. LLMs können destruktive Befehle halluzinieren.
