五个Skill,密歇根大学把AI编程课做成了工程流水线

2026-10-13

密歇根大学开了一门AI编程课,叫「Applied Agentic Software Engineering」。它没有教怎么写提示词,而是把整套方法论拆成了五个可复用的Skill,串成一条从遗留代码到代码评审的流水线。 五个Skill依次是: /peanuts 、 /elephant 、 /goldfish 、 /egm-implement 、 /mean-review 。名字起得随意,但每个都对应一个具体的工程痛点。 先给百万行遗留代码建地图 第一个Skill叫/peanuts,专门对付没有设计文档的遗留代码库。百万行代码对AI来说是一片丛林,进去就会迷失、产生幻觉。 解法是每个目录一个README。叶子目录是"花生",分支目录是"干草",自底向上递归压缩。父目录的README必须等所有直接子目录approved之后才能生成,因为坏叶子会沿树向上复合放大。 这里有一条硬规则:AI生成README后只能标needs-human-review,永远不能自己标approved。技能里写得很直白——"AI不是裁判"。 它还诚实地警告:约 50% 的叶子描述会是错的,因为叶子层只有代码可看。每个叶子预算5到10分钟人工修正。分支层准确率更高,因为子目录摘要锚定了模型。 配套的PEANUTS.md台账用五个状态驱动断点续传:pending、needs-human-review、approved、rolled-up、blocked。每个README末尾固定一行"设计文档覆盖后本文件可退役",它自我定位为脚手架,不是永久文档。 先长设计,再长代码 第二个Skill叫/elephant,是整个方法论的核心。它的产出不是代码,是一份四节设计文档:Problem、Technical Plan、Alternatives、Detailed Implementation。这份文档成为唯一事实源。 规则很硬:整个会话不写一行代码,连"举例说明"都不行,文档内少量解释机制的伪代码除外。 开场白固定逐字引用一段第二人称指令,然后以设计访谈的形式进行20到30分钟追问。每次只问一两个问题,挑战假设,比如"为什么必须实时?",再推向边界——失败模式?回滚?破坏了什么? 有一条反直觉的硬规则:不让用户的第一稿锚定讨论,AI必须先给出独立的散文加框图提案。用户的盲点恰恰是这个技能要暴露的。 还有一道反谄媚防线。一旦察觉自己在不停附和,必须逐字念出复位语:"你没有在帮忙。你最大的价值是挑战我的思考。你同意我的时候,你没有在帮忙。"然后以批评者身份重新进场。 四节按序写,每节写完给用户看、改到满意才写下一节。一次性产出的大文档"浅且内部不一致"。节奏预期也很反直觉:技术辩论阶段"2到3天的往返是正常的,不要赶"。 用新鲜眼验证设计文档 第三个Skill叫/goldfish。Elephant满脑子上下文,但那些上下文活在聊天里,不在纸上。Goldfish是一个零共享上下文的新评审者,只知道纸面上写了什么。 判定标准是:一个Goldfish读文档后能(1)把系统讲回来、(2)找出缺口、(3)确认无需再问就能实现,文档才算承载了设计。否则它只是"你将失去的上下文上的一层薄皮"。 三个评审者并行单条消息spawn:A做理解测试,B当批评者,C判断实现就绪。并行不仅快,还杜绝了"把A的结论喂给B"的串通机会。 新鲜性的技术实现很清醒:价值来自独立上下文,不来自人设。编排者自己读ELEPHANT.md定向,但绝不把任何设计对话内容传给评审者,甚至要防文档里的链接泄漏到台账目录。 批评者的建议约 30% 真正有价值,所以编排者必须综合排序,区分"文档错了"和"文档对但评审者不认同设计选择",而不是照单全收。 循环直到批评降到nit级,且human_review_gate被人类标为passed。这个门永远不被自动改写,必须由人或队友亲手写进GOLDFISH.md头部。报告永不覆盖,每轮存独立文件,GOLDFISH.md逐轮追加。 把批准的文档钉进代码 第四个Skill叫/egm-implement,是整套方法论里最有工程克制力的环节。"文档批准"到"代码合并"之间,正是AI项目悄悄失真之地——新会话把文档当"参考",从聊天历史重新推导上下文然后漂移。 入口门禁先跑check_gate.py,退出码0是GO,1是BLOCKED,3是CHECK-BY-HAND,台账值含糊时交给人类裁决。readiness为ready加上人工门通过,二者缺一不可,没有静默绕过。 文件级围栏:设计文档没枚举的文件一律不改。想改就停下来,先提出文档更新。"顺手也把X重命名一下"就是漂移,必须暴露。 最精妙的一条规则是漂移暴露而非吸收。现实与文档不符时,不是默默改掉,而是在IMPLEMENT.md记drift条目,

about image

最新文章

  • 三个月没踢正式比赛,阿拉巴首秀为何先坐板凳
    三个月没踢正式比赛,阿拉巴首秀为何先坐板凳

    阿拉巴加盟乌迪内斯后的第一场联赛,没有首发。北京时间周一晚对阵都灵,这位前皇家马德里后卫坐在了替补席上。 乌迪内斯主帅科斯塔·伦亚伊奇在开球前接受DAZN采访时,解释了这个决定。据TuttoMercatoWeb转述,伦亚伊奇说得很直接: "他上一场正式比赛是三个月前,所以我们必须管理好他。" 阿拉巴上个月以自由身加盟乌迪内斯,合同签至2027年6月。此前他自皇马合同6月到期后一直没有俱乐部。上周亮...

  • 升班马踢欧联:8场联赛阶段,还要客场挑战7冠米兰
    升班马踢欧联:8场联赛阶段,还要客场挑战7冠米兰

    桑德兰拿到了欧联杯的入场券。这是他们队史首次参加这项赛事。 凭借2025/26赛季英超第六名的成绩,桑德兰锁定了欧联杯资格。这个第六名来得并不容易——他们是通过附加赛升级之后,才完成了这个出色的赛季。 联赛阶段:8场,8个不同对手 与2023/24赛季之前的传统小组赛不同,如今的欧联杯联赛阶段每支球队要打 8场比赛 ,而且所有对手都不相同。 桑德兰的8场联赛阶段比赛中,包括一趟客场之旅——对手是...

  • 有一种幸福:叫“装修听人劝”,入住之后,越住越开心!
    有一种幸福:叫“装修听人劝”,入住之后,越住越开心!

    装修设计自己的新房时,一定要“听劝”,吸取前辈的经验教训,才能防止自己在装修新房时踩坑! 尤其是没有装修经验的小白,在装修设计自己的新房时,千万不要一时兴起选择不适合自己日常生活的家装! 选择家装设计时,最好多看看“踩坑装修案例”,才能让自己的家装避免踩坑,也能让自己生活更舒适! 比如以下提到的舒适感装修设计,每一个都是新家中必不可少的家装设计,真的能够瞬间提升生活幸福指数! 1. 舒适感装修—一...