跳到正文
邵猛· X:邵猛 (@shao__meng)·· 9 小时前AI 评分38

邵猛解读 Lee Robinson 斯坦福 CS146S 讲座:Grok Bot 的 Harness 与上下文工程

AI 导读

邵猛分享反复学习 Lee Robinson 斯坦福 CS146S 讲座的笔记,聚焦 Grok Bot 的 Harness 与上下文工程构建。

正文

反复学习 Lee Robinson 斯坦福 CS146S 讲座

这回主要看 Grok Bot 的 Harness 和上下文工程是怎么构建的。前段时间 Claude Code 源码泄露、CodeX 开源等等,让我们了解到了 Coding Agent 的架构和工作模式,那 Grok Bot 和 Muse 这种 Personal Agent 有什么不同呢?

The Harness

① 单工具协议:客户端与服务器之间只有 "send to user"
这是 GrokBot harness 与同类产品最大的架构差异。所有重工具「shell 命令、文件读写、云端 agent、录屏、demo 制作」全部驻留服务器;客户端唯一的通信原语就是“发给用户”。收益是双重的:服务端上,无论客户端是手机 App、桌面端、邮件还是 Slack,都复用同一套工具层;客户端上,收到这个工具的返回后可自行决定渲染方式,登录表单(接 1Password)、支付(Stripe Link / XMoney)、不可逆操作(发邮件)前的草稿审批、甚至只用一个 emoji 回应。“逻辑在服务端、表现力在客户端”,一个工具同时换来了架构简洁与交互丰富。

② 动态工具发现("tool search tool")
把 Gmail、Drive、YouTube 等所有 MCP 连接器的完整工具 schema 塞进上下文,工作记忆就所剩无几。解法是上下文里只放工具名,模型决定使用时再从文件读取完整定义;又是“一切皆文件”的延伸。省下的上下文直接转化为更低成本与更大工作空间。

③ 逐级升高的求助阶梯
原则:永远先试最便宜、最可靠的选项。会话历史 → 插件/MCP/API(如 Plaid 查银行)→ 网页搜索 → 浏览器操作 → 整台 Linux 桌面跑脚本 → 全部失败才去打扰用户。电脑端读取信息同样分层:截图 → HTML → 无障碍树(大幅省 token,且直接定位可点击元素)→ 像素级点击(对付弹窗)→ 退回用户(验证码、双重认证)。这套阶梯的设计目标很明确:让 agent 像一个不烦人的同事。

④ 编排者 + 子智能体
主 agent 只做 orchestrator,上下文保持稀疏;重活交给拥有全新工作记忆的 helper(子 agent),只回收最终结果;这就是“无限上下文”体验的来源。每个 helper 是独立的持久化工作流(Temporal),崩溃重启不丢进度。主 agent 像管理待办清单的同事:可查看、可留言、可叫停。整体照着“理想工程团队如何扩张”来建模。

⑤ 四条实战经验与安全底线
· 不要在 turn 中途增删工具(保缓存);工具 schema 冗长是成本,要修剪;
· “单工具”理论上可建模一切,但若模型 90% 时间在跑 shell,就值得做专用工具;更高效,也对审查系统的人更可读;
· 写给人类看的描述性错误信息,对 agent 同样有效;错误信息即提示词;
· 安全上:模型逐条审查 shell 命令;不可信输入(钓鱼邮件、webhook)绝不能当作用户指令进入模型(提示注入防线);不可逆操作须用户审批;密码经产品层工作流保持在会话之外。

Context engineering

① Prompt caching 是成本关键
agent 每轮都要重发全部对话历史,理想状态下大部分 token 应是缓存命中(折扣巨大),只有最新消息是未缓存增量。推论严格:工具定义与系统提示必须跨调用保持静态;prompt 分段固定顺序、近乎做哈希,做 A/B 测试插入新段落时不能打乱其他所有用户的缓存。缓存未命中按 bug 对待。他给出史实佐证:今年 1 月 OpenClaw 在订阅套餐中爆火,这种常驻运行的新用法导致大量缓存未命中,各模型厂商被迫紧急加固。最精巧的一招:用户刚打开聊天框开始打字时,服务器就提前构建 prompt 预热缓存,如同网页在 hover 链接时预取下一页。

② 压缩的时机选择
长程运行的必然终点是压缩,而所有压缩都有损(“这一个问题够写好几个博士论文”)。实操技巧极具体:对话超 10 万 token、用户离开后,要在缓存温热窗口(约 10–60 分钟)内立刻完成压缩;用户半小时后回来时从摘要续聊,成本远低于从全量历史续聊。压缩不是等来了再做,而是抢在缓存过期前做。

③ 记忆的四层结构
· 核心事实:每条消息必带(如“该用户永远小写”),并做“垃圾回收”;大脑此刻不会想着足球赛,事实层也只保留当下相关的;
· 带日期的日志:过往会话的存档;
· 便签(scratchpad):设计上就短暂,只为接下来半小时到一小时服务;
· 其余一切靠文件:模型随时 grep 检索,“这就是文件的魔法”。

配合三条纪律:长输出写文件而非塞进上下文、昂贵操作(截图等)一律交给子 agent、持续“园艺式”修剪对话;既为成本,也为召回质量。

来源:邵猛 · x.com