onevcat/2026-let-s-vision 深度研究报告
一句话总结: 这个 repo 是一套完整的"AI 辅助演讲制作"案例——既展示了 AI Agent 时代工程实践的核心方法论,又通过完整保留的 resources/、design-fix/ 和 scripts/ 向外呈现了一套可复现的"人 + AI 协作生产演示文稿"的工作流。
1. 核心思想提炼
主问题是什么
演讲核心命题:当 AI Agent 能力已经超过大多数工程师时,工程师该如何重构自己的工作方式?
具体问题不是"怎么更快写代码",而是:
- 上下文怎么喂对(Context 资源稀缺)
- 经验怎么沉淀(Memory/Skill 体系)
- 验收怎么自动化(从人工监督到无人值守)
引用 resources/points.md 第3条:
> "2025 年后,团队主要矛盾从'写代码慢'迁移到'上下文正确性、流程可验收性、经验可沉淀性'"
核心结论
1. 工程师正在从"亲自实现者"转为"任务编排者 + 质量守门人"
2. 序章已经落下——AI Agent(Phase IV)是不可逆的协作形态,四阶段:Tab 补全 → Chatbot → AI Editor → Code Agent
3. AI 使用能力高度个体化,个人强 ≠ 组织强,需要治理"AI 格差"
4. 从"人工监督"走向"无人值守"是 Agentic Engineering 最关键的一跳
"道"对应的约束层
道是底层约束认知,对应 resources/slide-overview.md 中 S11-S19 区段("道"共 9 页,10 分钟):
| 约束 | 具体含义 |
|---|---|
| **约束一:Context = 内存** | SOTA 模型 200K-400K token,U 型注意力分布(开头/最近强,中段衰减),越塞越乱 |
| **约束二:Memory/Skill 决定复利** | 没有记忆系统就没有长期复利;团队 Memory 分层:Project → Module → Personal;Skill Marketplace 实现共享 |
| **约束三:协作范式在变** | 当前"人指挥多 Agent"是过渡态,下一阶段是"Agent ↔ Agent 自协作";开发者注意力稀缺是直接驱动因子 |
"术"对应的实践层
术是落地执行方法,对应 slides 中的 S20-S36 区段:
| 实践 | 具体做法 |
|---|---|
| **精简注入** | AGENTS.md ≤ 100 行,只写领域知识;行为式引用;渐进式披露(`resources/s14-s16-content.md` 有完整演讲稿) |
| **控制边界** | 任务超过一个 Context window = 必须拆;新开 Thread 避免历史污染 |
| **验收前置(新 BDD)** | 每个任务必须有 Spec(PR Description / Wiki 文档 / Ticket 复现步骤 / CI 错误 Log) |
| **评估剧本** | 自然语言 UI 测试:`action`(操作)+ `eval`(断言)交替,人能读、AI 能执行 |
| **Agent to Agent 闭环** | Trigger → Agent 执行 → 自动验收 → 沉淀 Skill/Memory,完整循环 |
可以观察和落地的启发
1. 最小起步动作(resources/slide-overview.md 收束页建议):1 个 Spec 模板 + 1 个验证循环,明天就能开始
2. 选顶级模型别省钱(slides.md 约 L300`):弱模型 → 错误积累 → 返工,长期更贵
3. 数据对比驱动组织:PR 数稳定但粒度变大、合并时间从 51h 降至 20h、AI 协作占比 6 个月内 1%→50%
4. 自下而上推广:高手先跑 → 沉淀 → 复用 → 制度兜底(不要等顶层设计)
2. Slides 最终内容 vs 仓库"未完全发布内容"对比
resources/ 中早期规划与扩展观点
`resources/points.md`——62 条观点池(完整版)
slides 最终只覆盖了约 60% 的观点。以下几条没有出现在最终 slides 中:
- 点 26(2A,Develop for Agent):
> "Agent 正在成为软件的新用户……API、注释、框架、乃至产品:第一消费者正在从人变成 Agent"
slides 末尾的"还有什么在变"页面有轻描淡写,但 points.md 明确把它列为"道"层约束之一,深度未展开。
- 点 51-52(云端化与 OpenClaw):
> "未来主力 agent 很可能不在 local,而在云端持续运行环境中……OpenClaw 的启发是'随身、随时、随地'的 agent 可达性"
仅在 resources/slide-overview.md S19 注释中提到,最终 slides 完全没有落地。
- 点 57(极端自动化警示):
> "在极端自动化闭环里,人可能被挤出执行环节,只保留责任承担角色"
这是一个反思性警示,resources/2026-03-shanghai-ai-agent-talk-notes.md 中提到,但最终 slides 没有展开,仅暗示。
- 点 24(渐进式披露的本质):
> "Memory 和 Skill 的构建本质都是'渐进式披露(progressive disclosure)'的实践"
收束页的 S33 有计划加入这句话(见 resources/slide-overview.md),但最终幻灯片结尾页只有三个词组,未展开。
`resources/references.md`——9 篇学术文献(完整引用列表)
slides 的注意力 U 型图(S18)有隐式引用,但所有文献未在最终 slides 中出现,全部保存在 resources/references.md:
| 引用来源 | 关键发现 | 对应 slide 观点 |
|---|---|---|
| Liu et al. 2024 (TACL) | 中段 Recall 下降 >30% | 注意力 U 型图 |
| Chroma Research "Context Rot" 2025 | "attention budget" 概念 | 注意力涣散 |
| Anthropic "Effective Context Engineering" 2025 | 最小高信号 token 集 | 精简注入 |
| a16z "LLMflation" 2025 | attention 计算仍二次方扩展 | 推理成本飙升 |
| Anthropic "Effective Harnesses for Long-Running Agents" 2025 | 状态文件 + 项目历史维持跨 session | 控制边界 |
`resources/slide-overview.md`——早期 S19 规划(平台化战略)
原规划的 S19 内容:
> "战略落点:平台能力/权限审计/可观测性/流程自动化会成为竞争关键"
resources/points.md 点 28 也写了这一条:
> "平台能力、权限审计、可观测性、流程自动化会成为企业竞争关键"
最终 slides 里这一页被完全删除,可能因为内容偏战略/企业决策层,与"工程师实践"的定位稍有偏差。
design-fix/ 中的关键设计取舍
仓库共有 4 轮设计批评报告(design-fix/critique-report.md 到 critique-report-r4.md),记录了完整的视觉迭代过程:
轮次一(`critique-report.md`)——识别三大 AI anti-pattern
最终呈现影响最大的决策:
1. 砍掉 border-l-3 左侧粗边框:从 14 处砍到 3 处。批评报告原文:
> "当同一个视觉符号到处出现,它就停止传递信号了"
这直接改变了 slides 的信息层级语义——最终版里边框只在"核心论断"处出现,具有真实的强调意义。
2. S07 数字页重构:去掉 StatCard 组件和 hover 动效,改为纯排版驱动。~250 用 text-[7rem] font-black 作为绝对主角。批评原因:
> "4 个等宽卡片……完美命中 AI 生成界面中最常见的模式之一"
3. teal 色语义收紧:去掉 19 处非 agent 语义位置的 teal,让 teal 集中在 agent/自动化相关内容上。最终版的色彩语义:teal=Agent、amber=规范/警示、violet=知识/记忆。
轮次二(`critique-report-r2.md`)——S10 AI 协作数字页破格
核心问题:连续 5 页数据 slides 结构完全相同。最终版的 S10(AI 协作从 1%→50%)采用了:
- 大字数字放左上角(
text-[4.5rem]) - 图表在背景,数字在前景叠加
- 实现了"数字主导,图表辅证"的层级
轮次三(`critique-report-r3.md`)——S25/S26 结构孪生问题
"去掉起点"和"去掉终点"两页紧邻,最终版通过以下方式区分:
- S25(起点):改为以文本为主的中心布局 + 三个 pill badge,轻巧感
- S26(终点):保留复杂流程图 + detail callouts,重量感
这种"轻 vs 重"的不对称,直接对应演讲叙事:"起点简单,终点才是难点"。
轮次四(`critique-report-r4.md`)——验收自动化页信息过载修复
S30(验收自动化执行页)原来同时放 5 阶段 pipeline 图 + 4 个 detail callout,被判定为"全场信息密度最高但不是最重要"。最终版删除了 detail callouts,pipeline 图放大,细节交给口头讲解。
基于 Agent 的 slide 制作启发
1. "批评-修复"闭环是可复现的工作流:design-fix/ 中的每轮报告都有明确的 Command 字段(/bolder、/distill、/polish 等),这些正是 .agents/skills/ 中对应的 skill。整个设计迭代本身就是 Agent → 输出批评 → Agent 修复的闭环。
2. Agent 审美的天敌是 Agent 自己:4 轮批评反复检查"AI Slop"——模型自己生成的内容里最容易出现模型审美陷阱,需要专门 skill 来对抗。
3. 版本化设计决策:把每一轮的 critique 保存到文件,让未来的 Agent 能理解"为什么不这样做",避免在新对话里回退到旧版本。
3. 基于 scripts/ 工具的可复现方法
如何提取 Speaker Notes
工具文件: scripts/extract-notes.py
基本用法:
cd /tmp/2026-vision
python3 scripts/extract-notes.py slides.md
输出 JSON 数组,每个 slide 一条记录,包含:
page:页码("S01"~"S34")lines:在 slides.md 中的行范围(如"25-77")layout:布局类型(default、center、new-section等)title:页面标题(已去除 HTML 标签)clicks_declared:frontmatter 中声明的 clicks 数量click_elements:所有v-click、v-clicks、$clicks的行号和细节notes:演讲备注原文(中的内容)notes_lines:备注的行范围
实际提取一页的 notes:
# 提取 S15(slam 卡片页)的演讲备注
python3 scripts/extract-notes.py slides.md | python3 -c "
import json, sys
data = json.load(sys.stdin)
for s in data:
if s['page'] == 'S15':
print(s['notes'])
"
快速行号定位(配合 slide-index.sh):
./scripts/slide-index.sh slides.md
# 输出示例:
# Page Lines Layout Title
# ---- ----------- ------------------ -----
# S01 25-77 intro AI Agent 的道与术
# S02 78-101 default 龙虾 🦞,智能体 🤖,Geek 的未来
找到目标页后,直接用 Read 工具的 offset/limit 参数跳转到对应行。
如何建立"页面 → 演讲备注 → 观点来源"追踪映射
Step 1:生成带 notes 的完整索引
python3 scripts/extract-notes.py slides.md > /tmp/slide-notes.json
Step 2:提取映射表
import json
with open('/tmp/slide-notes.json') as f:
slides = json.load(f)
# 建立 page -> title + notes 映射
mapping = []
for s in slides:
mapping.append({
"page": s["page"],
"title": s["title"],
"notes": s["notes"][:200] + "..." if len(s["notes"]) > 200 else s["notes"],
"clicks": s["clicks_declared"],
"lines": s["lines"]
})
# 打印摘要
for m in mapping:
print(f"\n{m['page']} [{m['lines']}] — {m['title']}")
print(f" 备注: {m['notes'][:100]}")
Step 3:与 resources/references.md 交叉关联
resources/references.md 按照 slide point 分类了所有学术引用。可以建立以下映射表:
| 页面 | 核心观点 | 对应 points.md 编号 | 对应 references 引用 |
|---|---|---|---|
| S16(约束一) | Context 有限 | #18, #19, #36 | [1][2][3][4][5] |
| S17(精简注入) | 只给必要信息 | #34, #35 | [5][9] |
| S18(注意力分布) | U 型分布 | #36 | [1][3] |
| S21(约束二) | Memory/Skill 复利 | #21, #22, #23 | — |
| S25(去掉起点) | Webhook/Cron 触发 | #50 | — |
完整追踪流程:
# 1. 用 extract-notes.py 定位某一页
# 2. 在 notes 里找到"[click] xxx"格式的要点
# 3. 在 resources/points.md 里按关键词找对应编号
# 4. 在 resources/references.md 里找该编号对应的学术依据
# 5. 在 resources/s14-s16-content.md 里查看完整演讲稿(如适用)
4. Repo 中有哪些 Skill,能用在自己的项目里吗?
Skill 体系分布
仓库有两套 skill 系统,放在不同目录下:
| 目录 | 面向 | 数量 |
|---|---|---|
| `.agents/skills/` | 通用 Agent(任何 AI agent 工具) | 18 个 |
| `.claude/skills/` | Claude Code 专属 | 21 个(含 slidev、ui-ux-pro-max 等) |
所有 .agents/skills/ 中的 skill 来自同一个源:pbakaus/impeccable(见 skills-lock.json),通过 skill 锁文件管理版本和哈希。
.agents/skills/ 中的 18 个 Impeccable Skills
这套 skills 是一个前端/UI 设计的 Agent 工具集,设计用于 Claude Sonnet 等 Agent:
| Skill 名 | 用途 |
|---|---|
| `adapt` | 跨屏幕/设备/平台的响应式设计适配 |
| `animate` | 动画设计(服务叙事,不装饰) |
| `audit` | 可访问性审计、技术规范检查 |
| `bolder` | 增强视觉冲击力,让重要内容更突出 |
| `clarify` | 减少歧义、提高信息清晰度 |
| `colorize` | 色彩方案优化,语义化配色 |
| `critique` | UX 设计批评,AI Slop 检测(本项目多轮 design-fix 的核心工具) |
| `delight` | 增加令人愉悦的交互细节 |
| `distill` | 精简信息密度,去掉噪声 |
| `extract` | 从复杂界面中提取和分离元素 |
| `frontend-design` | 通用前端设计原则参考(含 Anti-Patterns 检测) |
| `harden` | 增强健壮性,边界情况处理 |
| `normalize` | 统一视觉风格、规范化组件 |
| `onboard` | 用户引导流程设计 |
| `optimize` | 性能与渲染优化 |
| `polish` | 最终润色,精致细节处理 |
| `quieter` | 降低视觉噪声,增加呼吸感 |
| `teach-impeccable` | 元技能:教如何使用这套 skill 系统 |
.claude/skills/ 中的项目专属 Skills
| Skill 名 | 用途 | 特点 |
|---|---|---|
| `slidev` | Slidev 演示文稿制作完整指南 | 含 50+ 参考文件,覆盖动画/布局/代码块等 |
| `ui-ux-pro-max` | UI/UX 设计数据库 | 67 种风格、96 种配色、57 种字体搭配、13 个技术栈,含 CSV 数据文件 |
| `baoyu-article-illustrator` | 文章配图生成 | 含 20+ 风格参考、prompt 构建模板 |
能用在自己的项目或智能体中吗?
完全可以,而且强烈推荐。
方案一:直接引用 pbakaus/impeccable
所有 18 个 .agents/skills/ 来自公开 GitHub 仓库,可以通过 skill 管理工具直接安装:
# 如果你使用 OpenClaw 或类似的 skill 管理器
# 参考 skills-lock.json 的格式和 source 字段
方案二:复制 SKILL.md 到自己的项目
每个 SKILL.md 就是一份完整的"Agent 指令文档",格式标准(YAML frontmatter + markdown 正文),可以直接放进:
.agents/skills/(针对通用 Agent).claude/skills/(针对 Claude Code)CLAUDE.md或AGENTS.md的@引用(减少 context 消耗)
方案三:critique + distill + bolder 三件套
本项目的 design-fix 流程证明:
1. 用 critique 扫描"AI Slop"(会输出结构化的 Priority Issues + Commands)
2. 针对每个 issue 调用对应 skill(/distill 去冗余、/bolder 增强冲击、/polish 最终润色)
3. 每轮结果保存为版本化文件,下次对话可继续
这套工作流可以移植到任何前端/UI 项目的迭代中,特别适合:Slidev 演示文稿、Landing Page、技术文档站点、数据可视化页面。
方案四:ui-ux-pro-max 的 CSV 数据文件
/.claude/skills/ui-ux-pro-max/data/ 下有大量结构化数据(颜色、图标、字体、UX 规则等),可以直接被 Agent 检索引用,比 prompt 里的文本描述更精确。
5. 观众扩展阅读路径
🕐 30 分钟预算:了解核心框架
1. slides.md(重点页):读 S01(封面)、S05(四阶段)、S06(人成为瓶颈)、S13(今天的话题)、S34(还有什么在变)、S35/S36(早期/中期建议)→ 对全场有完整印象
- 定位行号:./scripts/slide-index.sh 快速找到每页起始行
2. resources/points.md:浏览全部 62 条观点,挑选自己最有共鸣的 3-5 条
- 文件路径:resources/points.md
- 建议重点:第 1-5 条(主题主张)+ 第 29-40 条(术层实践)
3. 在线浏览:
🕑 2 小时预算:理解方法论与制作过程
第一步:完整阅读 slides.md(30 分钟)
cd /tmp/2026-vision
python3 scripts/extract-notes.py slides.md | python3 -c "
import json, sys
data = json.load(sys.stdin)
for s in data:
print(f'=== {s[\"page\"]} {s[\"title\"]} ===')
print(s['notes'])
print()
" | less
第二步:阅读完整讲稿笔记(30 分钟)
resources/2026-03-shanghai-ai-agent-talk-notes.md:完整演讲稿 v2,包含叙事逻辑、过渡语、边界说明resources/s14-s16-content.md:S14-S16 精简注入+控制边界+注意力图,有完整演讲备注和叙事意图
第三步:追踪设计迭代(30 分钟)
design-fix/critique-report.md(轮次一):理解三大 AI anti-pattern 的识别方法design-fix/critique-report-r4.md(轮次四):理解最终版本的所有设计决策来源
第四步:理解学术依据(30 分钟)
resources/references.md:9 篇论文,重点读:
- [1] Liu et al. "Lost in the Middle" (TACL 2024) →
- [4] Chroma "Context Rot" →
- [5] Anthropic "Effective Context Engineering" →
🕓 半天预算:深度复现与实践
目标:用同样的工作流做一套自己的演示文稿
Step 1:环境搭建(30 分钟)
git clone https://github.com/onevcat/2026-let-s-vision
cd 2026-let-s-vision
pnpm install
pnpm dev # 本地运行,http://localhost:3030
Step 2:内容规划流程(复现 resources/ 目录的作用)(1 小时)
参照 resources/slide-overview.md 的格式:
- 先写"总体规划"(时长、页数、节奏)
- 再写"逐页分配"(每页标题、时间、内容要点、放入备注的次要观点)
- 最后写"合并降级规则"(时间压缩方案)
用 resources/points.md 的格式整理观点池(62 条的粒度:主题主张 / 时代判断 / 证据 / 道 / 术 / 案例 / 表达原则)
Step 3:设计迭代(复现 design-fix/ 流程)(1.5 小时)
安装 .agents/skills/ 中的 skill,按以下顺序迭代:
1. 写完初版后,运行 critique → 得到结构化 Priority Issues
2. 针对每个 issue 执行对应 command(/distill、/bolder、/quieter 等)
3. 把每轮 critique 输出保存为 design-fix/critique-report-rN.md
Step 4:提取和追踪(30 分钟)
# 提取所有 speaker notes
python3 scripts/extract-notes.py slides.md > notes-index.json
# 生成页面索引
./scripts/slide-index.sh slides.md > slide-index.txt
# 建立 page → notes → references 映射(参考上文 Section 3)
Step 5:阅读扩展材料(1.5 小时)
CLAUDE.md:理解 Agent 在此仓库中的工作指南(项目结构、关键约定、设计语言定义).agents/skills/critique/SKILL.md+.agents/skills/frontend-design/SKILL.md:完整的 AI Slop 检测体系.claude/skills/slidev/目录:50+ 个 Slidev 功能参考文档output/prompts/02-framework-topic-overview-notion.md:topic-overview.png 的生成 prompt,展示了如何用结构化 prompt 生成插图
附录:仓库关键文件速查
| 文件路径 | 用途 |
|---|---|
| `slides.md` | 主演示文稿(~1600 行),所有 slide 内容 |
| `CLAUDE.md` | Agent 工作指南,含设计语言和关键约定 |
| `resources/points.md` | 62 条观点池(完整版,超出 slides 内容) |
| `resources/slide-overview.md` | 早期 34 页规划,含时间分配和降级规则 |
| `resources/references.md` | 9 篇学术文献引用,含 URL |
| `resources/s14-s16-content.md` | S14-S16 完整演讲备注和叙事意图 |
| `resources/2026-03-shanghai-ai-agent-talk-notes.md` | 完整讲稿笔记 v2 |
| `design-fix/critique-report.md` | 第一轮设计批评(识别 anti-patterns) |
| `design-fix/critique-report-r4.md` | 第四轮批评(最终版审查) |
| `scripts/extract-notes.py` | 提取 speaker notes 为 JSON |
| `scripts/slide-index.sh` | 生成页码/行号/layout/title 索引表 |
| `.agents/skills/critique/SKILL.md` | AI Slop 检测 skill |
| `.claude/skills/slidev/SKILL.md` | Slidev 完整使用指南 |
| `skills-lock.json` | Skill 版本锁文件(含 GitHub source + hash) |
发布日期:2026-03-29