最近,Shopify 分享了他们构建生产级 AI 助手 Sidekick 的万字长文,信息量爆炸。
很值得一看。
最早他们类似 Anthropic 总结的的 Agentic loop 开始,让大模型去完成ReAct的循环。
初期确实能回答一些筛选类的请求,可以自动的查询数据,筛选数据。
很快,他们遇到了第一个问题。工具拓展。
工具数量的增长和系统的可维护性之间存在一个恐怖的临界点:
这个问题,他们用 Death by a Thousand Instructions 来形容。系统 prompt 被各种特例、互相冲突的指南、各种边缘情况的处理逻辑填满,变得臃肿、缓慢,几乎无法维护。
为了解决这个难题,他们搞出了一个新的词,叫:Just-in-Time (JIT) 指令。
这个思路的核心就是:别再把所有指令都塞进系统 prompt 里!只在需要的时候,把相关的指令和工具数据一起返回给 LLM。
新瓶装老酒~
这种做法的好处很明显:
到下一个环节了,评估是Agent系统最大的挑战。
传统的传统的软件测试方法,似乎没法很好的处理LLM输出的概率性问题以及多步推理时候的复杂性。
很多人还在用 Vibe test,或者让 LLM 随便打个分。
这种方法完全的不靠谱,评估需要有原则且统计上严谨,否则就是在自我安慰。
他们建立了一套严谨的、统计上可靠的评估体系。
整个流程是这样的:
通过这套体系,他们的 LLM 法官从最初几乎是随机乱猜(卡帕系数 0.02),提升到了接近人类专家的水平(0.61 vs 人类基准 0.69)。
这种效果其实也不太靠谱,毕竟现在大模型的推理框架几乎都不具备批推理一致性,每次变来变去,效果会在一个区间波动。
他们甚至还做了一个模拟器重放真实对话,可以让大模型从多个候选系统中,选择最好的一个。
最后,他们发现,即使评估体系在完善。
模型依然可能会钻空子。
模型找到了各种清奇的角度来骗过奖励系统:
解决这些行为是一个持续对抗的过程,需要不断地迭代LLM 法官,让它们能识别出这些新的作弊模式。
不要迷信多 Agent, 一个设计良好的单 Agent 系统远比你想象的更强大。
这个是他们主要传达的理念。
构建生产级的 Agentic 系统,远不止是把 LLM 和一堆工具粘在一起。
它需要仔细琢磨架构、严谨的评估方法论,以及对系统潜在失败模式的持续预防。
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |