• Gönderi

AI Agent 的核心原理,就是一个 Loop|Codex、Claude Code 都靠它

3149
0
2026-10-10 23:43:38
148
82
260
16
我们在网页里做了一个很迷你的 AI agent,只给它一个任务:「跑测试,修好失败的地方」。示例代码是故意写错的:购物车里有 3 件 10 块的、2 件 5 块的,总价应该是 40 块,但 total 只把价格加起来,算出了 15。点击开始后,agent 先跑测试、发现失败,再读两个文件、找到漏乘了数量,改好那一行,最后重新跑测试,通过。前后一共 6 轮。 Codex、Claude Code,还有 Pi、Hermes Agent、DeepSeek Harness 这些开源的 agent,核心都是同一个 loop:调用模型、执行它要求的工具、把结果加入对话,然后重复。这期视频用图解和大约 20 行 JavaScript,把这个 loop 一轮一轮地打开来看。视频里所有回复、token 数字和页面都来自真实的 API 调用,harness 的部分直接引用了它们的源码。 你会学到: ・先用图看清楚示例:正确的算法(10 × 3 + 5 × 2 = 40)、故意放进去的 bug(10 + 5 = 15)、测试做了什么 ・为什么把「文件」放在一个 JavaScript object 里:模型只看到工具名称和结果,分不出真文件和字符串 ・Agent loop:调用模型 → 有没有 tool_calls → 执行工具 → 结果加入 messages → 再来一次 ・一个真实的错误:工具抛出 error 却没有 catch,agent 停在了第 4 轮;错误要变成文字交还给模型 ・打开黑盒逐轮看:模型返回的原始 JSON、工具的结果、文件被实时改写(只改了第 4 行) ・同一个任务跑 5 次:7、6、5、7、5 轮,顺序都不一样,但每次都写出同一行修正的代码 ・模型没有记忆:每一轮都重新发送整段对话(2 → 12 条 messages、104 → 490 个 token);harness 怎样截短和压缩 ・什么时候停:没有工具调用、MAX_TURNS 上限(真实运行 MAX_TURNS = 2)、重复提醒、取消、中途插话 ・Harness 的其他部分:权限检查(Pi 的 beforeToolCall)、Pi 的两层 while、DeepSeek Harness 的 plugin、Hermes Agent 的记忆和定时任务 动手试试:加第五个工具,比如删除文件,看看模型什么时候会用它;或者给它一个新任务,比如给购物车加一个折扣。
热爱Web技术,教学相长。我是Steven,一起加油!
Müşteri hizmetleri
Üst
赛事库 课堂 2021拜年纪