In dieser Übung baut ihr einen einfachen Agentic Loop in Java:
- Ein System Prompt definiert das erlaubte JSON-Format.
- Das LLM entscheidet pro Schritt über die nächste Aktion.
- Java führt Tools wie
run_shell,read_fileundwrite_fileaus. - Die Tool-Ergebnisse werden wieder in die Nachrichtenhistorie eingespeist.
- Der Agent arbeitet iterativ, bis die Aufgabe erledigt ist.
Am Ende steht ein einfacher autonomer Coding-Agent mit ReAct-artigem Loop: Prompt -> LLM-Antwort -> Tool-Ausführung -> Tool-Feedback -> nächster Schritt.
- Java 21 installiert
- Maven installiert (
mvn) - OpenAI API Key gesetzt
API-Key setzen:
export OPENAI_API_KEY="<dein-key>"Dieses Repository enthält:
- die Branch
ex1mit einer unvollständigen Übungsaufgabe - die Branch
mainmit der vollständigen Referenzlösung
Wichtig:
// TODO-Texte und// SO PRÜFST DU ESsind auf Deutsch- Klassen- und Variablennamen bleiben Englisch
git checkout ex1Sucht TODOs nach ÜBUNG 1.
Inhaltlich:
- JSON-Antwort in
AgentActionparsen - den
thoughtdes Agenten ausgeben - auf
finishreagieren - je nach
actiondie passende Tool-Methode ausführen - unbekannte Actions sinnvoll behandeln
- Tool-Ergebnis wieder in die History zurückschreiben
Testidee:
- App starten
- Prüfen, ob der Agent mehrere Schritte ausführt
- Beobachten, dass der Agent den Ordner
HelloWorldanlegt - Beobachten, dass darin
Main.javaerstellt, kompiliert und ausgeführt wird
git checkout mainmain enthält die vollständige, lauffähige Lösung.
mvn -q -DskipTests compile
mvn spring-boot:runTODOs finden:
rg "ÜBUNG" srcStatus prüfen:
git status
git diffBranch wechseln:
git checkout <branch-name>src/main/java/de/embarc/ai/AgentLoop.java- System Prompt, Tool-Methoden, Spring-AI-Aufruf, Loop, History-Update und Aufgabenstellung
Wenn die TODOs in ex1 gelöst sind, vergleicht mit:
git checkout main