Heim > Backend-Entwicklung > Python-Tutorial > Selbstkorrigierende KI-Agenten: So bauen Sie eine KI auf, die aus ihren Fehlern lernt

Selbstkorrigierende KI-Agenten: So bauen Sie eine KI auf, die aus ihren Fehlern lernt

DDD
Freigeben: 2024-12-29 00:09:11
Original
714 Leute haben es durchsucht

Self-Correcting AI Agents: How to Build AI That Learns From Its Mistakes

Einführung

Was wäre, wenn Ihr KI-Agent seine eigenen Fehler erkennen, daraus lernen und es erneut versuchen könnte – ohne menschliches Eingreifen? Willkommen in der Welt der selbstkorrigierenden KI-Agenten.

Die meisten KI-Modelle generieren Ausgaben in einem einzigen Versuch. Aber selbstkorrigierende Wirkstoffe gehen noch weiter. Sie können erkennen, wann ein Fehler auftritt, die Ursache analysieren und eine Lösung anwenden – alles in Echtzeit. Betrachten Sie es als eine KI mit einer integrierten „Versuch-und-Irrtum“-Denkweise.

In diesem Blog erfahren Sie:

  • Was Selbstkorrektur für KI-Agenten bedeutet.
  • Wie man einen Agenten baut, der sich an Fehler anpasst.
  • So wenden Sie das Reflexionsmuster im Agentendesign an.

Am Ende wissen Sie, wie Sie KI-Agenten entwerfen, die nicht nur ordnungsgemäß scheitern, sondern sich auch bei jedem Versuch verbessern.


1️⃣ Was ist ein Selbstkorrekturmittel?

Ein selbstkorrigierender Agent ist ein KI-System, das seine eigenen Fehler erkennen und eine neue Strategie versuchen kann. Wenn der anfängliche Ansatz nicht funktioniert, bewertet der Agent es noch einmal und versucht einen alternativen Weg.

Analogie:

Stellen Sie sich vor, Sie bitten einen Koch, einen Kuchen zu backen, aber beim ersten Mal wird zu viel Zucker verwendet. Eine Standard-KI würde immer wieder den gleichen Fehler machen. Aber eine selbstkorrigierende KI würde den Fehler bemerken, beim nächsten Mal den Zucker reduzieren und anpassen, bis der Kuchen perfekt schmeckt.

Warum sind Selbstkorrekturmittel wichtig?

Die meisten KI-Tools (wie ChatGPT) können Ihnen nur eine einzige Antwort geben. Wenn es falsch ist, müssen Sie es manuell auffordern, es erneut zu versuchen. Aber ein selbstkorrigierender Agent kann autonom erneut versuchen.

?️ Beispielanwendungsfall:

Eine KI wird gebeten, eine Python-Funktion zu schreiben, die Fibonacci-Zahlen berechnet.

Versuch 1:Die KI schreibt eine langsame rekursive Funktion.

Selbstkorrektur: Es wird festgestellt, dass die Rekursion zu langsam ist.

Versuch 2:Die KI schreibt die Funktion mithilfe dynamischer Programmierung neu und macht sie dadurch schneller.


2️⃣ Schlüsseltechniken zur Selbstkorrektur

Wie machen wir einen Agenten selbstbewusst genug, um seine Fehler zu erkennen? Hier sind drei Haupttechniken:

1. Fehlererkennung

  • Identifizieren Sie, ob das Ergebnis „falsch“ ist (z. B. ein API-Aufruffehler, eine falsche Ausgabe oder eine schlechte Leistung).
  • Verwenden Sie Fehlercodes, Ausnahmen oder Testfälle, um Fehler zu erkennen.

2. Reflexion

  • Agenten denken über ihre Entscheidungen nach, fragen: „Was ist schief gelaufen?“ und planen ihren nächsten Schritt.
  • Reflexion kann durch Protokollierung von Fehlern, Verfolgung erfolgloser API-Aufrufe oder Neubewertung der Antwortqualität erreicht werden.

