news 2026/8/1 20:01:24

Tools、Workflow、Agent 三层架构详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Tools、Workflow、Agent 三层架构详解

Tools、Workflow、Agent 三层架构详解:从最小能力单元到编排框架

1. 三者的核心误区

很多人把 Tools、Workflow、Agent 当成三个并列的竞争方案,认为做项目时需要在三者中选一个。这个理解是错的。

三者不是同一维度的东西,而是粒度不同、可以相互嵌套的三层结构。Tools 是最小的能力单元,Agent 是一个完整的决策系统,Workflow 是更上层的编排框架。在实际项目中,三者通常同时存在,扮演不同角色。

三者最核心的区别一句话:Tools 不做决策只执行,Agent 自己做决策,Workflow 是开发者替所有节点把决策提前写好。


2. 第一层:Tools——最小能力单元

2.1 核心定义

Tools 是整个体系里最底层的概念,就是一个封装好的函数,有明确的输入参数、明确的输出结果。

你给 LLM 配备的每一个能力,比如"查天气"“搜索网页”“执行 Python 代码”“往数据库写一条记录”,本质上都是一个函数。

Tools 和普通函数唯一的区别是:需要额外写一份"说明书"告诉 LLM 这个工具叫什么名字、能做什么事、需要传哪些参数,这样 LLM 才知道自己有哪些能力可以调用。

一个工具定义的结构示例:

{"name":"search_web","description":"搜索互联网并返回结果","parameters":{"type":"object","properties":{"query":{"type":"string","description":"搜索关键词"}},"required":["query"]}}

2.2 技术特征

  • 零决策能力:工具本身没有任何决策能力,它甚至不知道自己应该在什么时候被使用
  • 被动等待调用:由外部(Agent 或 Workflow)触发,不会主动执行
  • 高确定性:输入固定则输出固定,行为可预测

2.3 边界与局限

Tools 的使命就是把一个具体能力封装好、随时待命,至于什么时候该用它,那是别人的事。Tools 只负责执行,不负责判断"什么时候该用",需要组合才能完成复杂任务。


3. 第二层:Agent——拿着工具自己做决定

3.1 核心定义

Agent 是一个完整的决策系统,内部用 LLM 做大脑,自己判断什么时候调哪个工具、要不要继续、什么时候结束。

给 Agent 一个目标,比如"调研一下最近竞品的动态",它不会直接给一个答案,而是开始自己思考:第一步应该搜索什么关键词?搜索结果里有没有需要的信息?需不需要多搜几次?什么时候才算调研完了?

这一系列"要不要、用哪个、够不够、停不停"的判断,全部由 Agent 内部的 LLM 做决策。

3.2 运行机制:思考-行动-观察循环

Agent 的运行方式是一个反复循环的过程:

Thought(想清楚)→ Action(行动)→ Observation(看结果)→ 再 Thought → 再 Action → ...

直到 LLM 判断任务完成为止,这个循环才结束。

用 Go 代码表示这个循环:

