←新闻详情

邵猛更新于 10月21日 22:46

MIT 6.S950 更新第五讲 Harness 讲义:用 300 行教学 Agent 拆解 Agent 工程

MIT 公开课 6.S950 Agency with AI

AI 导读

MIT 公开课 6.S950 Agency with AI 更新了第五讲 The Harness 讲义,用一个约 300 行 Python、仅含 search 和 read_lines 两个工具、本地跑 Ollama 的教学 Agent Baby Anigans 拆解 Harness 的工作方式。讲义把 Agent 概括为 LLM 加 Harness,讨论可观测性上厂商把上下文摘要、推理过程加密封装到 API 后的透明度取舍,并把上下文管理、强制拦截、最小权限等做法追溯到 1965 至 1975 年的系统原则。讲义还指出没有通用最优解,5 个模型里有 4 个在不同基准上的最佳 Harness 不同。

推荐理由

AI 评分 65

MIT 课程用一个 300 行教学 Agent 拆解 Harness 的可观测性与可控性,并追溯到几条几十年前的系统原则。

主题

标签

引用

meng shao

@shao__meng

https://t.co/JzUMfOAEZj

查看原帖

正文

MIT 公开课 6.S950 Agency with AI

Lecture 5: The Harness 讲义更新了: https://t.co/wCM8dmw7im

从一个 300 行的教学 Agent 讲透可观测性、可控性和 "需要多少 Harness",Harness 具体的最佳实践更新很快,但背后有几条几十年前的系统原则一直适用。理解 Harness 怎么工作,才能更好地和 Agent 协作。

Agent = LLM + Harness:用一个最小 Agent 拆解 课程自己做了一个教学 Agent,叫 Baby Anigans:针对一个文本文件回答问题,并且必须引用答案所在的行号。它在本地用 Ollama 跑模型,外层只有大约 300 行 Python、两个工具(search、read_lines),不依赖任何框架。 核心思想是 LLM 只提出请求,由循环决定执行什么:调用 LLM、执行工具、检查结果,然后决定继续还是停止。这就是 ReAct 循环,mini-swe-agent 和 Claude Code 的本质也是这样。

演示轨迹:模型一开始说"没有文件",被要求先搜索;搜到第 125 行以后,又被要求读一下相邻的行,然后才被接受。搜不到时,系统会提示换更短的关键词;连续两次搜不到,就由 Python 强制返回固定的"拒答",并说明"没找到不等于文件里没有"。

可观测性:能看到什么,厂商又藏起了什么 · 两个回答都通过了检查,但都漏掉了例外条款,而症状相同、原因不同:一个是第 127 行根本没有进入模型的视野(检索问题),另一个是例外内容进入了视野两次,却被答案丢掉了(模型问题)。检查只验证"有没有搜索、有没有引用",并不验证答案完不完整,因为通过检查只说明它检查到的那部分没问题。 · 对比 Baby Anigans 和 Claude Code 各能检查到什么:/context 显示的是上下文清单,并不等于实际发出的请求;子 Agent 的汇报是父 Agent 写的摘要,会有遗漏;git diff 能看出改了什么,但看不出修改顺序,也看不出改得对不对。 · 趋势是厂商把越来越多的 Harness 封装到 API 后面:Codex 的上下文摘要变成了只有服务器能读的加密内容;Claude 的推理过程被加密,压缩摘要虽然能读,但一旦修改,API 就会拒绝。透明度被拿来换了便利,而被封装起来的部分可能恰恰很有价值(讲义引用了 OpenAI 的文章:调两个设置,ARC-AGI-3 分数提高了两倍)。

可控性:三条长期适用的原则统领各种具体做法 · 精简的 AGENTS.md、按需加载 Skill 和 MCP、大输入放进文件、子 Agent 只回传摘要、关键规则能在压缩后保留;原则是:管理上下文:只让正在用的东西进来,并且留得住;出处是:存储层级(1965)、工作集(1968) · 会拦截的 hooks、在任何模式下都生效的 deny 规则;原则是:可检查的规则要用强制拦截来执行;出处是:引用监控器(1972) · 权限控制、隔离的 MCP 服务器、两把钥匙分别交给两个人;原则是:最小权限、权限分离;出处是:Saltzer & Schroeder(1975)

到底需要多少 Harness? · 对 Harness 工程的质疑,很像当年对提示词工程的质疑。 · 有一条研究路线是让 LLM 自己管理 Harness:MemGPT 自己在不同记忆层之间搬运数据,ACE 自己改写操作手册,Meta-Harness 读取过去的运行记录后自己写 Harness 代码。 · 没有通用最优解:5 个模型里有 4 个在不同基准上的最佳 Harness 不一样;同一个组件,对弱模型来说是提升效果,对强模型来说主要是省钱。 · Harness 变化很快:Manus 说他们的 Agent 框架已经重写了四次。

来源

邵猛