Allgemeine Einführung
AIEvo ist das Open-Source-Multi-Agent-Framework der Ant Group, das für die effiziente Erstellung von Multi-Agent-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
Ablauf der Installation
- 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:
aufgeräumt gehen
Richtlinien 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")))
withBaseURL(os.Getenv("OPENAI_BASE_URL"))) = nil {
log.Fatal(err)
}
- Werkzeuge zur Dateibearbeitung::
fileTools, _ := file.GetFileRelatedTools(Arbeitsbereich)
- 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::
Ingenieur, _ := agent.NewBaseAgent(
agent.WithName("Ingenieur"),
agent.WithDesc(IngenieurBeschreibung),
agent.WithPrompt(IngenieurPrompt), agent.
agent.WithInstruction(SingleAgentInstructions), agent.
agent.WithVars("sop", Workflow), agent.
agent.WithVars("Arbeitsbereich", Arbeitsbereich), agent.
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")))
withBaseURL(os.Getenv("OPENAI_BASE_URL"))) = nil {
log.Fatal(err)
}
- Werkzeuge zur Dateibearbeitung::
fileTools, _ := file.GetFileRelatedTools(Arbeitsbereich)
- 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::
Ingenieur, _ := agent.NewBaseAgent(
agent.WithName("Ingenieur"),
agent.WithDesc(IngenieurBeschreibung),
agent.WithPrompt(IngenieurPrompt), agent.
agent.WithInstruction(SingleAgentInstructions), agent.
agent.WithVars("sop", Workflow), agent.
agent.WithVars("Arbeitsbereich", Arbeitsbereich), agent.
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 Bearbeiter 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_MODELL
, 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.