funcRunAgent(taskstring)string{for{thought:=llm.Think(task,context)// 思考下一步做什么ifthought.IsDone{// 判断是否完成returnthought.FinalAnswer}result:=callTool(thought.ToolName,thought.Args)// 执行工具调用context.AddObservation(thought.ToolName,result)// 记录观察结果}}

关键点:这个 for 循环会跑几次,开发者完全不知道,也不需要知道。这正是 Agent 和普通代码最不一样的地方——普通代码的每一步都是开发者预先写好的,但 Agent 的执行路径是 LLM 实时决定的。

3.3 关键特征

  • 主动决策:Agent 自己决定执行路径
  • 灵活性高:能应对预料之外的复杂情况,完成事先无法预测路径的任务
  • 行为不确定:同样的任务,今天跑和明天跑可能调了不同的工具、走了不同的路径。这是因为 LLM 本质上是概率模型,每次生成都带有随机性

灵活性和不确定性是一对孪生兄弟。有 Agent 的灵活,就必然伴随着一定程度的不可预测。

3.4 边界与局限

  • 行为不可预测,线上排查困难
  • 成本不可控:LLM 调用轮次可能超出预期
  • 调试难度大:执行路径不确定,无法打断点逐步追踪

4. 第三层:Workflow——确定性编排框架

4.1 核心定义

Workflow 把整个执行流程的"骨架"写在代码里,LLM、Agent、Tools 都只是这个流程里的"节点",每个节点负责完成自己那一步。但整体走哪条路、下一步去哪里,全由开发者的代码决定,不是任何节点自己说了算。

4.2 技术特征

一个客服系统的 Workflow 示例:

defcustomer_service(user_input):# 第一步:意图分类intent=llm.classify(user_input)# 第二步:根据意图走不同分支ifintent=="refund":order_info=search_order(user_input)result=generate_refund_response(order_info)elifintent=="complaint":complaint_info=analyze_complaint(user_input)result=transfer_human_service(complaint_info)else:knowledge=search_knowledge_base(user_input)result=llm.generate_answer(knowledge)returnresult

关键点:LLM 在这里出现了两次,一次是做意图分类,一次是生成回答,但它只是流程里的两个工位。"接下来去哪"这件事完全由 if/elif 这些普通代码控制。

  • 开发者预先写死执行路径:if/elif/else 控制流程
  • 高确定性:代码看到什么就做什么,不会有"惊喜"
  • 易调试:可以打断点逐步追踪,精确定位是哪个节点出了故障

4.3 与 Agent 的核心区别

谁在做"下一步去哪"的决策?

维度AgentWorkflow
决策者LLM 实时决定开发者代码写死
行为不确定,路径动态变化确定,完全可预测
调试难,执行路径不确定易,链路清晰可追踪

4.4 边界与局限

  • 流程提前写死,难以动态调整
  • 无法穷举所有情况,遇到预料之外输入容易失败或给出很差结果

5. 三者对比总结

维度ToolsAgentWorkflow
决策能力无(只执行,不决策)有(LLM 自主动态决策)无(开发者在代码里写死)
执行方式被动,等待被调用主动,自主循环直到完成按开发者定义的顺序执行
确定性高(输入固定则输出固定)低(同输入可能走不同路径)高(行为完全可预测)
灵活性只做一件事高(能应对预料之外的情况)低(流程提前写死)
调试难度容易(单一函数)难(执行路径不确定)容易(链路清晰,可逐步追踪)
适用场景封装单一具体能力路径未知的复杂任务流程相对固定的业务系统

6. Agentic Workflow:生产环境的主流组合模式

完全靠 Agent 自主决策的系统其实很少在生产环境出现,原因:行为太难控制,一旦出问题很难排查,成本也容易失控(LLM 调太多轮)。

完全靠 Workflow 写死的系统又太脆弱,没法把所有情况都穷举到代码里,遇到预料之外的输入就容易失败。

Agentic Workflow 的核心思想:用 Workflow 固定主流程的骨架,在需要灵活判断的节点嵌入 Agent,其余固定节点直接用 LLM 或 Tools。

Workflow 骨架(确定性) ├── 节点 1:固定逻辑(LLM 或 Tools) ├── 节点 2:Agent 子模块(自主决策,灵活应对) │ ├── 子工具 A │ ├── 子工具 B │ └── 子工具 C ├── 节点 3:固定逻辑(LLM 或 Tools) └── 节点 4:结果聚合

骨架是确定的,让你能控制整体行为、便于调试;关键节点是灵活的,让你能应对各种复杂情况。两个优点都有,两个缺点都被削弱了。


7. 总结

Tools、Workflow、Agent 不是三个并列的竞争方案,而是不同粒度的三层结构,在项目中通常同时存在、相互嵌套:

  • Tools 是手,负责执行具体操作,不做决策
  • Agent 是大脑,自主判断用哪个工具、什么时候结束
  • Workflow 是骨架,由开发者预先编排好整体流程

生产环境推荐采用 Agentic Workflow 组合模式:用 Workflow 固定主流程,在需要灵活性的节点嵌入 Agent,实现可控与灵活的平衡。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 20:00:23

西门子200Smart加Smart 1000 IE水处理程序12(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_

西门子200Smart加Smart 1000 IE水处理程序 12(设计源文件万字报告讲解)(支持资料、图片参考_相关定制)_ 采用成熟、可靠、先进、自动化程度高的反渗透精混床除盐水处理工艺,确保处理后的超纯水水质确保处理后出水电阻率达到18.2MΩ.cm, 高纯水…

作者头像 李华
网站建设 2026/8/1 19:57:58

USB转串口转换器:工业通信的桥梁与实战指南

1. 项目概述:从“USB TO RS232/485 (B)”说起 如果你在工控、自动化、仪器仪表或者老旧设备维护的圈子里待过,那么对“USB TO RS232/485 (B)”这个标题一定不会陌生。它看起来像是一个冷冰冰的型号,但背后却是一整个连接新旧世界的桥梁。简单…

作者头像 李华
网站建设 2026/8/1 19:56:24

VisualCppRedist AIO:告别Windows运行库困扰的一站式终极解决方案

VisualCppRedist AIO:告别Windows运行库困扰的一站式终极解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 还在为"应用程序无法正常启动…

作者头像 李华
网站建设 2026/8/1 19:55:02

Annotators:让计算机视觉模型跑得更快的5个秘密武器

Annotators:让计算机视觉模型跑得更快的5个秘密武器 【免费下载链接】Annotators 项目地址: https://ai.gitcode.com/hf_mirrors/lllyasviel/Annotators 你是否曾经遇到过这样的困扰?训练好的深度学习模型在自己的电脑上运行缓慢,看着…

作者头像 李华
网站建设 2026/8/1 19:52:07

汽车轻量化突围:固极连接技术如何撑起性能跃升

在“双碳”目标与新能源续航提升的双重驱动下,汽车轻量化已从“技术优化选项”升级为“产业核心竞争力”,国内80%以上主流主机厂将其纳入中长期战略,并明确2030年前的轻量化关键指标。从实际应用来看轻量化带来的效益:燃油车减重1…

作者头像 李华