Conductor 集成 Claude Agent SDK:在 Python 中运行 Claude Code 智能体的安装、配置与实战指南
2026/9/10 8:37:15 网站建设 项目流程

Conductor 集成 Claude Agent SDK:在 Python 中运行 Claude Code 智能体的安装、配置与实战指南

【免费下载链接】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 中直接运行 Anthropic Claude Agent SDK 智能体的 Python 开发者,围绕仓库内 python/claude.md 的完整实操流程展开:如何安装带 Claude 支持的conductor-python扩展、配置服务器地址与认证、用ClaudeCode模型对象定义一个会读代码库的智能体,并通过AgentRuntime以持久化(durable)的方式运行它。读完本文,你将掌握"把 Claude Agent SDK 智能体接入 Conductor"这一条完整链路,并理解其背后的工作流编译与任务化原理。

1. 前置准备:连接 Conductor 服务器

在安装 SDK 之前,需要先让运行时能访问到 Conductor 服务器。仓库中的 connect.md 给出了三种常见方式:

  • 托管的 Developer Edition:注册后创建应用与 Access Key,导出CONDUCTOR_SERVER_URLCONDUCTOR_AUTH_KEYCONDUCTOR_AUTH_SECRET
  • 本地服务器:需要 Java 21+ 与 Node.js,先启动服务再导出地址:
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

服务器还需要能够调用你的模型供应商:Developer Edition 在集成页面添加 AI/LLM 集成;本地服务器则需在启动前导出供应商 API Key。

2. 安装带 Claude 支持的 SDK

本指南对应的安装与配置命令如下(来自 python/claude.md):

python -m pip install 'conductor-python[claude]' export CONDUCTOR_SERVER_URL={{CONDUCTOR_SERVER_URL}} # For authenticated Conductor servers: # export CONDUCTOR_AUTH_KEY=<YOUR_AUTH_KEY> # export CONDUCTOR_AUTH_SECRET=<YOUR_AUTH_SECRET>

