Zum Hauptinhalt springen
connic
Einstieg

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.

Zuletzt aktualisiert

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.

ADKconnicHinweise
Agent / LlmAgentYAML-Datei in agents/ mit type: llmWird automatisch migriert
SequentialAgentYAML-Datei mit type: sequentialWird automatisch migriert
ParallelAgent / LoopAgentWird als sequenziell migriert und muss manuell geprüft werdenKein direktes connic-Äquivalent
instructionsystem_promptWird aus Python oder YAML extrahiert
modelmodel mit Provider-Präfix (integriert oder benutzerdefiniert)Aus gemini-2.5-flash wird gemini/gemini-2.5-flash
Python-Tools / FunctionToolPython-Funktionen in tools/FunctionTool-Wrapper werden entfernt
AgentTool / LLM sub_agentstrigger_agent, ein vordefiniertes ToolWird automatisch zugeordnet; Prompts und Namen der Ziel-Agenten prüfen
google_searchweb_search, ein vordefiniertes ToolWird automatisch zugeordnet
CallbacksMiddleware in middleware/ und Tool-Hooks in hooks/Muss manuell konvertiert werden
Sessions / Stateconnic-Sessions oder RetrievalMuss manuell neu gestaltet werden
MCPToolsetmcp_servers in der Agenten-YAMLMuss manuell konfiguriert werden
Komplexe ADK-Projekte

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
prompt.txt
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.
  1. 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.

    terminal
    pip install connic-composer-sdk
    
    connic migrate

    Beide Pfade lassen sich auch direkt übergeben:

    terminal
    connic migrate --source ./my-adk-project --dest ./my-connic-project

    Der 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.

  2. 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.

    Projektstruktur
    my-connic-project/
    agents/
    support-agent.yaml
    review-pipeline.yaml
    tools/
    tools.pyExtrahierte Tool-Funktionen
    middleware/
    schemas/
    requirements.txt
    README.md
    MIGRATION_REPORT.mdZuerst prüfen
  3. Ausgabe verstehen

    Die folgenden Beispiele zeigen, wie typische ADK-Definitionen in connic übertragen werden.

    LLM-Agent

    ADK-Quelle

    agent.py
    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

    agents/support-agent.yaml
    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.summarize

    Sequenzieller Agent

    ADK-Quelle

    agent.py
    from google.adk.agents import SequentialAgent
    
    pipeline = SequentialAgent(
        name="review-pipeline",
        sub_agents=[draft_agent, review_agent, publish_agent],
    )

    connic-Ausgabe

    agents/review-pipeline.yaml
    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-agent
  4. Manuelle Nacharbeit

    Wird automatisch migriert

    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

    Erfordert manuelle Nacharbeit

    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

    Checkliste nach der Migration
    1. Lies MIGRATION_REPORT.md und bearbeite jeden offenen Punkt.
    2. Öffne jede Agenten-YAML in agents/ und prüfe System-Prompt und Tool-Liste.
    3. Prüfe, ob die Tool-Module in tools/ weiterhin alles Nötige importieren (relative Imports aus dem ursprünglichen Projekt können fehlschlagen).
    4. Konvertiere ADK-Callbacks auf Agent-Ebene in connic Middleware und Callbacks auf Tool-Ebene (before_tool_callback / after_tool_callback) in Tool-Hooks.
    5. Gestalte Session- oder State-Muster mit connic-Sessions, Retrieval oder der Datenbank neu.
    6. Führe nach jeder Anpassung connic lint aus.
    7. Führe connic dev aus, um eine Cloud-Entwicklungsumgebung mit Hot Reload zu öffnen und die migrierten Agenten vollständig zu testen.