3. Logik wiederholen

  • Nach Überlegung versuchen es die Agenten erneut mit einer verbesserten Strategie.
  • Dies kann bedeuten, dass Sie den API-Anbieter wechseln, eine effizientere Logik verwenden oder einen Backup-Ansatz anwenden.

? Profi-Tipp:

Fehlerprotokolle können in das KI-Modell zurückgeführt werden, um die zukünftige Leistung zu verbessern.


3️⃣ Selbstkorrektur in der Praxis

Lassen Sie uns einen selbstkorrigierenden KI-Agenten mit Python und FastAPI erstellen.


?‍? Schritt 1: Das Problem

Wir wollen einen KI-Agenten, der eine Python-Funktion generieren kann. Wenn die Funktion nicht ausgeführt werden kann oder eine falsche Ausgabe erzeugt, korrigiert sich der Agent automatisch selbst.

Problem:Schreiben Sie eine Fibonacci-Funktion, die die 10. Fibonacci-Zahl berechnet.

Herausforderung: Wenn der Agent eine rekursive Version generiert (die langsam ist), sollte er dies erkennen und sie mithilfe dynamischer Programmierung neu schreiben.


?‍? Schritt 2: Richten Sie den Agenten ein

Installieren Sie die erforderlichen Abhängigkeiten:

pip install openai fastapi uvicorn

Nach dem Login kopieren
Nach dem Login kopieren

?‍? Schritt 3: Schreiben Sie den Agenten

So funktioniert der Agent:

  1. Es generiert eine Python-Funktion mithilfe der OpenAI-API.
  2. Es führt die Funktion aus, um zu prüfen, ob es funktioniert.
  3. Wenn die Funktion fehlschlägt (langsam, falsch oder fehlerhaft), spiegelt sie den Ansatz wider und korrigiert.

Code-Implementierung

import openai
import time
import asyncio

# ? Replace with your OpenAI API key
openai.api_key = "your_openai_api_key_here"

# ? Step 1: Ask the AI to generate a Fibonacci function
async def generate_fibonacci_function():
    prompt = "Write a Python function to calculate the 10th Fibonacci number."
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}]
    )
    function_code = response['choices'][0]['message']['content']
    return function_code

# ? Step 2: Test the function to see if it works
def test_fibonacci_function(function_code):
    try:
        exec(function_code)  # Run the function in a safe execution environment
        result = eval("fibonacci(10)")  # Call the function with n=10
        if result == 55:  # Correct Fibonacci value for n=10
            return "success", result
        else:
            return "wrong_output", result
    except Exception as e:
        return "error", str(e)

# ? Step 3: Self-Correct by asking for a new version of the function
async def self_correct_function():
    max_attempts = 3
    for attempt in range(max_attempts):
        print(f"? Attempt {attempt + 1}")

        # Generate a new Fibonacci function
        function_code = await generate_fibonacci_function()
        print(f"Generated function:\n{function_code}\n")

        # Test the function to see if it works
        status, result = test_fibonacci_function(function_code)
        if status == "success":
            print(f"✅ Success! Fibonacci(10) = {result}")
            return
        elif status == "wrong_output":
            print(f"❌ Incorrect result: {result}. Asking AI to try a better method.")
        else:
            print(f"? Error: {result}. Asking AI to try again.")

    print("❌ Max attempts reached. Could not generate a correct function.")

# ? Run the correction process
asyncio.run(self_correct_function())

Nach dem Login kopieren

4️⃣ Wie es funktioniert

  1. Funktion generieren: Die KI schreibt eine Python-Funktion für Fibonacci.
  2. Funktion ausführen: Der Agent führt die Funktion aus und prüft das Ergebnis.
  3. Selbstkorrektur: Wenn das Ergebnis falsch ist, fordert es OpenAI dazu auf, es erneut zu versuchen mit einem intelligenteren Ansatz.

Ausgabebeispiel

pip install openai fastapi uvicorn

