跳到主要内容

课题:痛在哪

缘起: 主人 2026-08-25 提出——想搞清楚一个 AI Agent 产品的第一步到底是什么。

这个课题只搭内核,全程不碰界面。 界面、流式、换模型厂商都是后面的课题; 收尾要交出的是一个能亲手跑的循环加一张配方,不是一篇读后感。

一句话

在控制台里丢给它一句话,它自己决定要用哪个工具、我的代码真去执行、结果再喂回去, 它看完结果再决定是回答还是接着干——一轮一轮,直到收工或撞上限

这条循环就是 agent 的全部定义。剩下的一切(界面、记忆、权限、评测)都是往它身上加东西。

现在卡在哪

零基础的人看现成 agent 产品,看到的是"它好像自己会干活"。看不到的是那个循环里的四个决定——

  • 一轮的输入长什么样? 说明、历史、能用的工具清单,这三样是怎么拼进一次请求的?
  • 模型说"我要调工具"时,回来的到底是什么? 我的代码凭什么认出这是调用请求而不是普通回答?
  • 执行完的结果怎么回去? 它在历史里是什么形状?为什么不能只把结果当普通消息塞进去?
  • 什么时候停? 谁来判断"干完了",撞死循环怎么办,上限该设在哪。

这四个不弄清,写出来的就是照抄某个框架的示例——换个框架全部重来,而且出错时不知道错在哪一环。

成功长什么样

读的部分(现在这一阶段):

  • 说得出这个循环上一共有几个决定,每个决定各家怎么选、代价是什么;
  • 每条结论都能追到某一篇 teardown 的某个事实、或某本书的某一章;
  • 主人读完讲义能自己把这个循环讲一遍——讲不出来就是讲义没写好。

做的部分(读透之后):

  • 控制台跑起来:丢一句话进去,它调工具、看结果、再决定,最后给结论;
  • 每一轮都打印出来:这轮它想调什么、参数是什么、结果是什么;
  • 加第二个工具,不改循环本身的代码。

边界:这个课题不管什么

  • 不管界面——这一轮全在控制台。界面归后面的课题,那时才决定"一轮"在屏幕上长什么样;
  • 不管流式——一轮一轮地打印就行,不做逐字输出;
  • 不管换模型厂商——先钉死一家跑通,抽象层归后面的课题;
  • 不管记忆与持久化——进程结束就丢;
  • 不管权限与沙箱——工具只挑只读的、无害的(比如列目录、读文件);
  • 不管多 agent——循环里嵌循环是后面的事。