STRUCTURED CODEAGENTS FÜR INTELLIGENTERE AUSFÜHRUNGEN
In der Welt der KI-Agenten ist die Fähigkeit, Aktionen präzise und effizient auszuführen, von entscheidender Bedeutung. Hugging Face hat kürzlich einen innovativen Ansatz vorgestellt, der strukturierte Generierung mit codebasierten Aktionen kombiniert. Diese Methode zeigt, dass strukturierte JSON-Ausgaben dazu beitragen können, dass CodeAgents traditionelle Methoden in Benchmark-Aufgaben übertreffen.
Die Evolution der Agentenaktionen
KI-Agenten müssen in der Lage sein, Aktionen in der realen Welt auszuführen, sei es durch API-Aufrufe, Datenverarbeitung oder das Lösen komplexer Probleme. Die Art und Weise, wie Agenten diese Aktionen ausdrücken, hat sich durch verschiedene Paradigmen entwickelt:
Traditioneller JSON-Agent
Diese Agenten generieren strukturiertes JSON, um Werkzeuge aufzurufen. Ein Beispiel könnte so aussehen:
{"tool": "get_weather", "arguments": {"city": "Paris"}}
Obwohl diese Methode zuverlässig ist, hat sie einige Einschränkungen:
- Begrenzte Aktionsmöglichkeiten: Die Aktionen, die der Agent ausführen kann, sind nur durch vordefinierte Werkzeuge definiert.
- Mangelnde Komposierbarkeit: JSON-Agenten haben Schwierigkeiten, Informationen aus mehreren Quellen zu kombinieren.
- Starrer Aufbau: Sie sind oft nicht in der Lage, Fälle zu behandeln, in denen Werkzeuge nicht genau das tun, was erforderlich ist.
Code Agents
Im Gegensatz dazu nutzen CodeAgents ihre Fähigkeit, ausführbaren Python-Code direkt zu schreiben. Dies ermöglicht eine flexiblere Handhabung von Aufgaben:
temperature_sum = 0
for city in ["Paris", "Tokyo", "New York"]:
temp = get_weather(city)
temperature_sum += temp
print(f"Durchschnittstemperatur: {temperature_sum / 3:.1f}°C")
Der Schlüssel zu diesem Ansatz ist, dass Werkzeuge direkt im Code aufgerufen werden, was eine zuverlässigere Verwaltung von Variablen und Zuständen ermöglicht.
Hinzufügen strukturierter Ausgaben zu Code Agents
Mit strukturierten Ausgaben kann das LLM gezwungen werden, explizite Gedanken und Code als JSON-Blob zu generieren:
{
"thoughts": "Ich möchte die Durchschnittstemperatur in 3 Städten finden.",
"code": "temperature_sum = 0\nfor city in [\"Paris\", \"Tokyo\", \"New York\"]:\n temp = get_weather(city)\n temperature_sum += temp\n\nprint(f\"Durchschnittstemperatur: {temperature_sum / 3:.1f}°C\")"
}
Dieser Ansatz kombiniert die Zuverlässigkeit strukturierter Generierung mit der Flexibilität der Codeausführung.
Benchmark-Ergebnisse
Die Ergebnisse zeigen, dass die Kombination von Codeaktionen und strukturierter Generierung die Leistung in verschiedenen Benchmarks verbessert. In den meisten Fällen übertraf der strukturierte Ansatz den regulären CodeAgent um 2-7 Prozentpunkte.
Warum Struktur hilft
Die Implementierung von CodeAgent in smolagents zeigt, dass Parsing-Fehler die Leistung erheblich beeinträchtigen können. Agenten ohne Parsing-Fehler haben eine um 21,3% höhere Erfolgsquote als solche mit Fehlern.
Wann strukturierte CodeAgents verwenden?
- Bei der Arbeit mit leistungsfähigen Modellen (32B+ Parameter).
- Wenn komplexe Überlegungen und Codeausführungen erforderlich sind.
- Wenn eine zuverlässige Analyse der Agentenausgaben benötigt wird.
Fazit
Die Forschung von Hugging Face deutet darauf hin, dass wir uns in Richtung eines nuancierteren Verständnisses von Agentenarchitekturen bewegen. Es geht nicht nur darum, was der Agent tun kann, sondern auch darum, wie er über das, was er tut, nachdenken sollte. Wenn Sie smolagents verwenden oder Ihr eigenes CodeAgent-System aufbauen, sollten Sie strukturierte Ausgaben in Betracht ziehen.
Quellenliste:
- Quelle: STRUCTURED CODEAGENTS FOR SMARTER EXECUTION
- CodeAgents + Structure: A Better Way to Execute Actions
- OpenAI’s Function Calling API
- Executable Code Actions Elicit Better LLM Agents
- Structured Outputs in Text Generation
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!