@shao__meng:密歇根大学最新AI编程课程《Applied Agentic Software Engineering》第14讲笔记——关于"Subagents"

X AI KOLs Timeline 新闻

摘要

密歇根大学最新AI编程课程《Applied Agentic Software Engineering》第14讲笔记发布,围绕子智能体(Subagents)展开,讲解为何需要子智能体、其工作机制、新鲜与分叉上下文的核心权衡,以及与团队、交接等概念的区别。

密歇根大学最新AI编程课程《Applied Agentic Software Engineering》 第14讲笔记"Subagents"刚刚发布,围绕四个部分展开:为何需要子智能体、其工作机制、核心权衡,以及与相近概念的区别。 笔记:https://github.com/eecs498-aase/materials/tree/main/lectures/L14… 第一部分:为何需要子智能体? 因为长对话不可避免地会退化,原因有四: · 上下文有限,内容只进不出 · 被否决的想法仍留在上下文中(历史泄漏),模型又会捡起来;这就是"退化"的根源 · 每次请求都会重发整个历史,缓存能省钱但省不了窗口空间 · 单一对话是串行的,读代码时无法并行比较多种方案 解决方案:主对话中只保留请求和计划;各部分的阅读工作交给各自的子智能体;只回流结果,丢弃所有垃圾信息。 第二部分:子智能体的工作机制 · Agent工具对模型来说就是普通工具;提示词(即任务简报)是子智能体信息的唯一来源 · Harness立即回复"已启动"(默认后台运行),开启第二个对话:更短的系统提示、更少的工具(Explore 不含 Edit/Write/Agent,物理上只读)、相同的 CLAUDE.md、没有主对话历史 · 结束时必须调用 SubagentHandback,否则内容无法传回 · 汇报返回时的保护措施:标记为模型输出而非用户输入(不授予用户权限)、整体缩进(伪造的框架行可被识别);用纯格式手段守护对话边界 · 任务简报是模型为模型写的提示词:定位、验收标准、报告格式都需要写清楚;模糊的简报只会带来模糊的搜索结果 第三部分:新鲜还是分叉(最大的权衡) Harness自身列出的风险: · 双向信息丢失:它只知道简报,你只看到报告 · 错误发现和正确发现同样自信 · 最危险的是:它接走你的假设,倾向于证实这些假设再发回来;若想获得第二意见,给它代码,而不是结论 新鲜(Fresh):起点为"仅简报",适合"第二意见、独立审查",成本"更高" 分叉(Forked):起点为"完整历史 + 简报",适合"需要全部积累知识的旁支任务",成本"更低(复用提示词缓存)" 新鲜不是省钱的选项,而是独立的选项。L10的金鱼记忆场景必须用新鲜:分叉的子智能体会用记忆填补文档空白,然后声称文档没问题。 第四部分:概念区分与工程实践 三个问题区分所有形式:有多少个对话、谁和谁通信、谁决定下一步。 · 子智能体:每个片段新建对话,只与父对话通信,由父对话掌握控制权 · 团队(Team):多对话 + 互相消息传递 + 共享任务列表(带文件锁),你可以直接连接到任意队友 · 交接(Handoff):单一对话,切换到另一个Agent接管(交换指令和工具,保留历史),无法回退;与子智能体恰好相反 · 群体(Swarm)= 机制 × 规模(Kimi K2.5:100个并发;OpenAI Navier–Stokes:约10000个Agent,1300亿token) · 并行编辑依赖worktree隔离:每个子智能体独立检出 + 建分支,改动后保留分支以便合并
查看原文
查看缓存全文

缓存时间: 2026/10/16 08:22

密歇根大学最新 AI 编程课程 “Applied Agentic Software Engineering”

第 14 讲关于“Subagents(子代理)“的笔记刚刚发布,分为四个部分:为什么需要 Subagents、其工作机制、关键权衡,以及与相邻概念的区别。

笔记:https://github.com/eecs498-aase/materials/tree/main/lectures/L14…

第一部分:为什么需要 Subagents?

因为长对话不可避免地会退化,原因有四: · 上下文窗口有限,内容只进不出 · 被否定的想法仍留在上下文中(历史渗透),模型又会捡回来——这就是“退化“的来源 · 每次请求都要重发整个历史,缓存能省钱但省不了窗口空间 · 单对话是串行的,读代码时无法并行比较方案

解决方案: 主对话只保留请求和计划;各部分的阅读工作交给各自的 Subagent;只有结果回流,垃圾全部丢弃。

第二部分:Subagent 机制

· Agent 工具在模型看来就是普通工具;prompt(即 brief)是 Subagent 的唯一信息来源 · Harness 立即回复“已启动“(默认后台),并开启第二个对话:更短的系统提示词、更少的工具(Explore 没有 Edit/Write/Agent,物理上只读)、相同的 CLAUDE.md、无主对话历史 · 结束必须调用 SubagentHandback,否则内容传不回来 · 汇报时的防护措施:标记为模型输出而非用户输入(无用户权限);整体缩进(伪造的框架行可以被识别);用纯格式手段守护对话边界 · Brief 是模型写给模型的 prompt:定位、验收标准、汇报格式都需要写得明明白白;模糊的 brief 只会得到模糊的搜索结果

