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.
Auf dieser Seite
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 / LangGraph | Connic | Hinweise |
|---|---|---|
create_agent() / create_react_agent() | YAML-Datei in agents/ mit type: llm | Beide Signaturen werden erkannt |
system_prompt / prompt | system_prompt | Wird 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 Callables | Python-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_agent | Tool-Schema und festes Child-Agent-Routing bleiben erhalten |
tools=[...] | tools:-Liste in der Agenten-YAML | Wird in module.function-Referenzen aufgelöst |
LangGraph StateGraph / Workflows | Sequenzielle Agenten oder benutzerdefinierte Tool-Logik | Muss manuell neu strukturiert werden |
| Checkpointer / Stores | Connic-Sessions, Retrieval oder Datenbank | Muss manuell neu gestaltet werden |
| LangSmith Tracing | Connic Observability (integriert) | Keine Migration nötig; LangSmith-Integrationscode entfernen |
| Retrieval Chains / RAG | Retrieval-Tools oder benutzerdefinierte Tools | Als Connic-Tool neu strukturieren oder das integrierte Retrieval verwenden |
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
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.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.
pip install connic-composer-sdk
connic migrateBeide Pfade lassen sich auch direkt übergeben:
connic migrate --source ./my-langchain-project --dest ./my-connic-projectDer 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.
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 LangChain-Definitionen in Connic übertragen werden.
Agent-Definition
LangChain-Quelle
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
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_weatherTool-Funktion
LangChain-Quelle
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}").textConnic-Ausgabe
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}").textConnic 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.
Manuelle Nacharbeit
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()
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
- 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). - Entferne LangSmith-, LangServe- oder anderen LangChain-Plattformcode, den das Connic-Projekt nicht verwendet.
- Strukturiere LangGraph-Workflows als sequenzielle Agenten oder benutzerdefinierte Tools neu.
- Ersetze Checkpointer-basierte Persistenz durch Connic-Sessions oder Retrieval.
- 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.