如何将 LangGraph、LangChain 或 OpenAI Agents 框架构建的 Agent 接入 Conductor 运行
2026/9/12 15:47:18 网站建设 项目流程

如何将 LangGraph、LangChain 或 OpenAI Agents 框架构建的 Agent 接入 Conductor 运行

【免费下载链接】conductorConductor is an event driven agentic workflow engine providing durable and highly resilient execution engine for applications and AI Agents项目地址: https://gitcode.com/GitHub_Trending/co/conductor

你手里已经有一个用 OpenAI Agents、LangChain 或 LangGraph 写好的 Agent 对象,现在想让它跑在 Conductor 上:由 Conductor SDK 把这个框架对象编译成工作流图,作为一次 durable、可在 UI 中检查的执行运行起来。你不需要重写 Agent 本身,只需把 runner 换成 Conductor 的 SDK。本文给出一条可照着执行的路径:连接 Conductor 服务端、按框架安装 SDK、运行脚本,并在 UI 中验证这次执行。

前提只有一个硬条件:你的本地环境能连到一个 Conductor 服务端,并且该服务端能调通你的模型提供商。三个示例都用 OpenAI 模型(gpt-4o-mini),所以要准备好 OpenAI 凭证;如果你换用其他提供商,凭证要对应。

准备条件:让运行时连上 Conductor 服务端

这一步对应 Connect to Conductor 文档。两种服务端任选其一。

方式一:Orkes Developer Edition(云端)

按文档创建账号、应用和 access key 后,设置以下环境变量(尖括号内是占位符,替换成你自己的值):

export CONDUCTOR_SERVER_URL=https://developer.orkescloud.com/api export CONDUCTOR_AUTH_KEY=<your-access-key> export CONDUCTOR_AUTH_SECRET=<your-access-secret>

模型提供商的凭证在 Developer Edition 上通过平台侧的 AI/LLM integration 添加,不导出环境变量。

方式二:本地服务端

本地服务端要求 Java 21+ 和 Node.js。启动前必须先导出模型提供商的 API key,让服务端进程继承它:

export OPENAI_API_KEY=<your-openai-api-key> conductor server start export CONDUCTOR_SERVER_URL=http://localhost:8080/api

也可以用官方 Docker 容器代替:

docker run --rm -p 8080:8080 conductoross/conductor:latest export CONDUCTOR_SERVER_URL=http://localhost:8080/api

conductor server start是文档给出的启动命令,它会在本地拉起 Conductor 服务端进程;CONDUCTOR_SERVER_URL是 SDK 与运行时定位服务端的地址,后续所有步骤都依赖它。

按框架接入:安装 SDK 并替换 runner

每个框架的安装命令和代码各不相同,但接入模式一致:保留你框架原有的 Agent 对象定义,只把执行入口换成 Conductor SDK。三条路径各自独立,按你使用的框架选一条执行即可。

OpenAI Agents SDK

安装命令:

pip install conductor-python

完整脚本如下,保存为openai_agent.py

from conductor.ai import Runner from agents import Agent, function_tool @function_tool def get_weather(city: str) -> str: return f"72F and sunny in {city}" agent = Agent( name="weather_assistant", model="gpt-4o-mini", tools=[get_weather], instructions="You are a helpful assistant.", ) result = Runner.run_sync(agent, "What's the weather in NYC?") print(result.final_output)

运行python openai_agent.py。文档明确说明改造点只有一个:runner 的导入改为conductor.ai.Runner,替换掉框架自带的 runner,Agentfunction_tool等定义保持框架原样。

LangChain

安装命令(带 LangChain 支持的安装组):

pip install 'conductor-python[langchain]'

完整脚本:

from conductor.ai.agents import AgentRuntime from langchain.agents import create_agent from langchain_core.tools import tool @tool def check_token() -> str: """Check a token.""" return "available" agent = create_agent("openai:gpt-4o-mini", tools=[check_token], system_prompt="You are a helpful assistant.") with AgentRuntime() as runtime: result = runtime.run(agent, "Is the token set?") result.print_result()

保存为任意.py文件后直接用python运行。与 OpenAI Agents 路径不同,LangChain 走的是AgentRuntime上下文管理器,Agent 通过runtime.run(...)执行。