Nach dem Login kopieren
Nach dem Login kopieren

5️⃣ Schlüsselmuster bei selbstkorrigierenden Wirkstoffen

  1. Fehlererkennung: Suchen Sie nach fehlerhafter Ausgabe, langsamer Leistung oder Ausnahmen.
  2. Reflexion: Protokollieren Sie das Problem. Warum ist es fehlgeschlagen?
  3. Logik wiederholen: Rufen Sie eine neue Version der Funktion auf, diesmal jedoch intelligenter.

? Profi-Tipp:

Verwenden Sie eine Feedbackschleife, damit der Agent aus Fehlern lernen kann. Geben Sie Protokolle zurück an den Agenten, damit dieser häufige Probleme erkennen kann.


6️⃣ Wann sollten Sie selbstkorrigierende Mittel verwenden?

Selbstkorrigierende Mittel sind in Fällen nützlich, in denen häufig Fehler auftreten und manuelle Eingriffe kostspielig sind.

  • API-Aufrufe: Wiederholen Sie den Vorgang, wenn eine API fehlschlägt.
  • Codegenerierung: Code neu generieren, wenn Fehler auftreten.
  • Datenanalyse: Korrigieren Sie falsche Vorhersagen in ML-Modellen.

7️⃣ Vorteile von Selbstkorrekturmitteln

Problem Solution
Agent gets it wrong Retry with a better approach
API request fails Retry with exponential backoff
Code generation error Use a smarter prompt
Problem Lösung Agent versteht es falsch Versuchen Sie es erneut mit einem besseren Ansatz API-Anfrage schlägt fehl Wiederholen Sie es mit exponentiellem Backoff Fehler bei der Codegenerierung Verwenden Sie eine intelligentere Eingabeaufforderung

8️⃣ Bringen Sie es auf die nächste Stufe

  1. Verwenden Sie einen Cache: Speichern Sie erfolgreiche Ausgaben, damit der Agent nicht bei Null anfängt.
  2. Feedbackschleifen hinzufügen: Wenn eine Funktion häufig fehlschlägt, speisen Sie Protokolle in einen Trainingsprozess ein.
  3. Vertrauen des Agenten verfolgen: Wenn der Agent unsicher ist, lassen Sie ihn Testfälle ausführen.

9️⃣ Zusammenfassung

Sie haben jetzt den Entwurf für einen selbstkorrigierenden Agenten, der Python-Funktionen schreiben, testen und reparieren kann. Folgendes haben wir behandelt:

  • Die 3 Säulen der Selbstkorrektur: Fehlererkennung, Reflexion, Wiederholungslogik.
  • So erstellen Sie einen Agenten, der Python-Funktionen generiert und testet.
  • Best Practices für den Aufbau intelligenterer und zuverlässigerer Agenten.

? Herausforderung:

Erstellen Sie einen selbstkorrigierenden Agenten, der nicht nur Code generiert, sondern auch die Laufzeitleistung bewertet. Wenn die Funktion zu langsam ist, lassen Sie sie zur Optimierung neu schreiben.

Möchten Sie mehr über den Aufbau Responsive LLMs erfahren? Schauen Sie sich meinen Kurs auf newline an: Responsive LLM Applications with Server-Sent Events

Ich decke ab:

  • Wie man Systeme für KI-Anwendungen entwirft
  • So streamen Sie die Antwort eines großen Sprachmodells
  • Unterschiede zwischen vom Server gesendeten Ereignissen und WebSockets
  • Bedeutung von Echtzeit für die GenAI-Benutzeroberfläche
  • Wie asynchrone Programmierung in Python funktioniert
  • So integrieren Sie LangChain mit FastAPI
  • Welche Probleme Retrieval Augmented Generation lösen kann
  • So erstellen Sie einen KI-Agenten ... und vieles mehr.

Das obige ist der detaillierte Inhalt vonSelbstkorrigierende KI-Agenten: So bauen Sie eine KI auf, die aus ihren Fehlern lernt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage