Allgemeine Einführung
AIEvo ist das quelloffene Multi-Agenten-Framework der Ant Group, das für die effiziente Erstellung von Multi-Agenten-Anwendungen entwickelt wurde. Das Framework folgt strikt dem SOP-Aufgabengraphen, um die Erfolgsrate bei der Ausführung komplexer Aufgaben zu verbessern, und gewährleistet durch Feedback- und Überwachungsmechanismen eine hohe Flexibilität und Skalierbarkeit.AIEvo wurde in der internen Produktionsumgebung der Ant Group mit Stabilität und Zuverlässigkeit validiert. Benutzer können AIEvo verwenden, um eine Vielzahl von Multi-Agenten-Anwendungen zu erstellen, wie z.B. Debattierwettbewerbe, Werwolf-Tötungsspiele, Undercover-Spiele usw., sowie Einzel-Agenten-Anwendungen, wie z.B. einen Ingenieur-Agenten, der Code-Schreibaufgaben erledigt.
Funktionsliste
- Hohe SOP-KonformitätDurchführung komplexer Aufgaben unter strikter Einhaltung der SOP-Aufgabenpläne.
- Hohe Erfolgsquote bei der UmsetzungVerbesserung des Missionserfolgs durch Feedback- und Überwachungsmechanismen.
- hohe FlexibilitätDynamische Aufgabenerstellung und Abonnementeinstellungen auf der Grundlage von Aufgabenattributen werden unterstützt.
- SkalierbarkeitBietet zahlreiche Erweiterungspunkte zur Unterstützung benutzerdefinierter Erweiterungs-Frameworks.
- UnternehmensüberprüfungValidiert in der internen Produktionsumgebung der Ant Group, um die Stabilität und Zuverlässigkeit des Frameworks zu gewährleisten.
- Beispiel einer Multi-Agenten-AnwendungUnterstützt die Erstellung von Debattenwettbewerben, Werwolfspielen, Undercover-Spielen und anderen Multi-Agenten-Anwendungen.
- Beispiel einer EinzelagentenanwendungUnterstützung bei der Erstellung von Ingenieur-Agenten, die Aufgaben zum Schreiben von Code erledigen.
Hilfe verwenden
Einbauverfahren
- Klon-Lager: Führen Sie den folgenden Befehl in einem Terminal aus, um das AIEvo-Repository zu klonen:
git clone https://github.com/antgroup/aievo.git
- Zugang zum Katalog: Geben Sie den geklonten AIEvo-Katalog ein:
cd aievo
- Installation von AbhängigkeitenInstallieren Sie die erforderlichen Abhängigkeiten gemäß der Abhängigkeitsdatei des Projekts:
go mod tidy
Leitlinien für die Verwendung
Erstellen von Multi-Agenten-Anwendungen
- Initialisierung des Basismodellclients::
client, err := openai.New(openai.WithToken(os.Getenv("OPENAI_API_KEY")), openai.WithModel(os.Getenv("OPENAI_MODEL")), openai.WithBaseURL(os.Getenv("OPENAI_BASE_URL")))
if err != nil {
log.Fatal(err)
}
- Werkzeuge zur Dateibearbeitung::
fileTools, _ := file.GetFileRelatedTools(workspace)
- Werkzeug zur Befehlsausführung::
bashTool, _ := bash.New()
- Werkzeugsatz erstellen::
engineerTools := make([]tool.Tool, 0)
engineerTools = append(engineerTools, fileTools...)
engineerTools = append(engineerTools, bashTool)
- Rückrufprozessor::
callbackHandler := &CallbackHandler{}
- Definition des Umfelds::
env := environment.NewEnv()
- Bauagenten::
engineer, _ := agent.NewBaseAgent(
agent.WithName("engineer"),
agent.WithDesc(EngineerDescription),
agent.WithPrompt(EngineerPrompt),
agent.WithInstruction(SingleAgentInstructions),
agent.WithVars("sop", Workflow),
agent.WithVars("workspace", workspace),
agent.WithTools(engineerTools),
)
Erstellen einer Einzelagentenanwendung
- Initialisierung des Basismodellclients::
client, err := openai.New(openai.WithToken(os.Getenv("OPENAI_API_KEY")), openai.WithModel(os.Getenv("OPENAI_MODEL")), openai.WithBaseURL(os.Getenv("OPENAI_BASE_URL")))
if err != nil {
log.Fatal(err)
}
- Werkzeuge zur Dateibearbeitung::
fileTools, _ := file.GetFileRelatedTools(workspace)
- Werkzeug zur Befehlsausführung::
bashTool, _ := bash.New()
- Werkzeugsatz erstellen::
engineerTools := make([]tool.Tool, 0)
engineerTools = append(engineerTools, fileTools...)
engineerTools = append(engineerTools, bashTool)
- Rückrufprozessor::
callbackHandler := &CallbackHandler{}
- Definition des Umfelds::
env := environment.NewEnv()
- Bauagenten::
engineer, _ := agent.NewBaseAgent(
agent.WithName("engineer"),
agent.WithDesc(EngineerDescription),
agent.WithPrompt(EngineerPrompt),
agent.WithInstruction(SingleAgentInstructions),
agent.WithVars("sop", Workflow),
agent.WithVars("workspace", workspace),
agent.WithTools(engineerTools),
)
Beispielanwendung
- DebattierwettbewerbMehrere Agenten nehmen an Debattenwettbewerben teil.
- Werwolf-SpieleMehrere Agenten sind an dem Spiel Werwolf beteiligt.
- Undercover-SpieleMehrere Agenten sind an verdeckten Spielen beteiligt.
- EssayistikMehrere Agenten arbeiten gemeinsam an Papieren.
- Vertreter der IngenieureEin einzelner Agent erledigt die Codierungsaufgabe.
caveat
- Stellen Sie sicher, dass Sie die Umgebungsvariablen korrekt konfiguriert haben, bevor Sie die
OPENAI_API_KEY
undOPENAI_MODEL
undOPENAI_BASE_URL
usw. - Passen Sie die Beschreibungen, Aufforderungen und Befehle der Agenten an Ihre spezifischen Bedürfnisse an.
- Verwenden Sie den Rückrufprozessor, um den Ausführungsprozess des Agenten zu analysieren und die Effizienz der Aufgabenausführung zu optimieren.