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 migrateaus. Die CLI fragt nach dem Pfad zum bestehenden LangChain-Projekt und dem Zielpfad für das generierte connic-Projekt.terminalpip install connic-composer-sdk connic migrateBeide Pfade lassen sich auch direkt übergeben:
terminalconnic migrate --source ./my-langchain-project --dest ./my-connic-projectDer Migrator durchsucht jede Python-Datei nach Aufrufen von
create_agentundcreate_react_agent, extrahiert Tools, löst Modellnamen und Prompts auf (auch importübergreifend), generiert das connic-Projekt und führt für das Ergebnisconnic lintaus.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.Projektstrukturmy-connic-project/agents/agent.yamltools/tools.pyExtrahierte Tool-Funktionenmiddleware/schemas/requirements.txtREADME.mdMIGRATION_REPORT.mdZuerst prüfenAusgabe verstehen
Die folgenden Beispiele zeigen, wie typische LangChain-Definitionen in connic übertragen werden.
Agent-Definition
LangChain-Quelle
agent.pyfrom 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.yamlversion: "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
tools.pyfrom 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
tools/tools.pyimport 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 übertrigger_agentaufrufen.Manuelle Nacharbeit
Wird automatisch migriertAufrufe von
create_agent()undcreate_react_agent()Einfache Python-Tools und mit
@tooldekorierte FunktionenStatische Keyword-Argumente für
system_prompt/promptModellnamen aus
ChatOpenAI,init_chat_modelund ÄhnlichemDateiü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 NacharbeitLangGraph-
StateGraph-Workflows und HandoffsDynamische 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- 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.