说明:

  • conductor-python[claude]是带 Claude Agent SDK 支持的安装目标。仓库内其他框架智能体(LangChain、LangGraph、Google ADK、OpenAI Agents)分别使用conductor-python[langchain]conductor-python[langgraph]conductor-python[adk]等扩展,可参考 framework-agents.md 对比选择;
  • CONDUCTOR_SERVER_URL指向 Conductor 服务器的 API 端点(如http://localhost:8080/api),必须与前置准备中导出的值一致;
  • 未开启认证的本地服务器无需CONDUCTOR_AUTH_KEY/CONDUCTOR_AUTH_SECRET;连接受保护的服务器时才需要导出这两个凭证。

3. 定义并运行 Claude Code 智能体

将以下代码保存为claude_agent.py

from conductor.ai.agents import Agent, AgentRuntime, ClaudeCode agent = Agent( name="claude_code_assistant", model=ClaudeCode("sonnet"), instructions="Inspect the repository and answer concisely.", tools=["Read", "Glob", "Grep"], ) with AgentRuntime() as runtime: result = runtime.run(agent, "Summarize this repository.") result.print_result()
python claude_agent.py

关键点拆解:

  • ClaudeCode("sonnet"):Claude Agent SDK 风格的模型对象,对应 Anthropic 的 Claude Code 编码智能体场景。示例中选用了sonnet模型;
  • tools=["Read", "Glob", "Grep"]:声明允许智能体调用的内置工具。本例面向"审查代码库"任务,因此开放了读取文件、按 glob 模式匹配文件、正则搜索三类代码库探查能力;
  • AgentRuntime():上下文管理器,负责在运行期间维护与 Conductor 服务器的连接与执行环境;
  • runtime.run(agent, "..."):同步运行一次智能体交互,返回结果对象;result.print_result()将最终输出打印到控制台。

4. 底层原理:Agent 运行即工作流执行

从 agents.md 可以看到 Conductor 的核心设计:Agent 本质上就是工作流

  • 智能体定义(模型、指令、工具列表)会被 Conductor 编译成一张工作流图并执行;
  • 图中每一次模型调用是一个任务(task),每一次工具调用也是一个任务,两者之间的循环是工作流的控制流。例如调用一次get_weather工具,会产生prompt → LLM task(决定调用工具)→ get_weather task(运行你的函数)→ LLM task(撰写最终答案)→ answer这样一串任务序列;
  • 因为一次 Agent 运行就是一次工作流执行,所以工作流的既有能力全部适用:每一轮(turn)都会被持久化,进程崩溃或重启后可从最后完成的一步继续执行;重试与超时遵循相同的策略;每次运行都会留下完整的可检查、可回放的历史。

服务器端对此有直接的实现佐证。agentspan模块中的 ClaudeAgentSdkNormalizer.java 提供了frameworkId() == "claude_agent_sdk"的归一化器,它会将 Claude Agent SDK 智能体配置归一化为 Conductor 内部的AgentConfig:默认智能体名为claude_agent_sdk_agent,并生成一个toolType("worker")的"passthrough worker"工具配置,元数据标记为_framework_passthrough: true——即 Claude 智能体作为穿透式 Worker 接入 Conductor 执行框架,这正是"框架桥接(framework bridge)"的实现形态。

5. 服务器端 Anthropic 模型支撑

Claude Code 智能体最终调用的是 Anthropic 的模型服务,Conductor 服务器端通过ai模块的 Anthropic Provider 完成接入,实现在 Anthropic.java 与 AnthropicConfiguration.java 中:

  • 配置前缀conductor.ai.anthropic,支持apiKeybaseURLversionbetaVersioncompletionsPathtimeout等字段;
  • 默认行为baseURL缺省为https://api.anthropic.comtimeout默认 600 秒;DEFAULT_MAX_TOKENS为 8192;
  • 工具转换:Conductor 的ToolSpec会被转换为 Anthropic 的函数工具(function tool),同时支持内置的 web search、code execution 工具;
  • 扩展思考(Thinking)模式:当thinkingTokenLimit > 0时启用思考预算,并强制temperature = 1.0(Anthropic 思考模式要求);
  • Assistant 消息前填(prefill)限制supportsAssistantPrefill()返回false,因为 Claude Sonnet 4.6+ 会拒绝以assistant角色结尾的请求(返回 400)。从源码注释看,早期模型曾"静默接受"这种注入,当前实现则统一禁止该注入,循环类工作流如需携带上一轮状态,应通过${...output.result}模板拼接进用户消息。

这些机制对理解"为什么我的 Claude 智能体在 Conductor 里行为如此"很有帮助:模型调用参数(maxTokens、temperature、topP、topK、stopSequences、reasoningEffort 等)均来自工作流任务的输入,由 Provider 统一转换为 Anthropic 请求。

6. 验证与故障排查

每个框架智能体的运行验证方式一致(见 framework-agents.md):

  1. 验证输出:确认控制台打印的结果符合预期;
  2. 检查执行记录:在 Conductor UI 中定位对应的执行,查看每一步任务的输入输出,确认 LLM 轮次与工具调用都被如实记录;
  3. 失败排查顺序:先检查运行时服务器 URL、框架扩展包(是否安装了conductor-python[claude])与模型供应商凭证;随后在 UI 中检查失败的任务,再决定是否重试;
  4. 注意副作用:对于可能产生外部副作用(如写文件、发请求)的 Agent 动作,在明确其幂等性与恢复策略之前,不要盲目重试。

7. 进一步探索

  • 想从零构建原生 Conductor 智能体,可阅读 first-agent.md;
  • 想将 LangChain、LangGraph、Google ADK、OpenAI Agents 等其他框架智能体接入 Conductor,参考 framework-agents.md;
  • 想深入理解"Agent 即工作流"、AGENT任务与三种编写方式(声明式 AI 工作流 / Conductor Agent / 远程 A2A Agent),见 agents.md;
  • 想了解服务器端 Anthropic 模型的完整参数与实现,可阅读 Anthropic.java 及其同目录下的配置类与测试用例(如 AnthropicConfigurationTest.java)。

将 Claude Agent SDK 智能体接入 Conductor 的价值在于:你保留了 Claude 生态的原生体验(Claude Code 模型与 Read/Glob/Grep 等工具),同时获得工作流级的持久化执行、任务化追踪与完整历史回放能力——这正是 Conductor 作为事件驱动的 agentic 工作流引擎为 AI 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),仅供参考

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

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

立即咨询