AI 实践指南 08:一次任务背后,AI 是怎么干活的
上一篇用 Agent 把简报做成了网页,还演示了新开一个会话,不用重新交代背景,它也能接着干。但留下了几个问题:为什么要用 Agent,它和聊天工具到底差在哪,为什么换个会话不用重新交代。
这篇就用出第二期简报,把这几个问题拆开讲。
还是在简报项目里,新开一个 Claude Code 会话,让它出 10 月 16 日这一期:
出一期 10 月 16 日的简报,加到网页上。
【去哪里找】
只看官方来源:
- OpenAI:ChatGPT 与 Codex 更新日志(learn.chatgpt.com/docs/changelog)、ChatGPT 发布说明(help.openai.com 的 ChatGPT Release Notes)、Codex 发布记录(github.com/openai/codex/releases)、OpenAI 官方博客、X 账号 @OpenAI @OpenAIDevs
- Anthropic:官方新闻(anthropic.com/news)、Claude 发布说明(support.claude.com 的 Release Notes)、Claude Code 发布记录(github.com/anthropics/claude-code/releases)、X 账号 @claudeai @AnthropicAI
- DeepSeek:官方新闻和更新记录(api-docs.deepseek.com)、X 账号 @deepseek_ai
【限制】
- 时间窗口:北京时间 10 月 16 日 00:00 到 10 月 17 日 00:00,窗口外的一律不要
- 官方页面上的日期多数是美国时间。能查到精确发布时间的,换算成北京时间再判断在不在窗口里;只有日期、查不到具体时间的,标“时间未公开”
- 只要官方发布的消息,原文链接必须是官方页面,不要媒体报道和转述
- 打不开的页面记下来,不要用别的网站代替
- 只写查到的内容,不要编
【交付】
- 按 README 里的方式新增这一期,页面本地预览确认正常
- 先不要提交
- 最后告诉我:查了哪些页面,每一条的发布时间是怎么确认的,有哪些页面没打开和第 6 篇「从需求到交付,做出第一期简报」的提示词比,多了一条时区的要求,这是上次吃过的亏。
交代完我就没再管它,前后 9 分多钟,它自己走了七十来步。从会话记录看,它大概是这样干的:
先看项目。读 README,读第一期的数据和原文,弄清楚这一期要交成什么样。
然后按来源一个个去查。GitHub 上的发布记录,它直接用 GitHub 提供的接口去查,拿到了 Codex 和 Claude Code 精确到秒的发布时间。ChatGPT 发布说明直接抓取被拒绝了,它就换成打开浏览器去看。OpenAI 的新闻页也抓不到,它转去读网站的订阅源(RSS),那里有每篇文章精确的发布时间。X 账号它也用浏览器打开,推文的编号里带着发布时间,它把编号换算成了时间。DeepSeek 的新闻页打开只有目录,它就去同一个网站的更新记录里查。
最后写文件。把原文和数据写好,检查数据格式,在本地把网页跑起来,用浏览器打开看了一遍,截了图,再把临时开的服务关掉、临时文件删掉。
结果这一期有 8 条,每条都写清楚了发布时间是怎么确认的。DeepSeek 两条更新都标的 17 号,它判断在窗口外,写了“今天没有”。
跑之前,我也让 Claude Code 先去查了一份标准答案。对下来,标准答案里的几条它全找到了,时区也都换算对了。比如 Codex 那条,官方更新日志写的是 15 号,它查了发布时间,换成北京时间是 16 号凌晨,算进来了。它还多找到 4 条,都是从 X 和 OpenAI 新闻里来的,标准答案没查这两类来源。我把推文时间重新算了一遍,都对得上。
还有两条它拿不准,留给了我。一条是 GPT-6 Pro 的升级,发布说明标的是 16 号,但官方推文是北京时间 17 号凌晨发的,它判断不算;另一条只标了 15 号,查不到具体时间,它没收,让我决定。这两条我都同意它的判断。
拿这次和第 6 篇比一比就很清楚了。那次在聊天工具里做,X 一个都没抓到,官方页面打不开就只能列在最后,时区还算错了两条,靠我拿着证据去纠正。这次做得更好,主要不是模型更聪明,而是它能用的东西多了:GitHub 的接口、网站的订阅源、我电脑上的浏览器,一条路走不通就换一条。第 5 篇「AI 交回来的东西,怎么检查和纠正」最后说的,让 AI 直接去读官方页面,指哪儿打哪儿,说的就是这个。
那聊天工具和 Agent 到底差在哪?
聊天工具其实也会分好几步干活。第 6 篇里 ChatGPT 思考了两分多钟,搜了好几轮,还去 GitHub 核对了发布时间。区别主要在三个地方:
- 能用的工具。聊天工具基本只能联网搜索、读网页,用的是它自己服务器上的环境,有些网站会把它挡在外面。Agent 能用你电脑上的东西:读写文件、运行命令、打开浏览器,网页对它来说和你自己打开一样。
- 交回来的东西。聊天工具交回来的是一段回复,复制、保存、放到网页上,都要你自己来。Agent 直接在项目里把文件写好,把网页跑起来检查,交回来的是做完的事。
- 在哪里干活。聊天工具在一个对话里,Agent 在你的项目文件夹里。这一点决定了后面要说的,为什么换个会话不用重新交代。
所以问个问题、查点资料、改一段文字,聊天工具就够了;要分很多步完成、要读写文件、做完还要自己检查的事,就交给 Agent。
再说 Agent 是怎么干活的。
它接到任务后是一圈一圈地转:先想下一步做什么,然后动手做,再看结果,根据结果决定下一步。拿 ChatGPT 发布说明那一步来说:它先决定直接抓这个页面,抓回来是“拒绝访问”;它看到这个结果,决定换浏览器打开;打开成功,读到了内容,它再决定下一个来源去查什么。这次的七十来步,就是这样一圈圈转出来的。
这里面是两部分在配合。模型负责想,看完上一步的结果,决定下一步做什么。另一部分负责做:把模型的决定变成真正的动作,读文件、跑命令、开浏览器,再把结果拿回来交给模型看。它还管着能用哪些工具、哪些操作要先问人、项目里有什么规则。这部分通常叫 Harness,直译是“马具”,就是套在马身上、让马的力气能拉车的那套东西。
用第 2 篇「模型、聊天工具和 Agent,我们到底在用什么」里的比方,模型是发动机,Harness 就是方向盘、变速箱、刹车这些,把发动机装成一辆能开的车。Claude Code、Codex、DeepSeek Harness 都是这样一套东西,里面装的是各家的模型。同一个模型,放在聊天窗口里,就只能一问一答;放进 Harness,才能一步步把事做完。
再说为什么换个会话不用重新交代。
其实模型本身什么都不记得,每次新开会话,都是从零开始。聊天工具也有“记忆”,比如 ChatGPT 会记住你的一些偏好,第 4 篇里它就根据记住的情况给了我一堆建议,但它记的是关于你的零散信息,不是一个项目做到哪了、数据怎么放。这次它一上来做的第一件事,就是读 README 和第一期的文件,先弄清楚这是个什么项目、数据该怎么写。所以不用重新交代,不是它记住了,而是背景写在文件里,它每次进来都会去读。
上一篇里它一上来就找 AGENTS.md,也是因为文件。我在自己的全局规则里写过一句:进一个项目,先看它的 AGENTS.md。这类写给 AI 的规则文件,Harness 会在每次会话开始时自动读进来,所以它每次都照做。这个项目自己还没有规则文件,这次的提示词才写得这么长,信息源、时间窗口、时区怎么算,全都要在提示词里说一遍。
OK,Agent 是怎么干活的拆完了。不过这两篇我都是直接打开 Claude Code 就用了,很多人可能还没装过 Agent,下一篇先把这一步补上:怎么装好、打开,做完第一件事。再往后,就把每次都要贴的这一长段要求写成规则。
相关阅读:
AI 实践指南 01:让所有人把 AI 真正用起来
AI 实践指南 02:模型、聊天工具和 Agent,我们到底在用什么
AI 实践指南 03:ChatGPT、Claude 开通指南,一步步来
AI 实践指南 04:怎样把一件事交给 AI
AI 实践指南 05:AI 交回来的东西,怎么检查和纠正
AI 实践指南 06:从需求到交付,做出第一期简报
AI 实践指南 07:让 AI 围绕一个项目持续工作
题图标题:《调帆》
创作者:ikook
AI 算法提供:
- OpenAI GPT Image 2(题图)
本文图文版权所有,未经授权请勿转载或使用。