乐于分享
好东西不私藏

AI Agent:会用工具的模型,和普通聊天机器人的区别

AI Agent:会用工具的模型,和普通聊天机器人的区别

普通聊天机器人主要是在“回答问题”,AI Agent 则是在“完成任务”。

这句话听起来只差几个字,但工程含义完全不同。回答问题时,模型只要生成一段文本;完成任务时,模型需要理解目标、拆解步骤、调用工具、观察结果、继续决策,最后把事情办完。

一个生活化例子

如果你对普通聊天机器人说:

帮我规划一下明天去上海出差的行程。

它可能会给你一段建议:


建议早上乘坐高铁,中午到达后先去酒店,下午安排客户拜访,晚上整理会议纪要。

这叫“给建议”。

如果你对 Agent 说同样的话,它可能会继续做这些事:

  1. 查询明天高铁或航班。

  2. 根据你的日历避开已有会议。

  3. 查询客户公司地址。

  4. 预估路程时间。

  5. 帮你生成行程表。

  6. 在需要时发起订票或提醒你确认。

这叫“执行任务”。

Agent 的核心不是“更会聊天”

很多人第一次听 Agent,会以为它只是一个更聪明的聊天机器人。其实 Agent 的关键能力不是闲聊,而是闭环。

一个典型 Agent 循环可以写成:


目标 -> 思考下一步 -> 调用工具 -> 观察结果 -> 再决定下一步 -> 完成或停止

在工程里,这个循环通常包括:

能力通俗解释例子
目标理解知道用户到底要达成什么“查投诉并生成建议”不是只写建议
计划拆解把大任务拆成小步骤先查客户,再查工单,再总结
工具调用使用外部能力查数据库、调用 API、读文件、发邮件
状态管理记住任务进展已经查过哪些系统、下一步是什么
自我修正出错后能重试或换路接口超时后重试,参数错了重新生成
停止判断知道什么时候完成不无限循环,也不半途结束

OpenAI Agents SDK、LangChain Agent、LangGraph、AutoGen、CrewAI 等框架,虽然实现方式不同,但基本都围绕这个循环展开。

Agent = 模型 + 工具 + 运行时 Harness

LangChain 文档里有一个很直白的说法:Agent 是模型在循环中调用工具直到任务完成,而 Harness 是围绕这个循环的一切,包括模型、提示词、工具和中间件。

换成测试工程师熟悉的话:


模型只是大脑,Agent 运行时才是身体和手脚。

没有工具,模型只能说;有了工具,它才能查、算、写、改、提交。

Agent 和工作流有什么区别

AI Agent 经常和 Workflow 混在一起讲。两者都可以自动化任务,但决策方式不同。

对比项传统工作流AI Agent
步骤预先写死可由模型动态决定
分支明确配置根据上下文判断
适合场景稳定、规则清楚开放、步骤不完全固定
风险逻辑写错模型误判、工具误用
测试重点分支覆盖目标完成率、工具调用正确率

比如发票审批流程,规则很明确,适合传统工作流。客户投诉分析,可能要查多个系统、判断投诉类型、结合上下文写建议,更适合 Agent 或“工作流 + Agent”的混合模式。

工程上不建议所有事情都做成 Agent。越能写成确定规则的部分,越应该保持确定性。Agent 适合放在那些“需要理解、判断、综合”的位置。

一个企业场景:客服 Agent

假设我们做一个售后客服 Agent,用户说:


我上周买的净水器一直漏水,客服没人回我,帮我处理一下。

一个比较完整的 Agent 可能会这样运行:

步骤Agent 行为测试关注点
识别意图判断是售后投诉,不是普通咨询意图分类是否正确
获取订单调订单接口查询购买记录是否查对用户和订单
查询工单看是否已有客服记录是否重复创建工单
判断优先级漏水可能影响安全,提升优先级规则是否符合业务
生成方案给出退换修建议是否超出政策承诺
创建工单写入售后系统参数是否完整、权限是否正确
回复用户告知处理进度和工单号是否清楚、可追踪

如果只看最后一句回复,可能觉得“写得还行”。但真正上线时,测试必须看全链路:有没有查错订单、有没有误创建工单、有没有承诺不存在的赔偿、有没有泄露其他人的信息。

Agent 的几个典型形态

类型说明适合场景
工具型 Agent会调用有限工具完成任务查订单、查知识库、生成报告
RAG Agent会主动检索知识并判断是否足够企业知识库、法律检索、技术支持
Coding Agent能读仓库、改代码、跑测试自动修 Bug、生成脚本、代码审查
多 Agent多个角色协作研究、写作、复杂分析
人机协同 Agent关键动作需要人工批准发邮件、下单、删除数据、转账

这里最值得注意的是“人机协同”。在生产系统里,不是 Agent 越自主越好。越高风险的动作,越应该加入人工确认。

Agent 测试不能只看最终答案

测试 Agent 至少要看 6 类指标:

指标说明
任务完成率用户目标是否真正完成
工具选择准确率是否调用了正确工具
参数正确率调接口时参数是否对
越权率是否访问或操作了不该碰的数据
失败恢复率工具失败后是否能合理处理
成本与延迟是否调用太多模型或工具

举个例子,Agent 最后回答“已为你创建工单”,但实际上接口返回失败。如果没有 trace 和工具调用记录,测试人员很难发现这个问题。Agent 的质量证据必须包含中间过程。

常见坑

第一个坑:把 Prompt 写得很长,以为这就是 Agent。

Prompt 可以指导行为,但 Agent 需要运行时支持,包括工具注册、工具权限、状态管理、执行循环、错误处理和日志追踪。

第二个坑:工具太多,模型反而选错。

给 Agent 100 个工具,就像给新人 100 个系统入口。工具描述不清、参数相似、权限混乱,都会导致误调用。工具设计要少而清楚。

第三个坑:没有停止条件。

Agent 可能陷入反复查询、反复改写、反复尝试。上线前要设置最大步骤数、最大工具调用次数、最大成本和超时。

第四个坑:让 Agent 直接执行高风险动作。

删库、转账、发正式邮件、修改合同、提交生产配置,这些动作都应该有人工确认或强规则护栏。

算法测试工程师怎么入手

可以从一个小型任务开始,比如“根据工单内容生成分类和摘要”。

第一版不要急着做全自动闭环,先做:

  • 固定输入样本。

  • 允许 Agent 调用 1 到 2 个只读工具。

  • 记录每次工具调用。

  • 人工标注任务是否完成。

  • 把失败样本沉淀成回归集。

等只读链路稳定后,再引入写操作,并把写操作放到人工确认后面。

实践清单

  • 列出一个业务任务,判断它是更适合工作流,还是 Agent。

  • 如果需要 Agent,先写清楚它可以使用哪些工具。

  • 给每个工具写一句非常明确的用途说明。

  • 设置最大执行步数、超时、成本上限。

  • 对所有工具调用做 trace。

  • 高风险操作加人工确认。

  • 用 20 个真实样本测试任务完成率和工具调用正确率。

最后小结

AI Agent 的价值,不在于它会说漂亮话,而在于它能把“理解”转化为“行动”。但行动越多,风险也越多。

对测试工程师来说,Agent 是一个很有挑战的新对象。它既像软件系统,又像算法系统,还像自动化流程。测试时必须同时关注最终结果、中间链路、权限边界、失败恢复、成本延迟和用户体验。

一句话:普通聊天机器人测答案,Agent 要测任务闭环。