ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

使用 TypeScript 开发 Conductor 原生 Agent:从安装配置到运行你的第一个 AI Agent

使用 TypeScript 开发 Conductor 原生 Agent:从安装配置到运行你的第一个 AI Agent 使用 TypeScript 开发 Conductor 原生 Agent从安装配置到运行你的第一个 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/conductorConductor 是一个事件驱动的 agentic 工作流引擎它为应用与 AI Agent 提供持久化durable、高弹性的执行能力。本指南基于仓库中的 TypeScript 原生 Agent 快速入门文档完整讲解如何使用官方 TypeScript SDKio-orkes/conductor-javascript编写并运行一个 Conductor 原生 Agent包括 SDK 安装、环境变量配置、Agent/AgentRuntime的核心用法、npx tsx运行方式以及 Agent 运行背后的编译为工作流图原理与后续接入工作流的实战路径。读完本文你将能独立创建一个可运行的 TypeScript Agent并理解如何把它部署为可被工作流复用的AGENT任务。本文对应的快速入门文档在仓库 UI 代码库中作为 TypeScript 语言的默认native/Conductor指南被引用见 manifest.ts 中的注册关系typescript/native.md被标记为 Conductor 标签是 TypeScript 语言页面的默认选择。同样的原生指南在 Python、Java、.NET 语言中均有对应版本本指南聚焦 TypeScript 一条路径。一、Agent 是什么先理解 Conductor 的 Agent 模型在动手之前先明确 Conductor 中原生 Agent 的定位。根据 Agent Concepts 文档 的说明Agent 底层就是工作流一个 Conductor Agent 定义包含模型、指令、可调用的工具会被编译成一张普通的工作流图。每次模型调用是一个任务task每次工具调用也是一个任务二者之间的循环就是工作流控制流。运行即持久化因为一次 Agent 运行就是一次工作流执行所以工作流的所有能力都适用——每一轮turn都会持久化崩溃或重启后可以从最后完成的步骤恢复重试与超时遵循同样的策略每一步都可以用人工审批human task介入每次运行都会留下完整、可回放的历史记录。三种编写方式声明式 AI 工作流把 LLM、MCP、控制流任务直接写进工作流定义、Conductor Agent用 SDK 在代码中编写编译后通过AGENT任务复用即本文路径、远程 A2A Agent独立部署的服务通过持久化的AGENT任务调用。理解了这一点后续所有代码与配置的含义就一目了然你写的 TypeScript 代码描述的是一个会被编译成工作流图的 Agent而不是一个长期驻留的进程。二、安装 TypeScript SDK在项目目录中通过 npm 安装官方 JavaScript/TypeScript SDKnpm install io-orkes/conductor-javascript该包是 Conductor 的官方 JS/TS SDK既支持传统的 worker 与工作流编排详见 JavaScript SDK 文档也通过io-orkes/conductor-javascript/agents子路径导出 Agent 相关 APIAgent、AgentRuntime等。三、配置环境变量运行 Agent 前需要配置与 Conductor 服务器以及 LLM 相关的环境变量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 服务器地址必填。对应你连接的本地部署或托管实例连接方式见 Connect to Conductor。CONDUCTOR_AUTH_KEY/CONDUCTOR_AUTH_SECRET认证密钥对。仅在服务器启用了认证时如生产环境、托管服务需要配置本地开发环境可注释掉。CONDUCTOR_AGENT_LLM_MODELAgent 使用的默认 LLM 模型示例中为openai/gpt-4o-mini。它提供 Agent 的默认模型选择代码中显式指定model时可以覆盖该默认值。需要留意两点实践建议出自 Your First Agent 快速入门上述连接变量CONDUCTOR_SERVER_URL、需要时的认证密钥应在连接 Conductor 时统一完成配置模型提供商的凭据应放在 Agent worker 运行的环境或密钥管理系统中不要放进工作流输入里。四、编写第一个 Agentmy-agent.ts将以下内容保存为my-agent.tsimport { Agent, AgentRuntime } from io-orkes/conductor-javascript/agents; const agent new Agent({ name: greeter, model: openai/gpt-4o-mini, instructions: You are friendly and concise., }); const runtime new AgentRuntime(); try { const result await runtime.run(agent, Share a fun TypeScript fact.); result.printResult(); } finally { await runtime.shutdown(); }逐段解析这段代码的作用new Agent({...})声明 Agent 定义。三个核心字段nameAgent 名称此处为greeter编译并部署后会作为可复用 Agent 的标识model指定 LLM 模型写法为provider/model形式如openai/gpt-4o-miniinstructions系统提示词定义 Agent 的行为风格此处要求友好且简洁。new AgentRuntime()创建运行时。AgentRuntime负责将 Agent 定义编译成工作流图并与 Conductor 服务器交互执行。await runtime.run(agent, Share a fun TypeScript fact.)单步执行 Agent第二个参数是用户输入/任务描述。在开发阶段run会编译 运行一步完成。result.printResult()打印运行结果。finally { await runtime.shutdown(); }无论成功与否都关闭运行时确保进程优雅退出、不残留挂起的连接。这一写法对应其他语言指南中的资源管理模式如 Python 的with AgentRuntime()、Java 的try (AgentRuntime runtime new AgentRuntime())可对比参考 Python 原生指南 与 Java 原生指南。五、运行 Agent使用tsx直接运行 TypeScript 文件无需预先编译npx tsx my-agent.tsnpx tsx是零配置的 TypeScript 执行器会直接执行my-agent.ts中的 Agent 定义并输出结果。这与 JavaScript SDK 文档中推荐的npx ts-node针对完整 SDK 示例同属一类用法此处为 Agent 指南的标准运行命令。六、运行时背后发生了什么一次持久化的 Agent 运行代码运行后AgentRuntime并不会在你的进程里维护一个长期 LLM 循环而是根据 Agent Concepts 文档 的实现说明执行如下过程将greeter这个 Agent 定义编译为一张 Conductor 工作流图图中每个模型调用是一个任务、每次工具调用是一个任务二者之间的循环是工作流控制流一次调用了工具的运行会产生类似如下的任务序列prompt→LLM 任务决定调用工具→工具任务运行你的函数→LLM 任务写出最终回答→answer。正是Agent 即工作流这一设计带来了几个直接收益每轮持久化、崩溃后从最后步骤恢复、重试/超时沿用统一策略、人工可审批、历史可回放。因此即使是最简单的greeter示例在 Conductor UI 中查看执行时也能看到完整的任务时间线与输入输出记录验证方式见 Your First Agent 的验证章节在 UI 中定位本次运行确认最终状态并检查任务时间线、输入与输出若无法触达模型先确认服务器地址与 worker 环境中的提供商凭据再检查失败任务后重试。七、从运行到部署把 Agent 接入工作流开发期使用runtime.run()编译并运行一步到位生产环境中Agent 的生命周期则包含五个操作详见 Conductor Agents 文档Create在代码中定义 Agent本文的new Agent(...)Plan检查 Agent 将被编译成的工作流图开发期与 CI 中均可使用Deploy把编译后的 Agent 注册到服务器成为可复用、带版本的 Conductor AgentServe启动执行 Agent 工具的 worker 进程框架需要时Run执行。生产环境下工作流通过AGENT任务按名称调用已部署的 Agent。将 Agent 接入工作流时只需在 workflow 定义中放置一个AGENT类型的任务例如仓库中的 31-conductor-agent-basic.json 配方{ name: run_agent, taskReferenceName: run_agent_ref, type: AGENT, inputParameters: { agentType: conductor, name: planner, prompt: ${workflow.input.prompt} } }关键参数说明agentType决定执行模式而非编写框架a2a默认调用远程 A2A 端点conductor按name运行已部署的 Conductor Agentname与prompt在首次调用时必填version可选地固定已部署 Agent 版本省略则使用最新版任务输出中包含executionId、agentName、state、text以及运行完成后的结构化output其中state是标准化后的 A2A 生命周期值working、input-required、completed、failed、canceled让运维可以同时检查父工作流与 Agent 子运行。更完整的组合示例还包括人工介入后通过executionId恢复同一运行的 human-in-loop 配方、并行多 Agent 的 multi-agent 配方 以及取消传播的 cancel 配方。部署并调用 Agent 前还需要在服务器上启用 AI 集成conductor.integrations.ai.enabledtrue该属性为 false 或缺失时已部署 Agent 的控制平面与agentType: conductor执行模式不可用。八、继续深入Your First Agent 快速入门各语言的首个 Agent 完整步骤与验证、恢复方法Agent Concepts 概念文档Agent 编译为工作流图的底层原理与三种编写方式Conductor Agents 指南Agent 生命周期、AGENT任务输出契约、恢复与取消语义Agent 框架配方把 OpenAI Agents、LangChain、LangGraph、Google ADK 等框架 Agent 接入同一持久化运行时JavaScript SDK 文档worker、工作流构建器、AI 任务类型llmChatCompleteTask、callMcpToolTask等的完整参考。【免费下载链接】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),仅供参考
返回列表