Von Google ADK migrieren
Die CLI connic migrate überführt Google-ADK-Projekte in Connic. Die Anleitung zeigt die Zuordnung der Konzepte, die automatische Konvertierung und die nötige manuelle Nacharbeit.
Auf dieser Seite
Konzeptzuordnung
ADK definiert Agenten in Python. Connic trennt diese in eine YAML-Konfiguration und Python-Code für Tools. Die folgende Tabelle zeigt, wie sich die wichtigsten ADK-Konzepte übertragen lassen.
| ADK | Connic | Hinweise |
|---|---|---|
Agent / LlmAgent | YAML-Datei in agents/ mit type: llm | Wird automatisch migriert |
SequentialAgent | YAML-Datei mit type: sequential | Wird automatisch migriert |
ParallelAgent / LoopAgent | Wird als sequenziell migriert und muss manuell geprüft werden | Kein direktes Connic-Äquivalent |
instruction | system_prompt | Wird aus Python oder YAML extrahiert |
model | model mit Provider-Präfix (integriert oder benutzerdefiniert) | Aus gemini-2.5-flash wird gemini/gemini-2.5-flash |
Python-Tools / FunctionTool | Python-Funktionen in tools/ | FunctionTool-Wrapper werden entfernt |
AgentTool / LLM sub_agents | trigger_agent, ein vordefiniertes Tool | Wird automatisch zugeordnet; Prompts und Namen der Ziel-Agenten prüfen |
google_search | web_search, ein vordefiniertes Tool | Wird automatisch zugeordnet |
| Callbacks | Middleware in middleware/ und Tool-Hooks in hooks/ | Muss manuell konvertiert werden |
| Sessions / State | Connic-Sessions oder Retrieval | Muss manuell neu gestaltet werden |
MCPToolset | mcp_servers in der Agenten-YAML | Muss manuell konfiguriert werden |
Wenn das ADK-Projekt stark auf benutzerdefinierten Agent-Subklassen, dynamischer Registrierung, Plannern oder Callback-gesteuerten Workflows basiert, findet connic migrate möglicherweise nicht automatisch alle Agenten. In diesem Fall kann ein Coding-Agent (Cursor, Windsurf, Claude Code, Codex usw.) die vollständige Migration übernehmen. Führe zunächst connic migrate für das Grundgerüst aus und lass den Coding-Agenten die Bereinigung mithilfe der Connic-Dokumentation als Kontext abschließen.
Beispiel-Prompt für einen Coding-Agenten
Du migrierst ein Google-ADK-Python-Projekt zu Connic.
1. Untersuche das bestehende ADK-Projekt unter ./my-adk-project und erkläre, wie Agenten, Tools, Callbacks, Sessions und Deployment strukturiert sind.
2. Führe `connic migrate --source ./my-adk-project --dest ./my-connic-project` aus.
3. Prüfe das generierte Connic-Projekt und behebe alle in MIGRATION_REPORT.md aufgeführten Probleme.
4. Führe im migrierten Projekt `connic lint` aus und behebe alle Fehler.
5. Fasse zusammen, was problemlos migriert wurde und was noch manuelle Arbeit erfordert.
Bevorzuge die Connic-Konventionen: YAML-Agenten in agents/, Python-Tools in tools/, middleware/ für Hooks und schemas/ für strukturierte Ausgaben.
Nutze die Connic Docs unter https://connic.co/docs/v1 als Referenz.Migration ausführen
Installiere das SDK und führe connic migrate aus. Die CLI fragt nach dem Pfad zum bestehenden ADK-Projekt und dem Zielpfad für das generierte Connic-Projekt.
pip install connic-composer-sdk
connic migrateBeide Pfade lassen sich auch direkt übergeben:
connic migrate --source ./my-adk-project --dest ./my-connic-projectDer Migrator durchsucht das Quellprojekt nach Definitionen von Agent, LlmAgent, SequentialAgent, ParallelAgent und LoopAgent in Python sowie nach YAML-basierten Agent-Konfigurationen (einschließlich root_agent.yaml). Er extrahiert Tools, löst Instructions und Modellnamen auf, generiert das Connic-Projekt und führt für das Ergebnis connic lint aus.
Generiertes Projekt prüfen
Der Migrator erstellt die folgende Struktur. Lies zuerst MIGRATION_REPORT.md. Dort sind alle migrierten Agenten, die aufgelösten Tools und alle Punkte aufgeführt, die manuelle Nacharbeit erfordern.
Ausgabe verstehen
Die folgenden Beispiele zeigen, wie typische ADK-Definitionen in Connic übertragen werden.
LLM-Agent
ADK-Quelle
from google.adk.agents import LlmAgent
from google.adk.tools import FunctionTool
from tools import search_docs, summarize
support_agent = LlmAgent(
name="support-agent",
model="gemini-2.5-flash",
instruction="""Du bist ein technischer Support-Agent.
Hilf Nutzern bei der Lösung von Problemen, indem du die Dokumentation durchsuchst
und die Ergebnisse zusammenfasst.""",
tools=[search_docs, summarize],
)Connic-Ausgabe
version: "1.0"
name: support-agent
type: llm
model: connic/gpt-5.6-terra # oder gemini/gemini-2.5-flash mit konfiguriertem Gemini BYOK
description: "Du bist ein technischer Support-Agent."
system_prompt: |
Du bist ein technischer Support-Agent.
Hilf Nutzern bei der Lösung von Problemen, indem du die Dokumentation durchsuchst
und die Ergebnisse zusammenfasst.
tools:
- tools.search_docs
- tools.summarizeSequenzieller Agent
ADK-Quelle
from google.adk.agents import SequentialAgent
pipeline = SequentialAgent(
name="review-pipeline",
sub_agents=[draft_agent, review_agent, publish_agent],
)Connic-Ausgabe
version: "1.0"
name: review-pipeline
type: sequential
description: "Führt Entwurfs-, Review- und Veröffentlichungs-Agenten nacheinander aus."
agents:
- draft-agent
- review-agent
- publish-agentManuelle Nacharbeit
Explizite Definitionen von Agent, LlmAgent und SequentialAgent
Einfache Python-Tool-Funktionen und FunctionTool-Wrapper
AgentTool-Wrapper, die trigger_agent zugeordnet werden
Statischer instruction-Text (String-Literale und Variablen)
Modellnamen (automatisch mit dem Provider-Präfix versehen, z. B. gemini/)
YAML-basierte ADK-Agentendefinitionen
google_search wird web_search zugeordnet
ParallelAgent und LoopAgent (werden als sequenzielle Platzhalter migriert)
Benutzerdefinierte Agent-Subklassen und Wrapper-Factorys
Dynamische Muster zur Agent-Registrierung
Callbacks (gegebenenfalls in Connic-Middleware konvertieren)
Session-State und persistenter Speicher
MCPToolset-Wrapper
Dynamisch erstellte Instructions oder Tool-Listen
Benutzerdefinierte Guardrails
- Lies
MIGRATION_REPORT.mdund bearbeite jeden offenen Punkt. - Öffne jede Agenten-YAML in
agents/und prüfe System-Prompt und Tool-Liste. - Prüfe, ob die Tool-Module in
tools/weiterhin alles Nötige importieren (relative Imports aus dem ursprünglichen Projekt können fehlschlagen). - Konvertiere ADK-Callbacks auf Agent-Ebene in Connic Middleware und Callbacks auf Tool-Ebene (
before_tool_callback/after_tool_callback) in Tool-Hooks. - Gestalte Session- oder State-Muster mit Connic-Sessions, Retrieval oder der Datenbank neu.
- Führe nach jeder Anpassung
connic lintaus. - Führe
connic devaus, um eine Cloud-Entwicklungsumgebung mit Hot Reload zu öffnen und die migrierten Agenten vollständig zu testen.