
Conductor 集成 Google ADK 智能体.NET / C# 快速上手指南【免费下载链接】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 的 .NET 客户端为基础演示如何将基于 Google Agent Development KitADK编写的智能体接入 Conductor 的持久化执行引擎安装 NuGet 依赖、用GoogleADKAgent.Builder()构建 ADK 智能体、通过AgentRuntime运行并获得可观测的持久化执行记录。读完本文你将掌握在 .NET 生态中把现有 ADK 智能体搬运到 Conductor 上运行的最小可行路径并理解服务端如何把 ADK 智能体配置规范化后编译为 Conductor 可执行的工作流图。Google ADK 智能体如何在 Conductor 中运行Conductor 是一个事件驱动的智能体工作流引擎event driven agentic workflow engine为应用与 AI 智能体提供持久且高弹性的执行能力。所谓框架智能体framework agent是指你已经用 OpenAI Agents、LangChain、LangGraph 或 Google ADK 等框架编写好的智能体对象。Conductor 的官方策略是保留你的框架代码与依赖作为编写面authoring surface由 Conductor SDK 将其编译为一张工作流图再以持久化、可在 UI 中检视的 Conductor 执行记录方式运行具体流程见 框架智能体快速上手。从源码结构看服务端通过agentspan模块中的GoogleADKNormalizer见 GoogleADKNormalizer.java把 ADK 智能体的原始配置归一化为 Conductor 统一的AgentConfig元数据定义见 AgentConfig.java再由编译器映射为LLM_CHAT_COMPLETE任务、工具调用任务、DO_WHILE循环等工作流步骤。也就是说你的 ADK 智能体在 Conductor 中并不是被重新实现而是被编译并持久化执行。第一步安装 NuGet 包在 .NET 项目中添加 Conductor 的 ADK 适配包dotnet add package conductor-ai-google-adk该包与 Conductor .NET SDK 的其余 AI 相关包位于Conductor.AI.*命名空间配套使用。安装后你的项目即可引用Conductor.AI与Conductor.AI.GoogleADK两个命名空间来构建并运行 ADK 智能体。与仓库内其他语言 SDK 保持一致Python 使用conductor-python[adk]可选依赖Java 使用conductor-aigoogle-adk编译期依赖TypeScript 使用io-orkes/conductor-javascriptgoogle/adkC# 侧同样通过一个独立适配包完成框架桥接。第二步构建并运行一个 ADK 智能体以下代码构建一个名为adk_greeter的 ADK 智能体使用 Gemini 2.0 Flash 模型并通过AgentRuntime在 Conductor 上执行一次对话using Conductor.AI; using Conductor.AI.GoogleADK; var agent GoogleADKAgent.Builder() .Name(adk_greeter) .Model(gemini-2.0-flash) .Instruction(You are friendly and concise.) .Build(); await using var runtime new AgentRuntime(); var result await runtime.RunAsync(agent, Share a machine learning fact.); result.PrintResult();要点拆解GoogleADKAgent.Builder()ADK 智能体的构造入口与 Python 侧google.adk.agents.Agent、Java 侧LlmAgent.builder()、TypeScript 侧new LlmAgent({...})语义对齐确保你仍然使用 ADK 原生的智能体对象模型。.Name(...)智能体名称也是它在 Conductor UI 中可检索到的执行标识。.Model(...)指定模型。示例使用gemini-2.0-flash服务端归一化时若模型名不包含 provider 前缀会自动补全为google_gemini/gemini-2.0-flash详见下文服务端源码级原理。.Instruction(...)系统指令。注意 ADK 使用单数形式的instruction这与 OpenAI Agents 的instructions复数不同是服务端归一化时专门处理的关键差异之一。AgentRuntimeConductor 的运行时入口RunAsync将智能体编译为工作流图并执行PrintResult()输出最终结果。await using确保运行时在作用域结束时正确释放。若你在 Java 侧使用过 ADK会发现 Java SDK 需要显式调用AdkBridge.toAgentspan(adkAgent)把LlmAgent转换为 Conductor 的Agent类型而 C# 侧的GoogleADKAgent.Builder()直接完成了这一桥接封装二者殊途同归对照见 java/google-adk.md。第三步配置 Conductor 服务端连接运行智能体之前需要先配置服务端地址。对无需认证的本地 Conductor 服务只需设置服务 URLexport CONDUCTOR_SERVER_URL{{CONDUCTOR_SERVER_URL}}对开启了认证的 Conductor 服务器还需要补充访问凭证# For authenticated Conductor servers: # export CONDUCTOR_AUTH_KEYYOUR_AUTH_KEY # export CONDUCTOR_AUTH_SECRETYOUR_AUTH_SECRET配置注意点{{CONDUCTOR_SERVER_URL}}是模板占位符实际使用时应替换为你的 Conductor 服务地址本地部署可参考 连接 Conductor。CONDUCTOR_AUTH_KEY与CONDUCTOR_AUTH_SECRET配套使用两者缺一不可。服务端必须能够访问你选择的模型提供商使用 Gemini 模型时需要在服务端配置对应的 AI/LLM 提供商密钥本地服务可在启动前导出 provider API key否则智能体运行时会因模型调用失败而报错。服务端源码级原理ADK 配置如何被归一化从agentspan模块的 GoogleADKNormalizer.java 可以完整还原 ADK 智能体在服务端的处理逻辑这也解释了示例代码中各项配置的最终去向模型名归一化normalize()中如果模型字符串不含/会自动补google_gemini/前缀同时支持通过环境变量AGENT_DEFAULT_MODEL全局覆盖模型格式为provider/model例如openai/gpt-4o-mini当服务器未配置 Gemini 时可用它切换到其他提供商。默认模型为gemini-2.0-flash。指令字段差异ADK 使用单数instruction归一化时兼容读取instruction与instructions若设置了global_instruction会将其前置拼接在指令前。子智能体sub-agentsADK 的sub_agents会被映射为AgentConfig的 agents 列表与协作策略——SequentialAgent→ SEQUENTIAL、ParallelAgent→ PARALLEL、其余类型 → HANDOFFLoopAgent会映射为 SEQUENTIAL 并以其max_iterations作为maxTurns。还支持根据disallow_transfer_to_parent/disallow_transfer_to_peers计算子智能体间的允许转移关系allowedTransitions。工具映射普通函数工具映射为 worker 型工具任务GoogleSearchTool被识别为 provider 原生能力写入元数据_builtin_web_search并映射到LLM_CHAT_COMPLETE任务的 webSearch 标志CodeExecutionTool映射为代码执行配置AgentTool会把内嵌子智能体包装为 agent 型工具。护栏guardrailsguardrails/input_guardrails/output_guardrails会被归一化为GuardrailConfig列表服务端据此编译带输入/输出护栏任务的执行循环。生成参数与回调顶层或generate_content_config中的temperature、max_output_tokens会映射为智能体的采样参数ADK 的before_model_callback等回调字段若携带_worker_ref会转化为 Conductor 的回调任务配置。也就是说C# 侧Builder传入的Name、Model、Instruction最终都会经该归一化器进入统一的AgentConfig并与你用其他语言 SDK 提交的 ADK 智能体走完全相同的服务端编译管线。相关单元测试见 GoogleADKNormalizerTest.java可用于验证各类 ADK 配置的映射行为。从开发到生产run / plan / deploy / serve 生命周期上述示例属于开发期运行SDK 将智能体编译并执行一次在 Conductor UI 中即可看到这次持久化执行。当智能体趋于稳定可以进入部署阶段。以 Python SDK 为例各语言 SDK 生命周期一致详见 agent-framework-recipes.md同一运行时提供四个调用with AgentRuntime() as runtime: runtime.run(agent, ...) # 开发编译并执行一次 runtime.plan(agent) # CI检视编译后的工作流图 runtime.deploy(agent) # 发布注册为具名、带版本的 Conductor Agent runtime.serve(agent) # 运维运行工具 worker 进程并阻塞deploy()在 CI/CD 中执行将编译后的智能体注册到服务端此后调用方无需再引入 ADK 及其依赖。serve()是长时间运行的 worker 进程负责执行智能体引用的本地工具函数只要部署的智能体仍在被使用就必须保持运行。部署完成后父工作流可通过AGENT任务按名称调用它示例见 framework-agents.md 中的run_agentJSON 定义与调用任何其他持久化步骤无异。其他语言的对照实现Conductor 对 Google ADK 的支持覆盖 Python、Java、TypeScript / JavaScript 与 C# 四种语言。仓库内同主题指南可作为对照参考语言安装方式指南位置.NET / C#dotnet add package conductor-ai-google-adkdotnet/google-adk.mdPythonpython -m pip install conductor-python[adk]python/google-adk.mdJavaconductor-aicom.google.adk:google-adk:1.3.0compileOnlyjava/google-adk.mdTypeScriptnpm install io-orkes/conductor-javascript google/adktypescript/google-adk.md值得注意的是Python 与 Java 指南额外导出了CONDUCTOR_AGENT_LLM_MODELgoogle_gemini/gemini-2.0-flash环境变量用于指定默认模型与前面提到的服务端AGENT_DEFAULT_MODEL覆盖机制配合使用C# 指南中未出现该变量说明模型选择以 Builder 中的.Model(...)为准未配置时由服务端兜底为 Gemini 模型。验证与排障运行示例程序后建议按以下顺序确认执行是否符合预期检查控制台输出PrintResult()应打印智能体的最终回复如果输出为空或报模型调用错误优先确认 Gemini 凭证已配置。在 Conductor UI 中核对执行记录应能看到一次名为adk_greeter的持久化执行展开后可见 LLM 调用与各任务的流转状态。失败排查三要素先检查CONDUCTOR_SERVER_URL是否指向可达的服务端再确认 ADK 框架包conductor-ai-google-adk已正确安装、版本匹配最后核对模型提供商的密钥与额度。此外仓库内的 google-adk-order-triage.md 提供了一个更完整的实战示例用 ADK 编写订单异常分流智能体通过 MCP 工具获取证据并输出处置建议再借助deploy_local_cookbook_agents.py部署、启动 worker 并以conductor workflow start触发可直接作为从跑通示例走向生产化部署的下一步参考。延伸阅读框架智能体快速上手OpenAI Agents、LangChain、LangGraph、Google ADK 四种框架的统一入门。框架智能体参考从框架对象到工作流步骤的完整生命周期与AGENT任务定义。你的第一个智能体从零构建原生 Conductor 智能体不依赖外部框架。ADK 订单分流实战ADK MCP 工具的完整可运行示例。GoogleADKNormalizer.java服务端 ADK 配置归一化的实现源码。AgentConfig.java归一化后的统一智能体元数据模型。【免费下载链接】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),仅供参考