Agent 的下一场竞争:不是会调用工具,而是能把长任务可靠做完
Agent 的下一场竞争:不是会调用工具,而是能把长任务可靠做完
一个 Agent 在演示视频里连续调用十几个工具:打开网页、搜索资料、读取文件、生成表格,最后还自动发出邮件,看起来已经像个“数字员工”。
但如果你在执行途中关掉浏览器,网络中断一次,或者要求它先等主管批准,它还能接着干吗?
这才是今天 Agent 产品真正的分水岭。
查一次天气、总结一份文档、调用一次搜索 API,都属于相对短暂的任务。可一旦让 Agent 连续数小时完成竞品调研、整理证据、生成报告,再根据反馈修改,问题就会成倍出现:
- 网页结构变化,原来的抓取方式失效;
- 登录状态过期,工具无法继续访问;
- 模型调用超时,上下文没有完整保留;
- API 额度耗尽,任务被迫中断;
- 邮件发送、付款、删除文件等操作必须由人确认;
- 报告虽然生成了,但引用错误、测试失败,不能真正交付。
所以,长任务不是让 Agent“多跑几分钟”,而是让它具备完整的任务生命周期。
真正的分水岭不再是 Tool Use,而是任务能否暂停、恢复、干预、验收和追责。
会调用工具,为什么仍然不等于“能干活”?
可以把当前 Agent 粗略分成两代。
工具调用型 Agent
它的典型流程是:
1. 接收用户指令;
2. 判断要调用什么工具;
3. 调用一次或数次;
4. 整理结果并返回。
这种 Agent 很适合查天气、搜资料、计算数据、读取文件。只要流程短、环境稳定,体验就会很好。
但它更像一名站在你面前、必须一次性把事情做完的临时助手:只要电话响了、门禁失效了,或者你中途离开,它很可能就不知道接下来该怎么办。
长任务型 Agent
长任务 Agent 围绕的不是“一次回答”,而是一个持续存在的目标。
它需要记住已经完成了什么、下一步是什么、调用过哪些工具、哪些操作等待审批,以及最终要满足什么验收条件。即使页面关闭、进程重启或外部系统暂时不可用,任务也不能随之消失。
下面这张图能够直观说明两者的区别:
flowchart LR
subgraph S["短任务 Agent"]
A[输入] --> B[推理]
B --> C[调用工具]
C --> D[输出]
end
subgraph L["长任务 Agent"]
E[目标定义] --> F[任务拆解]
F --> G[执行]
G --> H[保存检查点]
H --> I{是否遇到异常、审批或外部等待}
I -- 否 --> G
I -- 是 --> J[暂停]
J --> K[人工介入或等待事件]
K --> M[恢复执行]
M --> N[自动验收]
N -- 不通过 --> O[生成返工步骤]
O --> G
N -- 通过 --> P[交付]
end
短任务的终点是“输出”,长任务的终点则是“通过验收”。
这看似只差两个字,背后却是一整套工程系统。
长任务 Agent 必须具备的五项能力
一个真正可用的长任务 Agent,至少要解决暂停、恢复、观察、干预和验收五个问题。
1. 可暂停:该停的时候能安全停住
Agent 遇到验证码、权限申请、预算上限或敏感操作时,不应该继续猜测,更不能为了完成任务而绕过限制。
例如,企业要求 Agent 收集供应商报价并生成采购建议,它可以自主完成资料整理,但真正下单前必须等待经理批准。
此时,暂停不是失败,而是一种正确行为。
一个可靠系统需要记录:
- 当前执行到哪一步;
- 为什么暂停;
- 正在等待谁处理;
- 等待期间哪些数据不能失效;
- 审批通过后从哪里继续。
2. 可恢复:中断后不是从头再来
假设 Agent 已经阅读了30份材料,在整理第31份时网络中断。如果恢复后重新搜索、下载和阅读全部资料,不仅浪费时间和 Token,还可能因为搜索结果变化而得到另一份报告。
因此,系统需要定期保存检查点。
检查点不是简单保存聊天记录,而是保存足以重建任务的状态,例如:
- 已完成和未完成的步骤;
- 工具调用结果及唯一标识;
- 已确认的事实和引用来源;
- 文件版本与存储位置;
- 重试次数和错误信息;
- 等待中的审批或外部事件。
更关键的是,工具操作还要具备幂等性。恢复任务时,重复读取文件通常问题不大,但重复付款、发邮件或提交订单,后果可能非常严重。
3. 可观察:用户知道它正在做什么
很多 Agent 的问题并不是执行慢,而是用户不知道它究竟在执行、卡住还是已经崩溃。
长任务的界面至少应该展示:
- 当前任务状态;
- 已完成步骤和剩余步骤;
- 正在调用的工具;
- Token与其他资源消耗;
- 最近一次检查点;
- 当前阻塞原因;
- 预计下一步动作。
这种可观察性既服务于用户,也服务于开发者。没有日志,就无法判断失败来自模型规划、工具接口、权限配置,还是验收规则本身。
4. 可干预:人可以修改任务,而不是只能取消重来
真实业务中的目标经常变化。
做竞品调研时,用户可能中途补充:“把海外产品排除,只分析国内市场。”编程过程中,开发者也可能要求:“不要升级依赖,只修复当前函数。”
好的 Agent 应该识别哪些已有成果仍然有效,只返工受影响的部分,而不是把整个任务推倒重来。
这要求任务计划本身是结构化、可编辑的。人的反馈也不能只是追加到聊天窗口,而应转化为新的约束、步骤或验收条件。
5. 可验收:生成了结果,不等于完成了任务
如果用户要求修改代码,Agent 返回一句“已经完成”,这不叫交付。
真正的交付物应该包括:
- 修改后的代码或
diff; - 测试执行结果;
- 失败用例说明;
- 变更影响范围;
- 可供人工审查的 Pull Request。
同样,研究报告需要引用来源,数据分析需要计算过程,企业流程需要操作记录。
五项能力组合起来,本质上是一台状态机:
stateDiagram-v2
[*] --> Pending
Pending --> Running
Running --> Paused
Running --> WaitingForHuman
Running --> WaitingForEvent
Running --> Retrying
Running --> Validating
Paused --> Running
WaitingForHuman --> Running
WaitingForEvent --> Running
Retrying --> Running
Validating --> Completed: 验收通过
Validating --> Running: 验收失败,返工
Running --> Failed: 不可恢复错误
Retrying --> Failed: 超过重试上限
Pending --> Cancelled
Running --> Cancelled
Paused --> Cancelled
Completed --> [*]
Failed --> [*]
Cancelled --> [*]
暂停不是失败,输出结果也不是验收完成。
三类案例,正在证明同一个趋势
深度研究:报告只是最后一步
以主流产品中的深度研究功能为例,它们会持续搜索多个来源、阅读网页与文件、整理信息并生成带引用的报告。
真正值得观察的,不是报告写得像不像人,而是:
- 能否展示研究过程;
- 引用是否能够回到原始来源;
- 某个网页无法访问时是否会更换来源;
- 用户能否判断结论来自证据还是模型推断;
- 中途失败后是否保留已有研究结果。
研究型 Agent 的价值,不是“写出一篇很长的文章”,而是构建一条可以核查的证据链。
编程 Agent:代码生成只是过程
GitHub Copilot coding agent等产品,已经将工作范围从代码补全扩展到处理仓库任务、修改文件、运行检查并提交可审查的变更。
这个场景特别能说明长任务的本质。
编程任务可能经历:
读取仓库 → 定位问题 → 修改代码 → 运行测试
→ 分析报错 → 再次修改 → 重新测试 → 提交变更
其中任何一步都可能失败。仓库依赖安装不成功、测试环境异常、权限不足,都不能靠“再生成一段代码”解决。
公开编程基准SWE-bench Verified包含500个经过人工验证的真实 GitHub 问题。它的价值就在于:评测对象不是孤立的代码片段,而是 Agent 能否理解仓库、完成修改,并通过对应测试。
换句话说,代码写出来不算完成,测试通过、变更可审查才算。
企业流程:最重要的是边界
在 Microsoft Power Automate、Copilot Studio 等企业自动化体系中,审批、连接器权限和运行历史一直是流程落地的重要组成部分。
以采购流程为例:
收集数据 → 生成采购建议 → 等待经理审批
→ 调用企业系统下单 → 保存订单编号和审计日志
这里最重要的不是模型回答得多聪明,而是:
- 谁可以发起采购;
- Agent最多能使用多少预算;
- 谁拥有审批权;
- 审批过期后如何处理;
- 下单失败后能否安全重试;
- 谁在什么时间批准了哪项操作。
这也是为什么企业更在意身份、权限和审计,而不是演示视频里的工具调用数量。
产品竞争标准已经变了
| 过去重点 | 长任务阶段的新重点 | | 支持多少工具 | 工具调用是否稳定、幂等 | | 单次回答效果 | 任务最终完成率 | | 规划看起来是否聪明 | 中断后能否继续执行 | | Demo是否惊艳 | 多次运行是否可复现 | | 执行速度 | 时间、成本与成功率的平衡 | | 给出一个答案 | 给出可验证的交付物 | | 追求全自动 | 在关键节点正确请求人工介入 |未来的竞争会同时发生在三个层面。
模型层
模型仍然需要具备长上下文、任务规划、工具选择、错误识别和自我修正能力。
但模型越聪明,不代表系统越可靠。它可能制定出漂亮的计划,却因为一次接口超时而丢失全部进度。
运行时与平台层
这一层决定 Agent 能否真正“活得够久”,包括:
- 状态持久化;
- 后台任务队列;
- 超时与重试机制;
- 沙箱与权限隔离;
- 事件触发;
- 日志追踪;
- 检查点与版本管理。
LangGraph提供持久化、线程状态和interrupt等机制,Temporal则长期聚焦可恢复的持久执行。它们说明:长任务并不是无限循环调用模型,而是工作流系统与模型能力的结合。
产品层
普通用户不会直接操作状态机。他们看到的是进度条、审批按钮、结果预览、版本对比和失败提示。
一个优秀产品必须让用户理解:Agent现在在哪里、为什么停住、需要我做什么,以及最终交付是否可信。
因此,长任务时代的差异化会越来越多地来自模型之外的工程系统与产品设计。
如何测试一个 Agent 是真能干,还是只会演示?
不要只看宣传视频。给它一个真实任务,并主动制造干扰:
1. 执行中关闭页面或断开网络,重新进入后能否继续?
2. 让某个工具连续失败两次,它会重试、换方案,还是无限循环?
3. 遇到付款、发信、删除文件时,是否主动请求确认?
4. 中途改变需求后,是局部返工还是全部重做?
5. 最终结果是否附带来源、文件、日志或测试结果?
6. 同一个任务连续执行三次,结果与成本是否稳定?
7. 任务失败后,能否说明失败位置、原因和恢复方法?
行业目前仍偏爱展示单次基准成绩,但长任务更需要关注以下指标:
- Task Completion Rate:最终通过验收的任务比例;
- Recovery Success Rate:发生异常后成功恢复的比例;
- Human Intervention Rate:任务中需要人工介入的频率;
- Time to Completion:从任务提交到验收通过的总时间;
- Cost per Successful Task:总调用成本除以成功任务数;
- Repeated-run Variance:同一任务多次运行的结果波动;
- Validation Pass Rate:交付物首次通过验收的比例。
其中,每个成功任务的成本比单次调用价格更有意义。一个看似便宜的模型如果经常返工、重复调用工具,最终可能反而更贵。
验收标准,应该写在任务开始之前
最小的可恢复流程并不复杂,核心逻辑可以写成下面这样:
task = load_task(task_id)
while not task.finished:
if task.requires_approval:
save_checkpoint(task)
pause_task(task_id, reason="waiting_for_human")
break
try:
result = run_next_step(task)
task.record(result)
save_checkpoint(task)
except TemporaryError as error:
task.retry_count += 1
save_checkpoint(task)
if task.retry_count > MAX_RETRIES:
pause_task(task_id, reason=str(error))
break
if task.all_steps_done:
report = build_deliverable(task)
if validate(report, task.acceptance_criteria):
complete_task(task_id, report)
else:
create_rework_steps(task)
save_checkpoint(task)
这段伪代码包含三个容易被忽略的关键点:
- 检查点保存的是可恢复状态,不只是聊天记录;
- 工具操作必须考虑幂等性,避免恢复后重复付款、发信或写入;
- 验收规则必须提前定义,不能等任务完成后临时决定。
例如,要求 Agent 做一份竞品报告时,可以在启动前明确:必须覆盖5个指定维度,每项结论至少附带一个可访问来源,无法确认的信息标记为“待核实”,最终同时交付 Markdown 文档和结构化表格。
这样,Agent才知道什么叫“完成”。
截图与评测也要留下证据
如果要撰写产品评测,建议至少保存四类截图:
1. 后台任务或异步运行界面;
2. 当前步骤与任务进度界面;
3. 人工审批或敏感操作确认界面;
4. 执行日志、引用来源和最终验收界面。
截图应标注产品版本与截取日期,账号、密钥、内部文件和个人信息必须完整打码。Agent产品更新很快,没有时间和版本信息的截图,过一段时间就可能误导读者。
谁会率先建立长任务优势?
未来的赢家未必只是模型能力最强的厂商。
能够同时提供稳定模型、任务运行时、工具生态、身份权限、日志审计和评测体系的平台,更容易进入企业和专业工作流。
短期内,我们也不应过度期待“完全无人监督、连续工作数天”的通用 Agent。更现实的产品形态,是以小时级任务为主、支持后台异步运行,并在关键节点引入人工确认的半自主 Agent。
真正可靠的 Agent,并不是永远不向人求助,而是知道什么时候继续、什么时候暂停,以及什么时候必须把决定权交还给人。
判断一个 Agent 是否进入长任务阶段,最终只需要问三个问题:
1. 它能不能把任务做完?
2. 中途出错后能不能继续?
3. 它如何证明自己真的做完了?
想亲自验证,可以通过 api.884819.xyz 接入适合的模型,从“任务拆解—工具调用—检查点—结果验收”的最小流程开始测试,并记录完成率、耗时和实际调用成本。
8848AI平台使用用户名和密码即可注册,不需要邮箱验证;平台内置AI对话功能,注册后直接可用。国产模型如Deepseek、千问等完全免费,没有月租、没有订阅,其他模型按量付费。
新用户注册即送体验token。当 Agent 可以在后台运行几个小时,下一个问题就不再是“它会不会做”,而是“谁有权让它做、做错后谁负责”。
下一篇,我们将拆解 Agent 的权限系统:为什么 API Key、浏览器登录态和一句“操作前请确认”,都不足以保护真正进入业务流程的 AI Agent?
本文由8848AI原创,转载请注明出处。关注8848AI,带你从零开始学AI。#AIAgent #人工智能 #Agent开发 #AI工作流 #大模型 #8848AI #AI教程