Zurück zu Insights
BADA Solutions
Technisch 15 Min Lesezeit

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.

  1. Gedanke: „Der Nutzer will den Aktienkurs von Apple. Ich kenne ihn nicht.“
  2. Aktion: „Ich nutze das [Such-Tool], um ‚AAPL Aktienkurs‘ zu finden.“
  3. Beobachtung: „Das Tool gab zurück: $185.40.“
  4. 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.

Bereit zu skalieren?

Wir sind spezialisiert auf Enterprise Software Engineering. Lassen Sie uns über Ihre Architektur sprechen.

Beratung Vereinbaren