Seminar Week 11 Summary
本页目录· 16 条
- 1. 这次 Seminar 主要在介绍什么?
- 2. Seminar 的主要内容结构
- 第一部分:从 Prompt Engineering 到 Harness Engineering
- 第二部分:Agent / Harness 的基本工作方式
- 第三部分:Harness Engineering 的设计模式
- 1. Agent Loop:推理、行动、观察、重复
- 2. Context Management:上下文管理
- 3. Skills:可复用的能力模块
- 4. MCP / Tools:让 Agent 调用外部服务
- 5. Subagents:把复杂任务拆给多个子 Agent
- 6. Session Persistence:会话和记忆如何保存
- 7. System Prompt Assembly:系统提示词如何组装
- 8. Permission and Security:权限与安全
- 3. 后半部分 Demo:LM Wiki / Knowledge Base
- 4. 这次 Seminar 想让你带走的核心理解
- 5. 用一句话总结
这次 Seminar 的主线是:AI Agent 时代的软件工程方式变化,核心主题叫 Harness Engineering(AI 编排 / AI 驾驭工程)。简单说,它不是在教“怎么写一个好 prompt”,而是在讲:以后我们不是直接和 AI 模型对话,而是通过 Agent / Harness 这一层来管理模型、工具、上下文、权限和记忆,让 AI 能像一个可工程化的软件系统一样工作。
1. 这次 Seminar 主要在介绍什么?
主要介绍的是:
从 Prompt Engineering 走向 Harness Engineering:如何把 AI Agent 当成一个可设计、可测试、可复用、可部署的工程系统。
老师/嘉宾强调:现在用户表面上是在和 AI 对话,但实际上中间有一层 Agent / Harness。这一层会负责:
- 管理上下文 context;
- 注入技能 skills;
- 管理记忆 memory;
- 控制权限 permission;
- 调用工具 / API / MCP;
- 组织 system prompt;
- 决定下一步行动。
所以重点不是“我怎么写一句神奇 prompt”,而是:怎么设计一套稳定的 AI 工作流程,让 AI 能重复、可靠、安全地完成任务。
2. Seminar 的主要内容结构
第一部分:从 Prompt Engineering 到 Harness Engineering
一开始讲了 AI 使用方式的演变:
- Prompt Engineering 阶段 早期大家关注“怎么写 prompt”,比如怎么表达、怎么提问、怎么让 ChatGPT 给出想要的结果。
- Context Engineering 阶段 后来出现 RAG,也就是把外部资料切成 chunks,放进 vector database,通过语义搜索取出相关内容,再塞进上下文里,让模型生成答案。
- Harness Engineering 阶段 现在重点变成:不只是聊天,而是围绕 AI 模型搭建一个完整系统。模型只是核心能力之一,真正有价值的是围绕模型的那一层工程系统。
一个很好理解的比喻是:
AI model 像汽车发动机,Harness 像整辆车。
发动机很重要,但你真正驾驶的是整辆车,包括方向盘、刹车、导航、座椅、安全系统。模型可以换,但 Harness 决定了使用体验和工程能力。
第二部分:Agent / Harness 的基本工作方式
Seminar 讲了一个核心概念:用户并不是直接把 prompt 发给模型。
实际流程更像这样:
用户意图 → Harness / Agent → 权限检查 → 系统提示词组装 → 技能调用 → 记忆管理 → 工具调用 → 模型生成结果。
也就是说,Agent 会先“加工”用户输入,把需要的背景、规则、工具说明、历史记忆、权限信息组合起来,再交给模型处理。
所以用户从 prompt writer 变成了 harness user:
你不一定需要很强的语言技巧,但需要清楚表达任务目标、约束和业务知识。
第三部分:Harness Engineering 的设计模式
这一部分是本次 Seminar 的核心。主要讲了几个 pattern。
1. Agent Loop:推理、行动、观察、重复
Agent 工作不是一次性回答,而是一个循环:
- Reasoning:分析任务,制定计划;
- Acting:调用工具、运行命令、访问 API、修改文件;
- Observing:观察执行结果;
- Repeating:判断目标是否完成,没完成就继续下一轮。
这类似 ReAct pattern:Reason + Act。
例如:AI 写代码时,不是直接一次性写完,而是先计划,再改文件,再运行测试,再根据报错继续修复。
2. Context Management:上下文管理
上下文是非常宝贵的资源。因为模型处理上下文需要 token、时间和成本。
这里讲了几个重点:
- 上下文窗口有限,不能无限塞资料;
- 长任务需要总结 summarisation;
- 可以用 checkpoint / memory 压缩之前做过的事情;
- KV cache 可以减少重复计算,降低成本;
- static head,例如 agent.md、skills、MCP 信息,最好不要在 session 中途乱改;
- 不要中途随便 mutate system prompt,否则会破坏 cache,也会导致模型行为漂移。
简单理解就是:
上下文不是垃圾桶,不能什么都往里扔;它更像工作台,只放当前任务真正需要的东西。
3. Skills:可复用的能力模块
Skill 可以理解成 Agent 的“技能包”。
一个 skill 通常是一个 skill.md 文件,里面写清楚:
- 这个技能叫什么;
- 什么时候使用;
- 做事流程是什么;
- 需要调用什么工具;
- 输出格式是什么;
- 有哪些限制。
Skill 的两个重点是:
- Reusable:可以重复使用;
- Progressive disclosure:不是一开始把所有细节都塞进上下文,而是先只告诉模型“我有这个技能”,等真正需要时再加载详细说明。
这可以节省 token,也让系统更模块化。
4. MCP / Tools:让 Agent 调用外部服务
Seminar 也解释了 MCP 和工具调用。
可以把 MCP 理解成一种“告诉模型我有哪些函数可以用”的协议。
它会描述:
- API 或工具叫什么;
- 参数是什么;
- 参数类型是什么;
- 这个工具能做什么。
模型本身不直接执行 API,而是决定“应该调用哪个工具、传什么参数”,然后由 Agent 这一层真正执行。
老师还特别把这个和 assignment 中的第三方 web service 联系起来,比如天气查询、航班查询、价格比较等。
5. Subagents:把复杂任务拆给多个子 Agent
Subagent 用于更复杂的任务。
它有两个特点:
- 可以并行做任务;
- 可以从同一个上下文点分叉出去,各自专注完成不同部分。
例如一个复杂项目可以拆成:
- 一个 Agent 做 research;
- 一个 Agent 写代码;
- 一个 Agent 写测试;
- 一个 Agent 更新文档;
- 一个 Agent 做 review。
最后再把结果合并。这有点像 MapReduce:先分发任务,再汇总结果。
6. Session Persistence:会话和记忆如何保存
Seminar 讲到一些 Agent 会用很简单的方式保存 session,比如 JSONL 文件。
每一行代表一个事件,这样可以:
- 回看历史;
- rewind 到某个点;
- 保持上下文连续;
- 让 Agent 记住项目状态。
还提到了不同类型的 memory 文件,比如:
agent.md:项目级规则 / 记忆;memory.md:跨项目记忆;soul.md:类似 identity / personality 的长期设定。
7. System Prompt Assembly:系统提示词如何组装
系统提示词不是随便写一大段,而是由多个部分组合起来:
- 项目记忆;
- Agent identity;
- 工具接口 / MCP;
- skills index;
- permission list;
- 当前上下文。
重点是:system prompt 应该可组合、可维护、可审查,而不是一坨不可控的文字。
8. Permission and Security:权限与安全
这一部分也很重要。嘉宾强调不能只依赖 LLM 自己“守规矩”,因为模型可能被 jailbreak,或者 skill 里可能藏了人类看不懂但模型能理解的危险指令。
所以 Agent 需要做权限控制,比如:
- read-only;
- local write;
- network access;
- system-level operation;
- destructive action,比如删除文件,需要额外确认。
简单说:
安全边界不能只放在模型脑子里,而要放在 Agent / Harness 的执行层。
3. 后半部分 Demo:LM Wiki / Knowledge Base
后半部分做了一个 hands-on demo,展示如何用 Agent + Skill 管理一个知识库。
大概流程是:
- 把原始资料放进
rawfolder; - Agent 读取资料;
- 自动提取 summary、entities、concepts;
- 生成 wiki 页面;
- 建立概念之间的链接;
- 用 log 记录哪些文件已经处理过;
- 遇到新资料时只处理新增内容;
- 最终在 Obsidian 里形成一个知识图谱。
这个 demo 的意义是:
Harness Engineering 不只是理论,它可以用来做真实的知识管理系统。
比如你可以把课程资料、assignment brief、lecture notes、seminar transcript 放进去,让 Agent 帮你整理成一个可搜索、可链接、可更新的课程 wiki。
4. 这次 Seminar 想让你带走的核心理解
我觉得这次 Seminar 最重要的 takeaway 是:
未来的软件工程不只是“会不会写代码”,而是“会不会设计 AI Agent 的工作系统”。
也就是:
- 代码可以让 AI 写;
- 但目标、约束、架构、测试、权限、流程,仍然需要工程师设计;
- 好的 Agent 不是靠一句 prompt,而是靠 context、skills、tools、memory、permissions、workflow 组合出来;
- 模型会不断变化,但 Harness / 工程流程才是长期能力。
5. 用一句话总结
这次 Seminar 主要是在讲:AI Agent 背后的工程系统如何设计,也就是如何从简单使用 ChatGPT,升级到构建可复用、可控制、可观察、可安全运行的 AI 工作流。