← 返回列表

KI-Serie Interviewfragen 6: Drei Kernmethoden von KI-Agenten: ReAct, Plan-and-Solve und Reflection

Drei Kernmethoden von KI-Agenten: ReAct, Plan-and-Solve und Reflection

KI-Agenten sind intelligente Einheiten, die autonom ihre Umgebung wahrnehmen, Entscheidungen treffen und Aktionen ausführen können. Es gibt drei Hauptmethoden: ReAct, Plan-and-Solve und Reflection. Im Folgenden werden sie mit Flussdiagrammen und Codebeispielen vorgestellt.

1. ReAct (Reasoning + Acting)

Kernidee: Reasoning und Acting werden abwechselnd durchgeführt. Der Agent denkt zuerst über den aktuellen Zustand und den nächsten Schritt nach (Reasoning), führt dann eine Aktion aus (z. B. Tool-Aufruf, Informationssuche) und fährt basierend auf dem Ergebnis mit dem Reasoning fort.

Flussdiagramm:

[Anfangszustand] → [Reasoning: nächsten Schritt überlegen] → [Acting: Aktion ausführen] → [Ergebnis beobachten] → [Reasoning: Plan aktualisieren] → ... → [Endgültige Antwort]

Beispielcode (Pseudocode):

def react_agent(question):
    context = []
    while not solved:
        # Reasoning: Gedankenschritt generieren
        thought = llm.generate_thought(question, context)
        # Acting: Aktion basierend auf Gedanken wählen
        action = llm.choose_action(thought)
        # Aktion ausführen, Beobachtung erhalten
        observation = execute_action(action)
        # Gedanke, Aktion, Beobachtung zum Kontext hinzufügen
        context.append((thought, action, observation))
    return final_answer

Beispiel:
- Benutzer fragt: „Wie ist das Wetter heute in Peking?“
- Agent denkt: „Ich muss die Wetter-API abfragen, benötige Stadt und Datum.“
- Aktion: Wetter-API aufrufen (Parameter: Peking, heute)
- Beobachtung: „Sonnig, 25°C“
- Denken: „Information erhalten, kann antworten.“
- Ausgabe: „In Peking ist es heute sonnig, 25°C.“

2. Plan-and-Solve

Kernidee: Zuerst wird ein vollständiger Plan erstellt (Plan), dann wird er schrittweise ausgeführt (Solve). In der Planungsphase wird die komplexe Aufgabe in Teilschritte zerlegt, in der Ausführungsphase werden diese nacheinander abgearbeitet, wobei der Plan basierend auf Zwischenergebnissen angepasst werden kann.

Flussdiagramm:

[Aufgabe] → [Plan erstellen: Teilschritte zerlegen] → [Schritt 1 ausführen] → [Schritt 2 ausführen] → ... → [Schritt N ausführen] → [Endgültige Antwort]

Beispielcode:

def plan_and_solve(task):
    # Planungsphase
    plan = llm.generate_plan(task)  # z. B.: ["Material suchen", "Informationen ordnen", "Bericht schreiben"]
    context = {}
    for step in plan:
        # Jeden Schritt ausführen
        result = execute_step(step, context)
        context[step] = result
    # Ergebnisse zusammenführen
    final = llm.synthesize(context)
    return final

Beispiel:
- Aufgabe: „Einen Blog über KI-Agenten schreiben“
- Plan:
1. Definition und neueste Entwicklungen von KI-Agenten recherchieren
2. Kernpunkte lesen und zusammenfassen
3. Blog-Gliederung erstellen
4. Inhalt ausfüllen
5. Korrekturlesen und veröffentlichen
- Ausführung: Jeden Schritt nacheinander erledigen, am Ende den Blog ausgeben.

3. Reflection

Kernidee: Der Agent reflektiert während oder nach der Ausführung über sein eigenes Verhalten, bewertet Ergebnisse und verbessert nachfolgende Aktionen. Dies umfasst Selbstkritik, Fehlerkorrektur oder Strategieoptimierung.

Flussdiagramm:

[Aktion] → [Ergebnis beobachten] → [Reflection: Erfolg bewerten] → [Bei Misserfolg: Strategie anpassen] → [Erneut handeln] → ... → [Erfolg]

Beispielcode:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # Reflection
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # Aufgabenbeschreibung oder Strategie basierend auf Reflection anpassen
            task = reflection['improved_task']
    return None

Beispiel:
- Aufgabe: „Berechne 1234 * 5678“
- Aktion: Direkt berechnen, Ergebnis 7006652
- Reflection: Berechnungsprozess prüfen, Übertragungsfehler feststellen
- Anpassung: Neu berechnen, korrektes Ergebnis 7006652 (tatsächlich korrekt)
- Bei weiterem Fehler: Reflection fortsetzen, bis korrekt.

Zusammenfassung und Vergleich

Methode Merkmale Anwendungsszenarien
ReAct Reasoning und Acting wechseln sich ab, dynamische Anpassung Aufgaben mit Echtzeit-Informationsaustausch (z. B. Frage-Antwort, Suche)
Plan-and-Solve Erst planen, dann ausführen, strukturierte Zerlegung Komplexe mehrschrittige Aufgaben (z. B. Schreiben, Datenanalyse)
Reflection Selbstreflexion und Korrektur, iterative Optimierung Aufgaben mit hohem Genauigkeitsbedarf (z. B. Mathematik, Codegenerierung)

In der Praxis werden die Methoden oft kombiniert, z. B. ReAct mit Reflexionsmechanismus oder Plan-and-Solve mit Reflexion nach jedem Schritt.

评论

暂无已展示的评论。

发表评论(匿名)