怎样用NotebookLM做资料消化和可引用结论提取
2026-07-15 3400933
2026-07-15 0
大家好,今天想和大家聊一个最近在项目里特别有感触的话题:怎么让大模型 Agent 从"看起来很聪明"真正变成"能干活、干得稳"。

这篇文章我会沿着 Agent痛点 → Skill 是什么 → 怎么写好一个 Skill → 一个真实案例 → 怎么让 Skill 更可靠 的路径,把我们踩过的坑和总结的方法讲清楚。
在动手做 Agent 的时候,开发者和用户经常会被几个问题反复折磨。具体表现主要有三个。
这三个痛点其实指向同一件事:我们一直在用"对话"的方式驱动 Agent,但真实工程需要的是"规格"。
一句话讲清楚:Skill 不是一段 Prompt,而是一个自包含的、结构化的能力封装单元。
你可以把它理解成 Agent 的"专业培训模块"。打个比方:
差别就在于:前者靠灵感,后者靠规格。
一个像样的 Skill,通常由七个核心要素组成。
直接上对比:
| 维度 | Prompt | Skill |
|---|---|---|
| 组织方式 | 一段线性文本 | 结构化模块 |
| 复用性 | 靠复制粘贴 | 声明式引用 |
| 激活方式 | 始终生效 | 按需触发 |
| 可测试性 | 很难验证 | 可单测、可回归 |
| 组合能力 | 拼一起就打架 | 能编排组合 |
| 版本管理 | 几乎没有 | 可追溯、可回滚 |
这不是量变,是质变。当能力被封装成 Skill,Agent 就从"一段对话"升级成了"一个可编排的执行引擎"。
一个 Skill 从被触发到完成,会走完如下五个阶段的生命周期。
阶段一:识别与匹配。 根据触发语义做意图路由。结果可能有三种——零个 Skill 匹配(那就走通用对话)、刚好一个匹配(直接激活)、多个候选(按置信度排序,或者让用户选)。
阶段二:上下文装配。 按需加载领域知识、校验前置条件、绑定工具权限。装配完成后,Agent 就从"通用大脑"切换成"专才模式",眼里只剩下当前任务需要的信息,不再被无关上下文干扰。
阶段三:逐步执行。 按 SOP 以"执行—验证"的双拍节奏推进。断言通过就走下一步,失败就触发护栏。
阶段四:终态验证。 整体跑完后再做一次总检查。比如页面生成完,验证路由能不能跳转、样式一致不一致、表单校验和联动规则是不是都生效了。
阶段五:反馈闭环。 结果给到用户,执行轨迹写进日志。生成的组件符不符合编码风格?用户改了几次才满意?这些数据反过来驱动 Skill 持续迭代。
写 Skill 之前,推荐先用 Ant Skill Creator 这个脚手架工具来辅助。它会用结构化对话引导你完成 Skill 的初始设计。
打开 Creator,它会先抛给你四个问题:做什么、何时触发、产出什么、怎么验证。这四个问题正好对应下面五步法的前三步——界定边界、拆解流程、定义验证规则。
动笔前先回答三个问题:
边界一旦清晰,你就不会写出那种"听起来无所不能、实际啥都干不好"的 Skill。
把"完成这件事"拆成 3 到 7 个原子步骤。每一步都要满足三个条件:
每一步都很具体,Agent 照着干就行。
为每一步、每个最终结果定义验证条件。
| 验证层级 | 时机 | 例子 |
|---|---|---|
| 前置条件 | 执行前 | 是否已安装 antd?项目是否有全局路由配置? |
| 步骤断言 | 每步后 | Step 3 生成的表单,是不是包含了所有接口字段对应的表单项? |
| 终态核对 | 全流程后 | 页面是否通过 TypeScript 编译?表单校验是不是覆盖了必填、格式、边界?表格操作列按钮有没有 loading / disabled 态? |
写验证条件的关键是"具体、可机械化判断"。 千万别写"页面功能完整"这种 Agent 自己读完都心虚的东西,要写"ESLint 零 error、TypeScript strict mode 编译通过"——这种能直接跑出结果的。
把团队沉淀下来的东西写进 Skill:
领域知识不是一次写完的,而是每次翻车后补充进去的。每一次翻车,都是让 Skill 变聪明的机会。
Skill 上线不是终点,持续打磨才是它从"能用"走到"好用"的关键。除了被动从执行数据里发现问题,还有三种主动打磨方式。
1. 失败反哺机制
每次失败都自带打磨素材——失败场景 + 人工最终是怎么修好的。
核心心法是:别浪费任何一次失败。每次翻车都是免费的质量测试用例。
2. 同行互审(Skill Review)
代码要 code review,Skill 也一样。可以问几个问题:
形式可以很轻:每两周花 20 分钟,一个人讲、两个人挑刺,比任何自动化检查都更能发现"你没想到的情况"。
3. 对抗性测试
主动用刁钻的输入去试探 Skill 的边界:
对抗性测试的目的不是让 Skill 什么都能干,而是确认它在不该干的时候能干净利落地拒绝。一个好的 Skill,会优雅地说:"这需求我不太清楚,能再确认一下吗?"
打磨不是一次性动作,是个习惯。推荐节奏:每周花 30 分钟,做一轮用例回归 + 翻最近的失败记录 + 挑一个边界场景做对抗测试。 时间不长,但坚持三个月后,成熟度差距会非常明显。
Harness Engineering(Harness 工程)是围绕 AI Agent 构建脚手架系统的一门工程学科。这个概念由 Vivek Trivedi(LangChain)首次明确提出,其核心公式为:
Agent = Model + Harness
你不是模型,那你就是 Harness。
Harness 是模型之外的一切——系统提示词、工具调用、文件系统、沙箱环境、编排逻辑、钩子中间件、反馈回路、约束机制。模型本身只是能力的来源,只有通过 Harness 把状态、工具、反馈和约束串起来,它才真正变成一个 Agent。
一个成熟的 Harness 体系分为六层,从"定义边界"到"兜底恢复"形成完整闭环:
| 层级 | 名称 | 解决什么问题 | 关键设计 | 类比(新员工) |
|---|---|---|---|---|
| L1 | 信息边界层 | Agent 该知道什么 | 定义角色与目标,裁剪无关信息 | 岗位说明书 |
| L2 | 工具系统层 | 怎么跟外部世界交互 | 工具选拔、调用时机、结果提炼 | 办公工具 |
| L3 | 执行编排层 | 多步骤任务怎么串 | 理解→判断→分析→生成→检查 | 标准操作流程 |
| L4 | 记忆与状态层 | 长任务中间结果怎么管 | 独立管理状态、中间产物、长期记忆 | 项目管理系统和笔记本 |
| L5 | 评估与观测层 | 怎么知道做对了 | 独立于生成的验证机制 | 质检流程 |
| L6 | 约束校验与恢复层 | 出错了怎么办 | 预设规则拦截错误,重试或回滚 | 红线规则和应急预案 |
落地建议:不要试图一开始就搭齐六层。从 L1(信息边界)和 L6(约束与恢复)入手,这两层投入产出比最高。
lifecycle 是一个工作流编排器,解决的是前端项目启动前那条漫长的前置链路:理解需求 → 写系分文档 → 设计设计稿 → 搭建项目 → 连接 API。用户只需说一句话(比如"帮我生成一个xxx系统的前端系分并开始开发"),Agent 自动走完 几 个阶段,最终产出一个能直接跑起来的项目脚手架。
这个 Skill 的设计思路其实很简单,核心就四句话:
编排不执行。 编排器自己不写代码、不生成文档、不画设计稿。它只做一件事——按顺序调度子 skill,把它们的产物串起来。就像工地上的项目经理,不搬砖不砌墙,但知道什么时候该叫谁来干什么。
只认产物,不靠记忆。 阶段之间怎么衔接?不靠 Agent 的"记忆力",靠文件。上游产出了 SDD 文件,下游读取 SDD 路径才能启动。上游产出了设计稿,下游拿着设计稿列表继续。每一个阶段的"入场券"是上一阶段的产物,不是 Agent 脑子里记得"我好像干到第三步了"。
多入口归一。 用户给的可能是语雀 PRD 链接、一段文字需求、或者现成的 SDD 文件。编排器在入口处识别类型、分拣路由,不管哪种输入,最终都汇入同一条管道,产出统一的东西。
中断了能继续。 几 个阶段的流程,不可能每次一口气跑完。编排器把当前进度、中间产物路径持久化下来,用户下次说"继续",直接从断点恢复。
回头看,这些设计思路恰好落在了 Harness 六层框架上:
五步法 + 六层架构怎么配合
上面讲的写好skill的五步法是实操手册:界定边界 → 拆解流程 → 定义验证 → 注入知识 → 迭代打磨,告诉你"怎么写一个 Skill"。六层 Harness 体系是验收清单,告诉你"写到什么程度 Agent 才能可靠执行"。两者不是替代关系,是操作手册和质检标准的互补。
五步法已经覆盖的,六层让它更严谨:
不产生工具调用痕迹的验证不算验证。 五步法给了方向,Harness 给了及格线。
五步法漏掉的,六层补上:
五步法讲了怎么写正常流程、怎么验证、怎么打磨,但没有系统性回答一个问题:某一步出错了怎么办? 这正是 L6 约束校验与恢复层要解决的。
不需要额外的工作量——在 Step 2 拆解流程时,给每个关键步骤多加三行:
多问自己一句"这一步如果挂了 Agent 该做什么",Skill 就从'演示环境专用'变成了'生产环境可用'。
六层架构的意义,不在于把 Skill 拆成六个独立模块,而在于提醒 Skill 作者三件事:
做到这三条,Skill 就从"一个人写给自己看的操作手册",变成了"一份 Agent 能机械执行的可靠规格"。不需要平台支持,不需要新工具——只改变写作习惯。
从 Prompt 到 Skill,是第一次质变——能力从对话中"结晶"成了结构化模块。用 Harness 思想让 Skill 的可靠性持续进化,是第二次质变的前奏——当平台支撑就绪时,这份结构化规格可以直接被读成可编排的执行计划。
希望今天分享的这些东西,能帮大家在写 Skill 的时候少踩点坑、多积累点真正能用的资产。