Hallo zusammen, hier ist Sarah Chen von agnthq.com, und ich habe heute eine Geschichte für euch. Erinnerst du dich an letztes Jahr, als alle über LLMs sprachen und wie sie alles verändern würden? Nun, das taten sie, aber nicht auf die Weise, wie viele erwartet haben. Der eigentliche Wandel, der tatsächlich einen Unterschied darin macht, wie ich arbeite (und wahrscheinlich auch, wie du es tun wirst), betrifft nicht nur große Sprachmodelle. Es geht um die darauf aufgebauten Agenten.
Ich experimentiere seit Monaten mit diesen Dingen, um herauszufinden, welche tatsächlich das halten, was sie versprechen. Und lass mich dir sagen, es gibt viel Lärm da draußen. Aber eine Plattform hat mich immer wieder mit ihrer praktischen Nützlichkeit beeindruckt, besonders für jemanden wie mich, der Content-Erstellung, Forschung und das Schreiben von Codeschnipseln jongliert: Microsoft AutoGen. Heute werde ich nicht nur AutoGen bewerten; ich werde dir zeigen, wie ich es tatsächlich benutze, um mein Leben zu erleichtern, wobei ich mich auf die Multi-Agentenfähigkeiten für ein ganz bestimmtes Problem konzentriere: die Generierung von Inhalten mit eingebetteten Codebeispielen.
Vergiss das generische „AutoGen ist ein Framework für Multi-Agenten-Gespräche“ Gerede. Wir werden uns die Hände schmutzig machen. Es geht nicht nur darum, einen Agenten zu bauen; es geht darum, ein Team von Agenten aufzubauen, jeder mit einer spezifischen Rolle, um eine komplexe Aufgabe zu bewältigen. Denk daran, es ist wie das Zusammenstellen eines kleinen, hoch effektiven virtuellen Teams für ein Projekt.
Das Problem: Meine endlose Suche nach praktischen Codeschnipseln
Als Technik-Blogger ist mein größter Kopfschmerz nicht nur das Schreiben des Artikels; es ist sicherzustellen, dass die Beispiele gut sind. Ich kann den ganzen Tag über KI-Agenten schreiben, aber wenn ich dir kein schnelles, funktionierendes Stück Code zeigen kann, das meinen Punkt veranschaulicht, wozu der ganze Aufwand? Historisch bedeutete das Stunden des manuellen Testens, Debuggen und oft die Erkenntnis, dass meine ursprüngliche Idee fehlerhaft war. Es ist ein riesiger Zeitfresser.
Ich brauchte ein System, das:
- Eine hochrangige Anfrage nach einem Codebeispiel verstehen kann.
- Den tatsächlichen Code generiert.
- Diesen Code testet, um sicherzustellen, dass er funktioniert.
- Rückmeldung gibt, wenn er nicht funktioniert.
- Diesen funktionierenden Code in eine Erzählung integriert.
Das ist viel für ein LLM, und oft, wenn ich versuchte, es mit einer einzigen Eingabe zu erzwingen, bekam ich Halluzinationen, nicht funktionierenden Code oder nur allgemeine Floskeln. Hier glänzt der Multi-Agenten-Ansatz von AutoGen.
Mein AutoGen-Setup: Die „Content Creator Crew“
Ich habe eine kleine „Crew“ von Agenten in AutoGen eingerichtet, die jeweils dafür ausgelegt ist, einen bestimmten Teil meines Content-Erstellungsprozesses zu übernehmen. Hier ist das Team:
1. Der „Writer“ Agent (User_Proxy)
Das bin ich, im Wesentlichen. Oder vielmehr, es ist der Agent, der meine Eingaben repräsentiert und die endgültige Ausgabe erhält. Er ist so konfiguriert, dass er menschliches Eingreifen zulässt, was entscheidend ist, um den endgültigen Inhalt zu überprüfen und Feedback zu geben. Ich möchte nicht einfach blind vertrauen, was die Agenten ausspucken; ich muss sie leiten.
user_proxy = autogen.UserProxyAgent(
name="Writer",
human_input_mode="ALWAYS", # Wichtig, um den Prozess zu leiten
max_consecutive_auto_reply=10,
is_termination_msg=lambda x: x.get("content", "").rstrip().endswith("TERMINATE"),
code_execution_config={"work_dir": "agent_workspace"},
)
Eine kurze Anmerkung zu human_input_mode="ALWAYS": Das ist für mich entscheidend. Es bedeutet, dass AutoGen nach jeder Runde des Agentengesprächs auf meine Eingabe wartet. Manchmal ändere ich es auf „NEVER“, wenn ich mir bei einem Workflow sicher bin, aber bei komplexen kreativen Aufgaben hält „ALWAYS“ mich im Loop.
2. Der „Coder“ Agent (Assistant)
Die Aufgabe dieses Agenten ist es, den tatsächlichen Code zu schreiben. Es ist ein Assistenzagent, was bedeutet, dass er keinen Code direkt ausführt, sondern Codeblöcke vorschlagen kann. Ich habe ihm eine Systemnachricht gegeben, die Klarheit und Praktikabilität betont.
coder = autogen.AssistantAgent(
name="Coder",
llm_config={"config_list": [{"model": "gpt-4-turbo-preview"}]}, # Hier wird ein leistungsstarkes Modell verwendet
system_message="You are a Python programmer. You write clear, concise, and functional Python code. When asked to provide a code example, generate only the code and any necessary import statements. Do not add explanations unless specifically asked. Focus on practical, runnable examples.",
)
Ich habe festgestellt, dass es sehr hilfreich ist, in der system_message für den Coder-Agenten super explizit zu sein, da dies viel von dem „Schnickschnack“ reduziert, den LLMs oft hinzufügen, wie lange Erklärungen, bevor der Code überhaupt beginnt. Ich will einfach nur den Code, Leute!
3. Der „Tester“ Agent (User_Proxy mit Codeausführung)
Hier passiert die Magie. Der Tester-Agent ist ein weiterer UserProxyAgent, aber sein Hauptzweck ist es, Code vom Coder zu empfangen, diesen auszuführen und die Ergebnisse zu melden. Wenn ein Fehler auftritt, sagt er es dem Coder, und der Coder versucht es erneut. Dieser Feedback-Schleifenprozess ist von unschätzbarem Wert.
tester = autogen.UserProxyAgent(
name="Tester",
human_input_mode="NEVER", # Wir brauchen kein menschliches Eingreifen für Tests, nur Ausführung
max_consecutive_auto_reply=10,
code_execution_config={"work_dir": "agent_workspace"},
system_message="You are a Python code execution environment. You will receive Python code, execute it, and report the output. If there are errors, report them clearly.",
)
Die Einstellung human_input_mode="NEVER" für den Tester ist wichtig. Wir wollen, dass er autonom in seiner Testfunktion ist. Die code_execution_config verweist auf ein Arbeitsverzeichnis, in dem alle generierten Skripte gespeichert und ausgeführt werden.
4. Der „Explainer“ Agent (Assistant)
Sobald wir funktionierenden Code haben, kommt der Explainer-Agent ins Spiel. Seine Aufgabe ist es, den funktionalen Code in einfacher Sprache zu erklären, die für einen Blogbeitrag geeignet ist. Er formatiert auch die Ausgabe für eine einfache Integration.
explainer = autogen.AssistantAgent(
name="Explainer",
llm_config={"config_list": [{"model": "gpt-4-turbo-preview"}]},
system_message="You are a technical content writer. You receive Python code and its output, and your task is to explain it clearly and concisely for a blog post audience. Provide a brief introduction to the code's purpose, a step-by-step explanation if needed, and wrap the code in a markdown block. Keep your explanations engaging and easy to understand.",
)
Ich habe festgestellt, dass es dem Explainer sehr hilft, eine klare Vorgabe zu seinem Publikum und zum Ausgabeformat zu geben. Dadurch wird verhindert, dass er nur den Code wiederholt oder zu ausschweifend wird.
Der Workflow: Wie sie miteinander kommunizieren
Hier ist, wie ich ihre Gespräche mit AutoGens GroupChatManager orchestriere:
groupchat = autogen.GroupChat(agents=[Writer, Coder, Tester, Explainer], messages=[], max_round=20)
manager = autogen.GroupChatManager(groupchat=groupchat, llm_config={"config_list": [{"model": "gpt-4-turbo-preview"}]})
# Initiate the conversation
Writer.initiate_chat(
manager,
message="I need a Python code example that demonstrates how to create a simple AutoGen multi-agent chat between two assistant agents. Make sure the code is runnable and includes a basic conversation.",
)
Wenn ich das starte, passiert ungefähr Folgendes:
- Writer (ich) sendet die erste Anfrage.
- Manager leitet die Anfrage an den Coder weiter.
- Coder generiert ein Python-Skript für den Multi-Agenten-Chat.
- Manager übergibt diesen Code dann an den Tester.
- Tester führt den Code aus.
- Wenn ein Fehler auftritt, Tester berichtet ihn an den Coder, der dann versucht, ihn zu beheben und neuen Code generiert. Dieser Loop geht weiter, bis der Code erfolgreich ausgeführt wird.
- Wenn der Code erfolgreich ausgeführt wird, Tester berichtet die Ausgabe.
- Sobald der funktionierende Code und dessen Ausgabe bestätigt sind, leitet der Manager das Gespräch an den Explainer weiter.
- Explainer nimmt den funktionierenden Code und dessen Ausgabe und generiert den erklärenden Text für meinen Blogbeitrag, formatiert mit Markdown-Codeblöcken.
- Schließlich überprüft der Writer (ich) die Ausgabe des Explainers und das gesamte Gespräch und gibt eine „TERMINATE“-Nachricht, wenn er zufrieden ist, oder weitere Anweisungen, wenn nicht.
Praktisches Beispiel: Generierung eines AutoGen-Agenten-Chat-Snippets
Angenommen, ich benötige ein einfaches Beispiel für einen Blogbeitrag über die grundlegende Interaktion zwischen AutoGen-Agenten. Mein Prompt an den „Writer“ (der ich bin, der das Gespräch initiiert) wäre:
"I need a Python code example that demonstrates how to create a simple AutoGen multi-agent chat between two assistant agents. Make sure the code is runnable and includes a basic conversation."
Hier ist eine vereinfachte Version dessen, was die Agenten nach ein paar Runden produzieren könnten:
Der Code (generiert von Coder, getestet von Tester)
import autogen
# Konfiguration für LLMs
config_list = [
{
"model": "gpt-4-turbo-preview",
}
]
# Erstelle den ersten Assistenten-Agenten
agent1 = autogen.AssistantAgent(
name="AgentA",
llm_config={"config_list": config_list},
system_message="Du bist AgentA. Deine Aufgabe ist es, AgentB zu grüßen und nach dem Wetter zu fragen.",
)
# Erstelle den zweiten Assistenten-Agenten
agent2 = autogen.AssistantAgent(
name="AgentB",
llm_config={"config_list": config_list},
system_message="Du bist AgentB. Deine Aufgabe ist es, auf AgentAs Gruß zu antworten und ein einfaches Wetter-Update zu geben.",
)
# Erstelle einen Nutzer-Proxy-Agenten, um den Chat zu initiieren
user_proxy = autogen.UserProxyAgent(
name="User_Proxy",
human_input_mode="NEVER",
max_consecutive_auto_reply=0, # Dieser Agent startet nur den Chat und antwortet nicht
is_termination_msg=lambda x: x.get("content", "").rstrip().endswith("TERMINATE"),
code_execution_config={"work_dir": "agent_workspace"}, # Nicht unbedingt notwendig für dieses Beispiel, aber gute Praxis
)
# Starte das Gespräch
user_proxy.initiate_chat(agent1, message="Starte das Gespräch mit AgentB.")
Die Erklärung (Generiert von Explainer)
Dieses einfache Python-Skript demonstriert, wie man ein grundlegendes Gespräch zwischen zwei Assistenten-Agenten mit Microsoft AutoGen einrichtet. Wir definieren zwei AssistantAgent Instanzen, AgentA und AgentB, die jeweils eine eindeutige Rolle in ihrer system_message haben. AgentA hat die Aufgabe, zu grüßen und nach dem Wetter zu fragen, während AgentB darauf eingestellt ist, mit einem Wetter-Update zu antworten.
Ein UserProxyAgent, genannt User_Proxy, wird verwendet, um den Dialog zu starten. In diesem Setup fungiert User_Proxy als Orchestrator, der den Chat mit AgentA initiieren. Da human_input_mode auf "NEVER" und max_consecutive_auto_reply auf 0 für User_Proxy eingestellt ist, startet er einfach das Gespräch und tritt dann zurück, sodass AgentA und AgentB basierend auf ihren Systemnachrichten und dem Verlauf des Gesprächs interagieren können.
Dieses Muster ist großartig für die Erstellung automatisierter Workflows, bei denen verschiedene KI-Entitäten zusammenarbeiten, um ein Ziel zu erreichen, wie das Generieren dynamischer Inhalte oder das Simulieren von Interaktionen.
Meine Erkenntnisse und was ich gelernt habe
AutoGen, insbesondere seine Multi-Agenten-Fähigkeiten, hat meine Produktivität erheblich gesteigert. Es geht nicht darum, mich zu ersetzen; es geht darum, mir ein hochqualifiziertes, autonomes Team zu geben, das die Routinearbeit und Überprüfungen übernimmt, die früher so viel meiner Zeit beansprucht haben. Hier sind meine wichtigsten Erkenntnisse:
- Klare Rollen definieren: Je spezifischer du mit der
system_messagejedes Agenten bist, desto besser funktionieren sie. Mehrdeutigkeit führt zu allgemeinen Antworten, was wir in einem spezialisierten Team nicht wollen. Denk daran wie an eine Stellenbeschreibung für jedes Teammitglied. - Iterative Verfeinerung ist entscheidend: Erwarten Sie nicht, dass beim ersten Versuch alles perfekt ist. Meine Agenten, insbesondere der Coder und der Tester, haben viele Iterationen von Systemnachrichten und Eingabeaufforderungen durchlaufen, bis sie zuverlässig das produziert haben, was ich benötigte. Hier ist der
human_input_mode="ALWAYS"für meinen „Writer“-Agenten von unschätzbarem Wert. - Der Tester-Agent ist ein bedeutender Wandel: Im Ernst, einen Agenten zu haben, der Code ausführen und sofort objektives Feedback geben kann, ist transformativ. Es ist, als hätte ich einen dedizierten QA-Ingenieur für jeden Code-Schnipsel, den ich erstelle. Dies reduziert drastisch die Anzahl der nicht funktionierenden Beispiele, die ich sonst veröffentlichen würde.
- Den Gesprächsfluss steuern: Der
GroupChatManagerist mächtig, aber zu verstehen, wie Agenten Nachrichten übermitteln und wer auf wen antwortet, ist entscheidend. Manchmal weise ich Agenten ausdrücklich an (z.B. „Coder, bitte antworte auf das Feedback des Testers“), wenn der Manager verwirrt ist. - Die Wahl des LLMs ist wichtig: Obwohl AutoGen mit verschiedenen LLMs funktioniert, habe ich festgestellt, dass leistungsfähigere Modelle wie GPT-4-Turbo-Preview deutlich bessere Ergebnisse liefern, insbesondere bei der Code-Generierung und komplexen Erklärungen. Die zusätzlichen Kosten lohnen sich für kritische Aufgaben.
AutoGen ist nicht nur eine Plattform; es ist eine neue Denkweise, wie KI bei komplexen Aufgaben unterstützen kann. Es geht über einmalige Eingabeaufforderungen hinaus, um ausgeklügelte Workflows zu orchestrieren. Für Content-Ersteller, Entwickler oder anyone, die technische Beispiele generieren und überprüfen müssen, ist dieser Multi-Agenten-Ansatz, meiner ehrlichen Meinung nach, eine der praktischsten und eindrucksvollsten Anwendungen von KI-Agenten, die ich bisher gesehen habe.
Also, wenn du in den Details von Codebeispielen für deine Inhalte oder Projekte ertrinkst, probiere das Multi-Agenten-System von AutoGen aus. Es könnte das virtuelle Team sein, von dem du nie wusstest, dass du es brauchst. Lass mich in den Kommentaren wissen, ob du ähnliche Setups ausprobiert hast oder Fragen hast!
Bis zum nächsten Mal, bleib am Ball und entdecke weiter!
Verwandte Artikel
- Markttrends 2026: Mein No-BS Tech Review
- Canva AI News: Die Zukunft des Designs enthüllt
- AI-Regulierungsnachrichten 2026: Das globale Patchwork, nach dem niemand gefragt hat
🕒 Published: