第一章:从一个完整任务认识 Agent
我们希望助手每周固定一天上网搜集过去一周的 AI 消息,选出你关心的三条,整理成简报。最终的任务有四项要求:
- 相关:只选你关心的主题,按你给出的偏好筛选。
- 及时:只收集本次执行前 7 天内发布的消息,以原始发布日期为准。
- 去重:几份材料如果讲的是同一件事,简报里只写一条。
- 真实:重要说法要有依据,符合要求的消息不足三条时说明,不凑数。
为了看清一次任务怎样完成,本章先从你提供材料、助手整理草稿开始。联网取材、保留偏好和定时执行,会随着后续需求逐步加入。
你把三份材料交给 AI,要求:“整理三条候选消息,同一件事只写一条消息,区分已确认和未确认的说法;材料不足就说明,只给草稿,不发送。”
它很快交出三段文字,第一段介绍某个工具的导出功能,第二段又介绍同一更新,第三段把“修正标点”写成了“识别更准确”。格式整齐,却既没有去重,也没有保留材料支持的范围。
三份材料未必是三件事,转述中的说法也未必有依据。生成一份答案,并不等于满足了任务要求。本章从这里开始,认识模型、运行程序和工具怎样合作。
学完后,你应能沿着“目标—行动—反馈—交付”讲一遍过程,指出哪些步骤由人、规则或模型决定。本章留下的成果,是一份可以检查的任务要求。
1.1 先把要做的事说清楚
本书使用一组固定的自编资料。它们是教学材料,不代表真实产品新闻。
| 材料 | 内容 |
|---|---|
| 公告 A | 笔记工具甲新增纯文本导出,暂不支持图片 |
| 转述 B | 声称甲工具能完整迁移全部笔记和图片,没有附依据 |
| 公告 C | 语音工具乙新增标点修正,没有公布识别准确率变化 |
我们要的草稿需要满足四项条件:同一件事只写一条消息;重要说法能对应到材料;冲突和未知要说明;不足三件事时不编造第三件事。这一阶段只形成草稿,不发送给其他人。
因此,合理结果可能只有两条:一条讲甲工具的导出变化,明确图片暂不支持;另一条讲乙工具的标点修正,不扩大成准确率提升。最后说明三份材料只包含两件不同事件。
完成标准决定了哪些工作值得做。若没有这些条件,系统很容易把“凑齐三段话”当作终点。以后加入记忆、调度和协作,也必须保留这个目标,不能让新增能力改变原来要解决的问题。
1.2 三种做法,谁在安排下一步
第一种做法是只用聊天问答,不让系统调用工具。你把材料粘贴给模型,它根据这次能读到的内容生成回答。你发现第二条重复了,再提醒它修改;缺少材料时,也由你补上。
第二种做法是安排固定工作流:程序依次读 A、B、C,按规则去重,再让模型组织文字。工作流可以有条件分支,也可以让模型参与部分判断。关键在于,主要步骤和转换条件已由程序预先规定。
第三种做法是让模型参与行动选择:它先看到任务和读取工具的说明,提出读取材料的请求;看到 A、B 冲突后,再决定回看 A 的原文核对;读完给定材料后,形成两条草稿并说明数量不足。
本书讨论的 Agent(智能体),会把一部分后续行动的选择交给模型,并将实际执行结果带回模型,供它继续判断。自主程度可以不同,同一个产品也可以同时包含固定流程与模型驱动的环节。有没有搜索按钮,或者名字里有没有 Agent,都不足以说明它怎样工作。
如果任务每次都只有同样三份材料、同样的规则,固定流程可能已经足够。需要 Agent 的一个理由,是执行中会遇到无法提前完全写尽的材料缺口、冲突和新约束,需要根据结果调整路线。这种灵活性也会带来选择错误和额外开销。
1.3 把一句“我去查”拆成三个责任
模型是根据本轮输入产生响应的部分。响应可能是答复,也可能是“读取 A”这样的调用请求。模型发出请求时,页面或文件还没有因此自动被读到。
运行程序负责把目标、历史和可用能力组织起来,请求模型,承接它提出的行动,再将实际结果送进后续判断。Hermes 组织的正是这些工作,以及它们所需的状态和限制。
工具负责接触环境。读取工具可以取得材料;发送工具可以把信息交给外部服务。实际能访问什么,取决于工具、配置和执行环境。我们当前只需要读取,不需要发送。
| 责任 | 简报中的动作 | 观察时应该寻找什么 |
|---|---|---|
| 模型 | 提出读 A,判断 B 与 A 冲突 | 返回的行动请求或答复 |
| 运行程序 | 组织输入、执行调用、处理反馈 | 请求与结果是否对应,下一轮实际带入了什么 |
| 工具 | 读取 A,返回原文 | 真正取得的内容或错误 |
这种分工让我们有办法判断问题发生在哪里。读到了旧材料,是取材环节的问题;取到了新材料却没放进后续输入,是反馈组织的问题;材料已经在输入中,模型仍扩大结论,则要检查解释与判断。不能把所有失败都归结为“模型不够聪明”。
1.4 跟一次任务走过反馈回路
下面是教学示意,并非模型实测日志:
- 用户提出目标、完成标准和只形成草稿的范围。
- 运行程序把目标与读取工具的说明组织成输入,交给模型。
- 模型请求读取 A,程序调用读取工具,再把返回的 A 原文带入下一次模型请求。
- 模型接着请求读取 B。程序带回 B 后,模型可以对照已有的 A 原文,识别重复与图片说法的冲突;原文已经齐全时,不必再次调用工具。
- 模型请求读取尚未查看的 C,程序执行并带回结果。模型据此确认给定材料中只有两件事件,C 也没有提供准确率提升的依据。
- 模型形成两条草稿并说明不足,程序将答复交给用户。
这个回路叫行动循环。工具成功读出 B,只说明取得了那段转述,并不能证明其中的图片说法成立。反馈也可以是“材料为空”“读取失败”,或是将取得的材料放在一起后发现的矛盾。下一步是否合理,要看它准备解决哪个未知,而不能只看动作是否更多。
系统仍可能判断错:它可能相信 B 的夸大说法,重复读取同一份材料,或者提前结束。Agent 提供了调整行动的机制,可靠程度则需要看实际设计、运行条件和验证。
1.5 我们将逐步增加什么
现在的助手只处理当前资料。材料增加后,需要整理本轮输入;重新开始对话后,需要区分旧会话和精选记忆;反复完成相似任务后,可以保存方法;要下周自动运行,才引入调度与投递。
每一项机制都应回应一个已经出现的困难。先把最小系统理解清楚,后续才有依据判断哪些能力必要,哪些会增加不值得的复杂度。
把本章的要求汇成一张任务卡,后面增加能力时就有了可以对照的依据:
| 项目 | 本次任务的约定 |
|---|---|
| 材料范围 | A、B、C 三份给定资料 |
| 去重与核实要求 | 同一件事只写一条消息;重要说法对应材料依据,说明冲突与未知 |
| 允许的行动 | 读取、比较给定材料,形成草稿;不向外发送 |
| 交付形式 | 最多三条候选消息,保留有依据的变化及其条件 |
| 不足时怎样说明 | 本例交付两条,并解释三份材料只包含两件不同事件 |
下一章会把这张卡放进 Hermes 的系统地图。
本章要点
- 一份任务需要明确的完成标准,生成文字只是过程中的一种能力。
- 模型提出判断和行动,运行程序组织过程,工具实际接触环境。
- Agent 把一部分后续行动选择交给模型,并让真实结果进入反馈回路。
- 灵活调整有价值,也会引入错误与成本;是否需要它,要看任务条件。
理解题
1. 用户说“必须写三条”,材料却只有两件事,应该怎样处理?
先结合任务的核实要求判断。“三条”不能使不存在的事件变成事实。应交付能支持的两条并说明不足;若用户允许继续取材,可以寻找第三件有依据的事。继续检索和编造第三条是不同动作。
2. 每天按相同规则读三份材料,再让模型总结,是否必须改成 Agent?
不必。若流程确定,固定工作流可能更容易检查和控制。只有出现需要根据材料缺口、冲突等调整行动的部分,才有理由让模型参与后续选择。应解释收益是否超过新增复杂度。
3. 最终草稿采用了 B 的图片说法,怎样沿过程缩小问题范围?
先确认读取到了哪些内容,再看 A、B 是否都进入后续模型输入,最后看生成结论时有没有保留冲突和条件。只有知道实际输入和结果,才能区分取材、反馈组织与模型判断的问题。
下一章:Hermes 的系统全貌。