第三部分:Fresh 还是 Forked(最大的权衡)

Harness 自身列出的风险: · 双向信息丢失:它只知道 brief,你只能看到报告 · 错误和正确的发现同样自信 · 最危险的是:它带着你的假设出发,倾向于证实它们然后汇报回来;想要第二意见,给它代码,而不是结论

Fresh: 起点“仅有 brief“,适合“第二意见、独立审查“,成本“更贵“ Forked: 起点“完整历史 + brief“,适合“需要全部累积知识的侧任务“,成本“更便宜(复用 prompt 缓存)“

Fresh 不是省钱的选项,而是独立的选项。L10 的 Goldfish 必须用 Fresh:Forked 的会用记忆填补文档缺口,然后声称文档没问题。

第四部分:区分与工程实践

三个问题可以区分所有形式:有多少个对话、谁跟谁说话、谁决定下一步。 · Subagents: 每个片段新开一个对话,只与父对话通信,父对话持有决定权 · Team: 多对话 + 互相发消息 + 共享任务列表(带文件锁),你可以直接连接任何队友 · Handoff: 单对话,切换到另一个 Agent 接管(交换指令和工具,保留历史),无法回头——与 Subagent 正好相反 · Swarm = 机制 × 规模(Kimi K2.5:100 并发;OpenAI Navier–Stokes:约 10,000 个 Agent,1300 亿 token) · 并行编辑依赖 worktree 隔离:每个 Subagent 独立 checkout + 建分支,改完留下分支供合并


eecs498-aase/materials

来源:https://github.com/eecs498-aase/materials

EECS 498 AASE 课程资料

EECS 498-016, Applied Agentic Software Engineering,密歇根大学,2026 年秋季学期的课件和讲义。

目录结构

  • lectures/ 每讲一个文件夹(L01、L02……),每个包含 slides.md、slides.pdf 和 slides.pptx。
  • labs/ 每个实验一个文件夹(Lab00、Lab01……),结构相同。
  • demos/ 存放现场演示所用的代码库,每个演示一个文件夹,以所属讲次命名(L01-notes-cli、L03-transcript-analytics)。每个都有 README 和 reset 脚本:运行 ./reset 即可生成一个可丢弃的工作副本,已配置好可供 aider 使用。请自己运行演示——它们放在这里就是为了这个目的。
  • egm/ 存放 Elephant-Goldfish Model,以五个可安装 skill 的形式提供(peanuts、elephant、goldfish、egm-implement、mean-review),附有每个 skill 的使用指南以及一页关于 skill 如何组装的说明。从 egm/README.md 开始。

slides.md 是构建幻灯片所用的 Slidev 源文件。放在这里是为了让你可以阅读、搜索或复用内容。它依赖一个不在本仓库中的主题,因此无法直接构建。

如果你只是来下载某份课件或某个 demo,git clone --depth 1 就够了。本仓库大部分历史都是编译后的幻灯片。

课件会在每讲或每实验结束后不久发布。如果某周没有,说明还没发生。

链接

  • 课程网站:https://eecs498-aase.github.io
  • 答疑:Ed 讨论区,或 [email protected]

相似文章

@Ryrenz: 密歇根大学把新开的 AI 编程课讲义全放 GitHub 上了,eecs498-aase/materials,想学怎么带着 agent 做软件工程的可以直接抄作业。 这是该校 2026 年秋季 EECS 498-016《应用型智能体软件工程…

X AI KOLs Timeline

密歇根大学将 2026 秋季新开的 EECS 498-016《应用型智能体软件工程》课程讲义、实验与演示代码全套开源在 GitHub 上,且仓库的 PR 多由 claude[bot] 自动提交,本身就是一份 agent 协作开发的样本。

@shao__meng: CMU 秋季最新课程 11-768: AI Agents 第 12 讲讲义公开:Reinforcement Learning Systems 主讲:@gneubig 课程:https://cmu-agents.com 讲义:https:/…

X AI KOLs Timeline

CMU 课程 11-768 AI Agents 第 12 讲讲义公开,主题为强化学习系统,讲解如何在多 GPU 集群上训练 LLM Agent 的 RL:训练与推理引擎的协同、KV/Prefix Caching、Weight Sync、Agentic RL 常见陷阱(序列扩展、chat template、TITO、sync vs async)及从单程序到云原生微服务的系统设计选型。

@Xudong07452910: 密歇根大学这门 AI Coding 非常值得推荐!让学生自己造一个 Coding Agent,放它独立干活,最后还得写清楚它为什么翻车。 课程叫 EECS 498-016《Applied Agentic Software Engineer…

X AI KOLs Timeline

密歇根大学开设 EECS 498-016《Applied Agentic Software Engineering》课程,15 周里让学生从使用 Aider 入手,逐步自己实现 Tool Call、Agent Loop、评测、记忆与安全防护,最终造出一个可独立运行的 Coding Agent,课程讲义与实验材料陆续开源。