专题:把一条技术路径从头走通
讲义回答「这是什么」,专题回答「怎么做出来」。 每个专题围绕一条可运行的路径展开——把概念、方法讲透,配上真实代码、逐段讲解与课堂实训, 目标不是"看懂了",而是"你自己写出来了,并且知道它为什么能跑、在哪里会挂"。
概览
| 项目 | 说明 |
|---|---|
| 模块定位 | 与按学习层次组织的讲义并列的第三种内容形态——以代码为主角,讲清一条完整路径 |
| 与讲义的关系 | 讲义负责把概念讲明白("六部分由哪几块构成"),专题负责把它跑起来("这条路怎么一步步走完、代码怎么写") |
| 计数口径 | 专题单独计数,不计入讲义的页面数;两种内容形态的规模各自独立,避免口径互相污染 |
| 目录结构 | topics/index.html(本页)+ topics/NN-<slug>.html(每个专题一页) |
| 读完一个专题,你会 | 写出可运行的最小实现;说清每一行代码在整条路径里的位置;亲手触发一次它的失败,再亲手把它补上 |
专题清单
最小 Code Agent:从概念到最小实现
从一个空文件开始,写出一个能读文件、能写文件的简化版 Coding Agent。 全篇按总 → 分 → 合三步走:先用一幅图把六个环节的整体概念立起来, 再逐个展开每一环,最后落到一个只有两个工具、约七十行的完整实现。
- 一个七十行以内的完整实现:只用两个最基本工具(读文件、写文件),六个环节一个不少,能在一次课里逐行读完
- 一份逐段对照:能指出代码里哪一行属于第几步,以及为什么每一段都省不掉
- 两次亲手踩坑:一次越权读取项目外的文件、一次循环空转白烧请求,再理解三道约束为什么必须补上
- ① 组装 —— 每一次请求都要重新打包"模型能看见的世界"
- ② 调用 —— 无状态往返,以及响应对象的真实结构
- ③ 判读 —— 分辨"要动手"与"说完了"的唯一依据
- ④ 执行 —— 真正干活的代码永远在模型之外(off-LLM)
- ⑤ 回填 —— 结果如何被塞回模型能看见的地方,以及配对的硬约束
- ⑥ 入环 —— 三种终止信号,以及"什么时候必须停下"
从 SWE-agent 到 mini-swe-agent:以大模型能力跃迁为棱镜的架构演进调研
同一团队相隔 14 个月的对照实验:2024 年 NeurIPS 论文用数千行 ACI 工具集证明"接口设计至关重要"(GPT-4 Turbo 11.00% → 18.00%), 2025 年又用约 100 行 bash-only 的 mini-swe-agent 证明"大部分接口设计已不重要"(Claude Sonnet 4 约 65%)。 本专题按十章展开——设计哲学对读、模型能力跃迁时间线、四维度复杂度迁移、机制归因、性能-成本-复杂度三角, 并用 2026 年最新证据(mini v2、官方 Bash Only 子榜、Live-SWE-agent 登顶、Verified 退役与 Pro 审计反转)修正并延伸核心命题: Agent 系统的架构复杂度,本质上是模型能力缺口的函数。
- 一张完整消融表:SWE-agent 的编辑器、窗口化、搜索、历史压缩各值多少个百分点(9 行全数据)
- 一条能力时间线:从 GPT-4 Turbo 12.47% 到 2026 年榜单格局,且每个数字都标注口径(自研脚手架 vs 官方榜单)
- 一个可迁移的判断框架:哪些复杂度会随模型变强而消失、哪些是任务固有、哪些会改由模型在运行时自主生成
用 UML 拆解两个 Agent 的骨架
专题 02 用文字与表格讲清了「架构为什么这样演进」,本专题回答它没画出来的部分: 这些概念在源码里具体是怎么组织的。以 mini-swe-agent 04d809c 与 SWE-agent 3ea751c 两份锁定 commit 为标本, 反向拆解出包图 / 类图 / 顺序图 / 状态机图 / 组件图五张 UML 图, 每个图元素都能回源码锚点复核(覆盖率 100%)。
- 一张五档抽象语义对照表:Protocol / ABC / 语义抽象 / 鸭子类型 / 无抽象——两个项目把这五种全用上了
- 一处最本质的分岔:主循环的终止判据,mini 靠消息流(末条消息 role 为 exit),SWE-agent 靠返回值(StepOutput.done)
- 一次装配方式对比:字符串映射表 + importlib(数据驱动)vs 显式 if-elif(代码驱动),扩展成本差几行
驾驭 AI 的软件工程:可信性判断、双重驾驭与智能化工程师培养
完整研读南京大学李宣东教授 2026 年 9 月的同名讲座:以核心公式 (AI 预测 + 可信性判断)× 迭代 = 决策与八字诀「先解后证、解证分离、解证迭代」为骨架, 沿七维框架展开——为什么必须驾驭 AI(效率悖论、信任缺口与 2026 年安全事件)→ 在哪里驾驭(难解易证 / 难解难证判据)→ 怎样驾驭(间接 / 直接双重驾驭与「1+1 > 1」)→ 用什么驾驭(Agent 作为第四级编程抽象)→ 为什么 AI 无法颠覆软件工程(RSI 的本质仍是可信性判断)。 全部外部数据经独立信源溯源(核查等级逐条标注),落到本科三阶段培养路径与本实验平台的工程承接上: 可信性判断 = 结果层自动验证(F2P/P2P)+ 过程层评估(PRA)+ 关键节点人工确认。
- 一条公式解释一切争论:为什么「AI 负责解、人负责证」,为什么编程是「难解难证」问题
- 带着情境引用数据:METR −19% 与 Copilot +55.8% 为何不矛盾;三个「52%」为何不可互证
- 一处必讲勘误:原讲座把「创造(间接)/ 制造(直接)」写反的那一页,以及整套培养路径的设计理由
- 四个可检验的问题:把结论变成辩论题与实验设计题的 Q1–Q4
Agent 轨迹建模:把任意轨迹变成统一模型
19 种 Code Agent 各有各的落盘格式(jsonl / json / sqlite / markdown / .traj)——做轨迹研究的第一步, 是认出它是谁,再把它回译成统一的元模型实例。本专题把这条 「认源 → 回译 → 合模 → 四态诚实判档」的完整工具链拆开讲透:认源为什么宁可拒答不可错认、 判档怎么不说谎、隐私怎么长成架构而不是补丁——并附一个可以直接点的三态演示 (数据来自真实作业,本页零后端零网络请求)。
- 元建模理念:M0 × M1 的活例子——19 种落盘怎么归一到 13 个 EClass 的统一容纳树
- 认源工程:多信号打分、阈值 + 裕度、排他指纹一票否决、参考分不入账——每条机制都从真实误配事故里长出来
- 诚实判档:四态(可解/半解/误派/拒解)× 四档(实证/推断/有损/缺席)两个正交的「说真话」维度
什么样的主题会被做成专题
四条同时满足,才立为一个专题
专题的成本远高于讲义——要写可运行代码、要保证它在学生机器上也跑得起来、还要设计得出"挖坑—填坑"的实训。因此设了门槛。
| 标准 | 说明 |
|---|---|
| 有一条完整的路径 | 主题本身是"从 A 走到 B"的过程,而不是一个孤立知识点——六个环节、一条流水线、一次完整交付 |
| 能落到可运行代码 | 核心内容可以用单文件、少依赖的代码表达;跑不起来的主题更适合留在讲义里 |
| 有真实的失败模式 | 存在"看起来能跑、实际会挂"的坑(越界、超窗、配对错误),能设计成实训让学生亲手踩一次 |
| 有从最简到可用的延伸空间 | 能先给一个"小到一次课能读完"的最简实现,再逐层长到能干活的版本,让每一条新增约束的存在理由可见 |
- 总:先用一句话 + 一幅框图 + 一张速览表,把整个概念体系立起来——这一段不写代码
- 分:逐个展开每一个子概念(一个环节 / 一个组件 / 一个阶段),每节统一"它在做什么 / 为什么必须有 / 最简写法 / 少了会怎样"四问
- 合:给一个最最简单的完整实现——涉及的工具等越基本越好,小到能在一次课里逐行读完
- 延伸:从最简长到能干活的版本(加能力、加约束),配课堂实训:先跑通,再挖坑
怎么用专题
按你的目的选一条读法
| 目的 | 读法 |
|---|---|
| 课堂上跟着走一遍 | 按总 → 分 → 合的顺序推进;讲完一个环节就当场跑一次那个片段,不要攒到最后一起跑 |
| 课后自己补 | 直接跳到「合」,把那段七十行代码抄进自己机器跑一遍;跑不动了再回头查对应环节 |
| 做研究 / 二次开发 | 重点读「延伸」里的三道约束(权限、预算、轨迹)与四个实训——它们决定了一个 Agent 能否被长期观测 |