资讯详情

Conductor Python Agent 快速上手:用 conductor-python 构建并运行你的第一个可持久化 Agent

📅 2026/9/10 3:19:38 | 华诺云谱 👁 阅读
Conductor Python Agent 快速上手:用 conductor-python 构建并运行你的第一个可持久化 Agent
Conductor Python Agent 快速上手用 conductor-python 构建并运行你的第一个可持久化 Agent【免费下载链接】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导读本文基于 Conductor 开源仓库中 ui-next 前端项目的 Python Agent 快速入门文档native.md完整讲解如何使用conductor-pythonSDK 在本地编写、配置并运行一个 Conductor Agent。你将掌握 SDK 的安装方式、四组核心环境变量服务器地址、认证密钥、模型选择、AgentAgentRuntime的编码模型以及运行时将 Agent 编译为可持久化durable工作流这一底层机制并进一步了解如何把已部署的 Agent 以AGENT任务的形式接入正式工作流。1. 前置条件开启服务器的 AI 集成在运行任何 Conductor Agent 之前服务器必须开启 AI 集成。从源码看该开关由 AIIntegrationEnabledCondition.java 判定只有当配置项conductor.integrations.ai.enabled为true时已部署 Agent 的控制平面与agentType: conductor执行模式才可用该属性缺省或为false时相关功能不可用。conductor.integrations.ai.enabledtrue同时确认服务器已配置 LLM 提供商的凭据如 OpenAI API Key并完成服务器连接配置见 connect.md。完整的安装运行路径还可以参考 first-agent.md 与 first-ai-agent.md。2. 安装 conductor-python使用 Python 的包管理工具安装官方 SDKpython -m pip install conductor-python核心 Agent API 内置在基础包中[agents]额外依赖仅在需要 LangChain、Google ADK、OpenAI Agents 等框架接入时才需要。Conductor Agents 同时提供 Java、TypeScript/JavaScript、C# 三种 SDK本文聚焦 Python。3. 配置环境变量SDK 通过环境变量读取连接信息与模型默认值export CONDUCTOR_SERVER_URL{{CONDUCTOR_SERVER_URL}} # 对于需要认证的 Conductor 服务器自建或托管环境 # export CONDUCTOR_AUTH_KEYYOUR_AUTH_KEY # export CONDUCTOR_AUTH_SECRETYOUR_AUTH_SECRET export CONDUCTOR_AGENT_LLM_MODELopenai/gpt-4o-mini各变量含义如下环境变量作用说明CONDUCTOR_SERVER_URLConductor 服务器地址本地示例为http://localhost:8080/api托管环境则为对应实例地址CONDUCTOR_AUTH_KEY/CONDUCTOR_AUTH_SECRET服务器认证凭据仅对开启认证的服务器必需对应 API 的keyId/keySecretCONDUCTOR_AGENT_LLM_MODELAgent 默认模型采用提供商/模型格式如openai/gpt-4o-mini需要注意CONDUCTOR_AGENT_LLM_MODEL是各 SDK 统一读取的模型环境变量Python、Java、TypeScript、C# 一致而CONDUCTOR_SERVER_URL则是服务器地址变量。模型提供商的密钥应放在 Agent worker 所在的环境变量或密钥系统中不要写入工作流输入以免凭据泄漏。4. 编写并运行第一个 Agenthello.py将以下内容保存为hello.pyfrom conductor.ai.agents import Agent, AgentRuntime agent Agent( namegreeter, modelopenai/gpt-4o-mini, instructionsYou are a friendly assistant. Keep responses brief., ) with AgentRuntime() as runtime: result runtime.run(agent, Say hello and share a fun Python fact.) result.print_result()然后执行python hello.py运行后在 Conductor UI 中可以找到本次执行产生的记录AgentRuntime会把 Agent编译并运行成一个持久化工作流因此每一次 LLM 调用、工具调用、等待、重试与分支都会以任务的形式出现在 UI 和 API 中可被单独检查、重试和超时这一点同样在 conductor-agents.md 中被明确描述为 Conductor Agent 的核心特性。4.1 代码逐段拆解Agent(...)Agent 的定义即编译进工作流的静态配置。name是调用方解析该 Agent 的名字必填model是提供商限定的模型名instructions充当系统提示词。AgentRuntime()运行时上下文管理器。with块退出时自动完成资源清理因此所有代码都写在块内。runtime.run(agent, prompt)注册如尚未注册 执行一次 阻塞等待结果是开发阶段的标准循环run会在进程内启动它所需的 worker这也是为什么带工具tools的脚本无需额外启动任何进程即可运行。result.print_result()把最终结果打印到终端此外还可以通过result.execution_id拿到本次执行的 ID用于后续在 UI 中核对。4.2 深入Agent 的定义设置Definition SettingsAgent(...)上可配置的不止name/model/instructions。下表汇总了定义阶段可用的核心设置详见 agent-configuration.md它们在deploy()时被编译进工作流只有重新部署才会改变设置项默认值作用name必填调用方解析用的名字改名等于部署一个新 Agentmodel提供商限定的模型如openai/gpt-4oinstructions系统提示词tools[]允许模型调用的工具guardrails[]输入/输出的检查见 agent-guardrails.mdagents[]子 Agent用于多 Agent 系统strategyhandoff子 Agent 的编排策略见 multi-agent-architecture.mdmax_turns25模型轮次硬上限是防失控循环的主要开关max_tokensNone单次模型调用的 token 上限temperatureNone采样温度context_window_budgetNone上下文压缩前的 token 预算metadata{}随定义携带的任意标签另有能力型设置definition-only调用方无法在运行时放宽cli_commands挂载沙箱化run_command工具、cli_allowed_commands命令白名单、local_code_execution允许执行代码、allowed_languages允许的代码执行语言、credentials调用期间由服务器注入的密钥、prefill_tools首轮之前预置的工具结果等。4.3 深入运行设置Run Settings与定义设置相对run()/start()/stream()传入的运行设置只作用于一次执行永不修改已部署的 Agent。核心运行设置包括prompt本次输入、version固定某个已部署版本、media本次运行携带的文件/图片、session_id把多次运行串联成对话、idempotency_key让重试返回原始运行而不是新建一次、timeout本次执行的墙钟上限、context、credentials、on_event流式事件回调。当模型、温度、token 上限同时出现在定义与运行两层时运行层优先仅本次执行有效from conductor.ai.agents import RunSettings result runtime.run( agent, Summarise this incident., run_settingsRunSettings( modelopenai/gpt-4o, # 覆盖定义中的模型 temperature0.1, max_tokens800, reasoning_efforthigh, thinking_budget_tokens2000, ), )其中reasoning_effort与thinking_budget_tokens仅存在于运行层没有定义层的对应项。而tools、guardrails、agents、strategy、max_turns则属于 definition-only调用方无权在运行时放宽。5. 从 run 到 deploy/serve让 Agent 成为可复用能力hello.py里的run()只是开发循环。若要让其他工作流、API 或调度器按名字调用这个 Agent需要走AgentRuntime提供的四个动词详见 deploying-agents.md动词作用适用场景plan()把 Agent 编译为工作流定义并返回不注册、不执行开发与 CI 中审查图变化run()需要则注册执行一次阻塞等结果本地开发deploy()在服务器上注册一个具名、带版本的 Agent不执行发布流水线serve()启动常驻 worker 进程实际执行 Agent 的工具生产环境服务# release.py —— 在 CI/CD 中运行一次 with AgentRuntime() as runtime: runtime.deploy(agent) # 也可以一次部署多个runtime.deploy(a, b) # worker.py —— 作为服务持续运行 with AgentRuntime() as runtime: runtime.serve(agent) # 阻塞测试可用 serve(agent, blockingFalse)deploy只注册定义不启动任何能执行 Python 工具的东西如果已部署 Agent 的执行一直停留在 scheduled 状态不前进几乎都是因为没有人在 serve 它的 worker。6. 在工作流中以 AGENT 任务调用已部署 Agent部署完成、worker 正常 serve 之后工作流可以用AGENT任务按名字调用该 Agent——注意agentType选择的是执行模式而非编写框架agentType: a2a默认调用远程 A2A 端点agentType: conductor按name运行已部署的 Conductor Agent。{ name: ask_agent, taskReferenceName: ask_agent_ref, type: AGENT, inputParameters: { agentType: conductor, name: greeter, prompt: Summarize this workflow context: ${fetch_context.output.response.body}, pollIntervalSeconds: 5 } }name与prompt为必填version可选省略即使用最新版本。sessionId、runId、context、media、model、timeoutSeconds、idempotencyKey视部署契约需要也可传入。AGENT任务的输出包含executionId、agentName、state、text与结构化output其中state是标准化的 A2A 生命周期值working/input-required/completed/failed/canceled因此运维人员可以把父工作流与 Agent 执行放在一起排查。关于暂停-恢复、取消传播、guardrails 与评估以及31-conductor-agent-basic.json、32-conductor-agent-human-in-loop.json、33-conductor-agent-multi-agent.json、34-conductor-agent-cancel.json四个可直接参考的工作流集成示例可以进一步阅读 conductor-agents.md 以及 ai/examples 目录。7. 验证执行与常见问题排查运行python hello.py之后在 Conductor UI 中定位该次执行查看执行的终态terminal status及其任务时间线task timeline检查任务输入inputs与输出output确认模型调用、工具调用各自作为独立任务被记录若运行无法到达模型先确认 worker 环境中的CONDUCTOR_SERVER_URL与模型提供商凭据是否正确再在重试前检查执行中的失败任务。参考 first-agent.md 的Verify and recover一节。关于工具调用 Agent 的完整可运行示例tool声明、模型自行选择工具、每个工具调用作为独立可重试任务见 agent-tool-calling.md。8. 小结你构建了什么通过本文你从零跑通了一个 Conductor Python Agent安装conductor-python→ 配置服务器/认证/模型环境变量 → 用AgentAgentRuntime定义并运行 Agent → 在 UI 中看到它被编译为持久化工作流。这套运行时编译为工作流的执行模型意味着后续增加审批approval、等待wait、重试retry、并行组合与运维恢复时都无需把 Agent 逻辑塞进一个长生命周期进程而是直接在可检查、可恢复的工作流层面演进——这正是把 Agent 从脚本升级为可复用、可编排、可治理能力的关键一步。【免费下载链接】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),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。