把 API 直调接上去省事得多。但那样的话,小镇就只是一堆会说话的单元格。
一个很诱人的妥协
做生成式小镇的时候,有个几乎无法拒绝的捷径:
给 agent 一个 watch_news() 工具,直接调知乎热榜 API。想去网吧就给个 search()。不用走路,不用碰撞检测,不用导航。
功能上完全等价。演示效果一模一样。
为什么还是不能这么做
因为如果 agent 站在自己家里就能"看到"新闻,那它从来没有"去看"过新闻。
这两个事件的差别不在结果,在路径。而路径才是让行为产生意义的东西。
物理即代价
我们现在的设计是:
- agent 想看新闻,必须走到电视节点
- 到了电视前,电视必须真的在播(接的是真实热榜)
- agent 搜东西,必须走到网吧,走进去才能用
代价是:寻路会失败、碰撞会卡住、有人走到一半就忘了自己要去哪。
这些 bug 是特性
一个会走到一半走丢的 agent,比一个瞬间就知道答案的 agent 更像人。
前者会撞到墙上,会重新规划,会绕路。
后者只是接口。
