MIT 6.S950 更新第五讲 Harness 讲义:用 300 行教学 Agent 拆解 Agent 工程
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 不同。
外层只有大约 300 行 Python、两个工具(search、read lines),不依赖任何框架。 核心思想是 LLM 只提出请求,由循环决定执行什么:调用 LLM、执行工具、检查结果,然后决定继续还是停止。这就是 ReAct 循环,mini-swe-agent 和 Claude Code 的本质也是这样。 演示轨迹:模型一开始说"没有文件",被要求先搜索;搜到第 125 行以后,又被要求读一下相邻的行,然后才被接受。搜不到时,系统会提示换更短的关键词;连续两次搜不到,就由 Python 强制返回固定的"拒答",并说明"没找到不等于文件里没有"。 可观测性:能看到什么,厂商又藏起了什么 · 两个回答都通过了检查,但都漏掉了例外条款,而症状相同、原因不同:一个是第 127 行根本没有进入模型的视野(检索问题),另一个是例外内容进入了视野两次,却被答案丢掉了(模型问题)。检查只验证"有没有搜索、有没有引用",并不验证答案完不完整,因为通过检查只说明它检查到的那部分没问题。 · 对比 Baby Anigans 和 Claude Code 各能检查到什么:/context 显示的是上下文
匹配字段正文

