Zum Hauptinhalt springen
connic
Einstieg

Von LangChain migrieren

Die CLI connic migrate überführt LangChain- und LangGraph-Projekte in connic. Die Anleitung zeigt die Zuordnung der Konzepte, die automatische Konvertierung und die manuelle Nacharbeit an LangGraph-spezifischen Mustern.

Zuletzt aktualisiert

Konzeptzuordnung

LangChain hält Agentendefinitionen, Tools und Orchestrierung in Python. connic trennt diese in eine YAML-Konfiguration und eigenständige Python-Tool-Module. Die folgende Tabelle zeigt, wie sich die wichtigsten LangChain-Konzepte übertragen lassen.

LangChain / LangGraphconnicHinweise
create_agent() / create_react_agent()YAML-Datei in agents/ mit type: llmBeide Signaturen werden erkannt
system_prompt / promptsystem_promptWird aus Keyword-Argumenten extrahiert
ChatOpenAI, init_chat_model usw.model mit Provider-Präfix (integriert oder benutzerdefiniert)Aus gpt-4.1 wird openai/gpt-4.1
@tool-Funktionen / einfache CallablesPython-Funktionen in tools/Der Decorator wird entfernt; die Implementierung gewöhnlicher Tools bleibt erhalten
Einfache Sub-Agent-Wrapper mit .invoke() / .ainvoke()Asynchrone Tools mit trigger_agentTool-Schema und festes Child-Agent-Routing bleiben erhalten
tools=[...]tools:-Liste in der Agenten-YAMLWird in module.function-Referenzen aufgelöst
LangGraph StateGraph / WorkflowsSequenzielle Agenten oder benutzerdefinierte Tool-LogikMuss manuell neu strukturiert werden
Checkpointer / Storesconnic-Sessions, Retrieval oder DatenbankMuss manuell neu gestaltet werden
LangSmith Tracingconnic Observability (integriert)Keine Migration nötig; LangSmith-Integrationscode entfernen
Retrieval Chains / RAGRetrieval-Tools oder benutzerdefinierte ToolsAls connic-Tool neu strukturieren oder das integrierte Retrieval verwenden
Komplexe LangGraph-Projekte

Wenn das Projekt hauptsächlich auf LangGraph State Graphs, Handoffs oder stark angepassten Retrieval Chains basiert, extrahiert connic migrate die gefundenen Agent- und Tool-Definitionen. Die Graph-Orchestrierung selbst muss jedoch manuell neu strukturiert werden. Ein Coding-Agent (Cursor, Windsurf, Claude Code, Codex usw.) kann die vollständige Migration übernehmen. Führe zunächst connic migrate für das Grundgerüst aus und lass den Coding-Agenten die nötigen Anpassungen anhand der connic-Dokumentation vornehmen.

Beispiel-Prompt für einen Coding-Agenten
prompt.txt
Du migrierst ein Python-Projekt auf Basis von LangChain oder LangGraph zu connic.

1. Untersuche das bestehende Projekt unter ./my-langchain-project und erkläre, wie Agenten, Tools, Prompts, Retrieval, Speicher und Orchestrierung strukturiert sind.
2. Führe `connic migrate --source ./my-langchain-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 LangChain-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-langchain-project --dest ./my-connic-project

    Der Migrator durchsucht jede Python-Datei nach Aufrufen von create_agent und create_react_agent, extrahiert Tools, löst Modellnamen und Prompts auf (auch importübergreifend), 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/
    agent.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 LangChain-Definitionen in connic übertragen werden.

    Agent-Definition

    LangChain-Quelle

    agent.py
    from langchain.agents import create_agent
    from langchain_openai import ChatOpenAI
    
    llm = ChatOpenAI(model="gpt-4.1")
    
    agent = create_agent(
        llm,
        tools=[search_docs, fetch_weather],
        system_prompt="Du bist ein hilfreicher Recherche-Assistent.",
    )

    connic-Ausgabe

    agents/agent.yaml
    version: "1.0"
    name: agent
    type: llm
    model: connic/gpt-5.6-sol # oder openai/gpt-4.1 mit konfiguriertem OpenAI BYOK
    description: "Du bist ein hilfreicher Recherche-Assistent."
    system_prompt: |
      Du bist ein hilfreicher Recherche-Assistent.
    tools:
      - tools.search_docs
      - tools.fetch_weather

    Tool-Funktion

    LangChain-Quelle

    tools.py
    from langchain_core.tools import tool
    
    @tool
    def fetch_weather(city: str) -> str:
        """Gib das aktuelle Wetter für eine Stadt zurück."""
        return requests.get(f"https://api.weather.example/{city}").text

    connic-Ausgabe

    tools/tools.py
    import requests
    
    def fetch_weather(city: str) -> str:
        """Gib das aktuelle Wetter für eine Stadt zurück."""
        return requests.get(f"https://api.weather.example/{city}").text

    connic verwendet Funktionssignatur und Docstring direkt, daher ist der @tool-Decorator nicht erforderlich. Bei gewöhnlichen Tools extrahiert der Migrator den Funktionsrumpf samt Imports und Abhängigkeiten. Einfache durchleitende Sub-Agent-Wrapper werden so umgeschrieben, dass sie den migrierten Child-Agenten über trigger_agent aufrufen.

  4. Manuelle Nacharbeit

    Wird automatisch migriert

    Aufrufe von create_agent() und create_react_agent()

    Einfache Python-Tools und mit @tool dekorierte Funktionen

    Statische Keyword-Argumente für system_prompt / prompt

    Modellnamen aus ChatOpenAI, init_chat_model und Ähnlichem

    Dateiübergreifende Imports (Variablen und Funktionen werden aufgelöst)

    Tool-Abhängigkeiten (Hilfsfunktionen und lokale Module)

    Einfache Sub-Agent-Wrapper mit .invoke() oder .ainvoke()

    Erfordert manuelle Nacharbeit

    LangGraph-StateGraph-Workflows und Handoffs

    Dynamische Prompt-Erstellung (Factorys, Templates mit Runtime-Werten)

    Checkpointer und benutzerdefinierte Persistenz-Stores

    Retrieval Chains und RAG-Pipelines

    LangSmith-Integrationscode (Tracing, Evaluations, Prompt-Registries)

    Benutzerdefinierte Agent-Wrapper mit zusätzlicher Logik oder Subklassen von Agenten

    Agenten, die keiner Top-Level-Variablen zugewiesen sind

    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. Entferne LangSmith-, LangServe- oder anderen LangChain-Plattformcode, den das connic-Projekt nicht verwendet.
    5. Strukturiere LangGraph-Workflows als sequenzielle Agenten oder benutzerdefinierte Tools neu.
    6. Ersetze Checkpointer-basierte Persistenz durch connic-Sessions oder Retrieval.
    7. Führe nach jeder Anpassung connic lint aus.
    8. Führe connic dev aus, um eine Cloud-Entwicklungsumgebung mit Hot Reload zu öffnen und die migrierten Agenten vollständig zu testen.