LangGraph

安装命令:

pip install 'conductor-python[langgraph]'

完整脚本:

import math from conductor.ai.agents import AgentRuntime from langchain_core.tools import tool from langchain_openai import ChatOpenAI from langgraph.prebuilt import create_react_agent @tool def calculate(expression: str) -> str: """Evaluate a limited math expression.""" return str(eval(expression, {"__builtins__": {}}, {"sqrt": math.sqrt, "pi": math.pi})) graph = create_react_agent( ChatOpenAI(model="gpt-4o-mini", temperature=0), tools=[calculate], name="math_agent" ) with AgentRuntime() as runtime: result = runtime.run(graph, "What is sqrt(256) + 2**10?") result.print_result()

LangGraph 里传进runtime.run()的是create_react_agent构建的graph对象,而不是一个Agent实例,其余接入方式与 LangChain 相同。

验证执行并判断失败原因

三个框架的验证方式相同,文档给出的判断路径是:

  1. 看打印结果result.final_outputresult.print_result()应输出模型的最终回答。
  2. 在 Conductor UI 中找到对应执行:SDK 编译后的 Agent 是普通工作流,从第一次运行起就能在 UI 中看到这次 durable 执行。

如果失败,文档给出的检查顺序是:先查三件事——运行时连接的服务端 URL(即CONDUCTOR_SERVER_URL)、框架对应的 SDK 包是否装对(比如是否装成了带[langchain]/[langgraph]安装组的版本)、模型提供商凭证是否对服务端生效;然后检查失败的那个 task 再重试。

有一条明确限制:如果 Agent 的某个动作可能已经产生过外部副作用(如写了外部系统),在确认该动作的幂等性和恢复策略之前,不要直接重试。

可选:从开发运行到部署为 Conductor Agent

以上run是开发路径。当 Agent 稳定后,Framework Agents 给出的四步生命周期是run(开发中迭代)、plan(CI 中检查编译出的图)、deploy(注册到服务端,不执行)、serve(运行执行工具的 worker)。Python 中的写法:

with AgentRuntime() as runtime: runtime.run(agent, "Is the token set?") # develop: compile and execute once runtime.plan(agent) # CI: inspect the compiled graph runtime.deploy(agent) # release: register without executing runtime.serve(agent) # operate: run tool workers and block

注意两个文档明确的行为边界:

  • serve()会阻塞,所以生产中它应单独放在一个长期存活的 worker 进程里,deploy()则放在 CI/CD 中执行。
  • 部署或调用 Conductor Agent 之前,服务端必须启用 AI 集成,否则部署控制面和agentType: "conductor"执行模式不可用:
conductor.integrations.ai.enabled=true

部署完成后,父工作流用AGENTtask 按名字调用它。Conductor Agents 文档给出的示例如下,其中name要替换为你部署时的 Agent 名(示例中为planner);nameprompt在新调用时必填,version可省略以使用最新版本:

{ "name": "run_agent", "taskReferenceName": "run_agent_ref", "type": "AGENT", "inputParameters": { "agentType": "conductor", "name": "planner", "prompt": "${workflow.input.prompt}", "pollIntervalSeconds": 5 } }

这里的agentType: "conductor"表示执行已部署的 Conductor Agent,不要把它理解成"作者是 Conductor 框架"——OpenAI Agents、LangChain、LangGraph 都是 SDK 作者路径,不是agentType的取值。AGENTtask 的输出包含executionIdstatetext以及完成后的结构化outputstateworkinginput-requiredcompletedfailedcanceled之一,可据此判断这次调用走到哪一步。

下一步

接入成功后,仓库内可以继续深入的路径:Agent Recipes 中每条都是完整可运行的示例(handoff、记忆、guardrails、并行 Agent 等);如果要加治理、评估、部署与运维,参考 生产级 Agent 架构。框架 Agent 的具体 API 与支持矩阵以各语言 SDK 仓库为准,服务端连接细节见 Connect to Conductor。

【免费下载链接】conductorConductor is an event driven agentic workflow engine providing durable and highly resilient execution engine for applications and AI Agents项目地址: https://gitcode.com/GitHub_Trending/co/conductor

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询