软件工厂:五段管道、显式交接与离线精炼
7b 下半场(L14 p.30-43)把编码 agent 从「一次对话」推进到「一座工厂」。先做两道选择题:执行位置——本地(现有文件/服务/上下文,执行期间占用机器)vs 云工作区(笔记本关机也能继续,远端仓库/依赖/凭据)(p.30);交互界面——执行位置 × IDE/GUI/CLI/集成的选择矩阵(p.31),IDE 胜在熟悉的工作区与文件/diff/测试/审查(p.32),定制 GUI 围绕 agent 任务组织进度、并行运行与批准(p.33,回到开场 Agent Canvas 演示),CLI 跨环境通用(p.35),集成把 agent 嵌进 issue/PR/聊天通道(p.36);实证(p.34)出自 Code with Me or for Me?(2025,图 4):20 名常规 Copilot 用户 × Python 任务,Copilot vs OpenHands——用 agent 的主动投入(active effort)更低,但理解与监督仍不可少。然后是流水线化:自动化管道=事件→有界任务(bounded task)→可检查结果,触发→上下文→运行→产物→检查五段(p.39,改自富士通演讲 p8;演示要点 p.40);软件工厂=周期任务+显式交接+检查——issue 分诊→实现→代码审查→合并检查(p.41,富士通演讲 p13+官方 software-factory 示例);检查环节与 L13 p.36「检查、日志、停止控件全部置于 agent 控制之外」共用治理原则,SWE-MISBEHAVIOR(2026)给出检查要盯的越界行为分类;最后是从历史运行学习(p.42-43):SkillRefiner 离线技能精炼(Khatry 等,图 1),留出任务准确率(%)与 PR 审查 F1 均高于初始技能,且在两个 agent 模型上都成立(表 1)——工厂用自己的运行日志养自己。
7b 伴读讲 OpenHands SDK,回答的是一个 agent 怎么造。本篇补后一半,讲 L14 p.30-43:agent 造好之后,人从哪个界面参与、任务沿什么管道流动、工厂怎么靠自己的运行历史变好。
软件工厂(software factory)不是营销词。执行位置、交互界面、有界任务、显式交接、独立检查、离线精炼,每一项都是可拆解的设计决定,也都直接决定这套东西能不能在你合上笔记本之后继续替你干活。
一、先定执行位置,再挑交互界面
第一道题是执行位置,L14 p.30 摆出两个选项:
现有文件、服务与上下文直接可用,agent 就在手边的机器里干活;代价是执行期间机器被占用,你合上笔记本,任务就停了。
任务跑在云工作区(cloud workspace):笔记本关机也能继续;远端仓库、依赖、凭据都配在那一侧,本机只是一扇观察窗(L14 p.30)。
第二道题是交互界面。两道题交叉成 p.31 的选择矩阵:执行位置分本地和云,交互界面有 IDE、GUI、CLI、集成四种,八个格子各对应一种部署形态。
四种界面各有分工。
- IDE,见 p.32。把 agent 带进你熟悉的工作区:文件、diff、测试都在原位,任务管理与审查顺手完成,示例是 VS Code + GitHub Copilot 的 change review。
- 定制 GUI,见 p.33。反过来围绕 agent 任务组织界面:进度与并行运行、预览 /diff/ 批准、工作区管理,讲义回到开场的 Agent Canvas 演示,L14 p.2-3。
- CLI,见 p.35。跨环境的最大公约数:本地 / 远程终端、shell 命令与脚本,再配一个独立的可视预览,示例是 Claude Code 的终端演示。
- 集成,见 p.36。干脆不做新界面,把 agent 嵌进既有工作通道:issue 承载任务上下文、PR 承载 diff / 测试 / 审查、聊天承载请求与结果,示例是 GitHub Copilot coding agent 的 PR 审查。
哪种界面更好?p.34 有实证:2025 年的 Code with Me or for Me? 请 20 名常规 Copilot 用户做 Python 任务,对比 Copilot 与 OpenHands 两种形态。
图 4 的结论两头都硬。用 agent 的一组主动投入(active effort)更低,省力是真的;但理解与监督仍不可少,省责是假的。
你可以把打字外包给 agent,不能把判断外包给它:没读懂的补丁不批准,没验证的结论不转发。界面越顺手,这条越容易被忘掉。
二、五段管道:事件 → 有界任务 → 可检查结果
集成形态往前一步就是自动化管道,L14 p.39 的公式是:事件 → 有界任务(bounded task)→ 可检查结果。
所谓有界,是任务有明确触发、明确输入、明确完成态。「帮我把项目搞好」不算;「处理这条 issue,交出一份能查的产物」才算。五段展开,改自富士通演讲 p8:
五段的分工图里已经写全,只补两句:上下文一段把 agent 能看什么、能改什么一次说清;运行放在隔离工作区,跑坏了不伤本体。
p.40 的演示要点,就是拿一个既有的 issue 分诊或 PR 审查运行练眼力:
四个看点依次是:触发与指令、仓库与权限、事件→运行→输出的完整链路、拿输出对照原任务评质量。这套眼力,就是 7a 监控半场落到工厂侧的样子。
三、软件工厂:周期任务、显式交接与独立检查
把管道周期化、把环节交给不同执行者,就是软件工厂,讲义在 L14 p.41,出处是富士通演讲 p13+官方 software-factory 示例。
关键词有三个。
- 周期任务。同样的管道按事件或定时反复跑。
- 显式交接。每一站交付可查的产物;口头状态不算交接。
- 检查。每一站都有独立验证。
四站接力,一站交一站。
- issue 分诊,产出请求+验收标准。
- 实现,产出补丁、测试与 PR。
- 代码审查,独立验证。
- 合并检查,确认当前 commit 通过检查且已获批。
交接物里最容易被糊弄的是验收标准。结构示意,大概长这样:
请求:登录按钮在深色模式下对比度不足
验收标准:对比度达标;现有测试全绿;PR 附视觉对比说明
合并检查还有个细节,L14 p.41:盯的是当前 commit,不是分支最新状态,防止检查通过之后又塞进新提交的缝隙。
工厂的检查站也不是新发明,引用的是 7a 的同一条治理原则,L13 p.36:检查、日志、停止控件全部置于 agent 控制之外。被生产者不能握着质检的开关。
检查要盯什么,2026 年的 SWE-MISBEHAVIOR 给出第一份系统答案:coding agent 的越界失当行为(boundary violation)可以被分类、被基准化。检查站由此知道该盯什么,不再只盯「测试过没过」。
上一篇的 Conversation/Run 与隔离工作区 DockerWorkspace,就是五段里运行一段的底座。五段是组织层,SDK 是运行层;两篇拼起来才是整图。
四、工厂的自我改进:从历史运行精炼技能
工厂跑久了,最值钱的资产是运行历史本身,这是 L14 p.42-43 的主线。
Khatry 等人的 SkillRefiner 提出离线技能精炼(offline skill refinement,图 1):不动模型,离线分析过往运行,找出哪些做法引向了通过检查的产物,提炼回 agent 的技能(skill)描述,再交给下一轮运行检验。
表 1 的结果在两把尺子上同向。留出任务上的准确率(%)与 PR 审查 F1 都高于初始技能,换到两个 agent 模型上依然成立,精炼出的技能不是某一个模型的私货。
对工厂运营者的含义:从第一天就保留完整运行记录。别当合规负担,它是未来的精炼原料。
与本讲的连接
行动项:照 p.40 的演示要点,在你的仓库跑一次既有 issue 的分诊或 PR 审查运行,把五段逐一指认出来。
跑之前自问两句:检查环节在 agent 控制之外吗?运行记录攒到能做 SkillRefiner 式离线精炼的程度了吗?最后把 p.34 的结论再念一遍:省力是真的;省责是假的。
本节论文与规范
本节资料
- Code with Me or for Me? How Increasing AI Automation Transforms Developer Workflows 论文2507.08149入门官方引用
2025 年对照实验(图 4):20 名常规 Copilot 用户做 Python 任务,OpenHands 比 Copilot 的主动投入(active effort)更低——但理解与监督仍然不可少。软件工厂「执行界面与人的位置」(L14 p34)一页的数据出处。
- OpenHands Software Agent SDK 报告 论文2511.03690进阶官方引用
2025 年发布;slides L14 p10(性能=更好模型+更好 agent 系统,报告 §5)与 p12-20 SDK 代码示例的出处:LLM/Agent/Conversation/Workspace 抽象、condenser、DockerWorkspace、确认策略的官方文档化论文。
从历史运行离线精炼技能(Khatry 等表 1):SkillRefiner 精炼出的技能在留出任务准确率与 PR 审查 F1 上都高于初始技能,且在两个 agent 模型上均成立——软件工厂「用自己的运行日志养自己」(L14 p42-43)的原典。
- SWE-MISBEHAVIOR: Benchmarking and Mitigating Boundary Violations in Software Coding Agents 论文2610.18206前沿
2026 年发布:首个针对 coding agent 越界失当行为的分类与评测:7.4K 人机协同合成样本、11 种失当行为、覆盖代码生成/文件管理/系统交互三层动作空间、全自动评分。把 7a 安全课与 7b 编码 agent 课缝合的桥点。
AI 生成 · 仅供参考,与课程方无关。选中正文里的任何一段也能直接问我(解释一下 / 举个例子)。
本详解以 CMU 11-768 AI Agents (Fall 2026) 课程大纲为参考框架独立撰写,AI 辅助起草、人工抽审。 涉及的官方课件、论文与课程材料版权归原所有方,讲义为站内镜像、其余外链原文出处; 观点与文字(除标注引用外)为作者原创。