分享一个上次 Agent 活动的笔记:
1. 文锋
@wenfeng 现在在做 sheet0,一个专门做表格的 Agent,据说可以实现 100% 准确率。
我不确定准确率是不是真的已经能优化到这种程度了,但他做成这件事儿的思路很有启发!
为什么 Agent 现在不靠谱?一大原因就是 Agent 实现一个任务的步骤非常多,所以即便单一步骤的成功率能有 90%,那假设只有 5 步,一乘下来也就剩 60% 左右的成功率了。
这里文锋提了一个很有意思的思想实验,就是换一个角度看,成功率是 60%,说明在 100 次的任务里,其实有 60 次是完全成功的,所以我们哪怕没有能力把这 60% 的成功率提高,但仍然可以把重点放在怎么把这成功的 60 次找出来,组合在一起。
在他的产品里,实现方式就是当 Agent 每做完一步后,都单独做一轮评估。
如果感觉离目标更近了,那没问题,可以让 Agent 按部就班继续干活。
如果发现不对劲,就调用一个单独的 evaluation 模块,推理一下为什么现在出错了,是这一步出错了,还是再之前就错了,只是当时没看出来?
最后将推理的结果作为额外的 context 给到大模型,让它重新回滚到出错前的位置,换个方法再试一次。
当然有可能多次尝试也还是不行,那就再呼叫人类接管。
2. 上面这种方案的主要难点在于评估,也就是如何判断 agent 每一步是不是做对了?
这之所以能实现主要是因为文锋的产品是个表格 agent,有相对清晰的使用场景和结构化的交付成果。
但如果是通用任务,那基本就没法做。
所以垂直 agent 还是有个很大的优势,它能够预设场景和方案,用领域 knowhow 和工程化的设计提供更好的交付。
比如能更好地识别用户意图并在适当的时候主动向用户提问。
能更好地内嵌 Prompt 并进行各种有针对性的产品设计(e.g. 在恰当场景提供更高效的 UI 交互)。
3. 文锋提到了很多 Usage data 的妙用。
比如说,Agent 内部评估时每一次的报错过程都是一个可优化的数据点,会被收集下来,用作强化学习训练。
比如说,Sheet0 的交付结果是一个可编辑的表格,如果用户双击某个单元格对结果做了修改,这也是一个重要的数据点,会被用作模型训练。
再比如,用户的 prompt 里往往也蕴藏了很多珍贵的 knowhow。有时一个用户会给 agent 提供一些不常见的数据源,让它完成某项任务。
这个数据也会被 agent 记录和学习,下次另一个用户要求 agent 完成类似的任务时,它就会知道其实可以利用这些小众的信息搜集方式。
这些带来的结果都是,agent 会越用越强大,越用越聪明。
这样看来,先发优势带来的数据优势可能是 agent 产品一个非常核心的竞争壁垒。
4. AI coding 是大模型的灵巧手。
因为 coding 场景能自动形成很好的 feedback loop,代码写得对就能跑通,写不对就会报错,所以让大模型通过 coding 完成任务,能很大程度上降低幻觉和出错的概率。
而且几乎一切任务都可以通过 code 表达,所以 AI coding 会是大模型落地一个很好用的工具,甚至说未来会形成一种类似于前端后端的固定范式,所有产品中都能借用到一部分 AI coding 的能力。
P.S. 我们 5 月底还有两场新活动,欢迎大家扫码来玩!