onevcat/2026-let-s-vision 深度研究报告

一句话总结: 这个 repo 是一套完整的"AI 辅助演讲制作"案例——既展示了 AI Agent 时代工程实践的核心方法论,又通过完整保留的 resources/design-fix/scripts/ 向外呈现了一套可复现的"人 + AI 协作生产演示文稿"的工作流。

1. 核心思想提炼

主问题是什么

演讲核心命题:当 AI Agent 能力已经超过大多数工程师时,工程师该如何重构自己的工作方式?

具体问题不是"怎么更快写代码",而是:

引用 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 中:

> "Agent 正在成为软件的新用户……API、注释、框架、乃至产品:第一消费者正在从人变成 Agent"

slides 末尾的"还有什么在变"页面有轻描淡写,但 points.md 明确把它列为"道"层约束之一,深度未展开。

> "未来主力 agent 很可能不在 local,而在云端持续运行环境中……OpenClaw 的启发是'随身、随时、随地'的 agent 可达性"

仅在 resources/slide-overview.md S19 注释中提到,最终 slides 完全没有落地。

> "在极端自动化闭环里,人可能被挤出执行环节,只保留责任承担角色"

这是一个反思性警示,resources/2026-03-shanghai-ai-agent-talk-notes.md 中提到,但最终 slides 没有展开,仅暗示。

> "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" 2025attention 计算仍二次方扩展推理成本飙升
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.mdcritique-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=Agentamber=规范/警示violet=知识/记忆

轮次二(`critique-report-r2.md`)——S10 AI 协作数字页破格

核心问题:连续 5 页数据 slides 结构完全相同。最终版的 S10(AI 协作从 1%→50%)采用了:

轮次三(`critique-report-r3.md`)——S25/S26 结构孪生问题

"去掉起点"和"去掉终点"两页紧邻,最终版通过以下方式区分:

这种"轻 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 一条记录,包含:

实际提取一页的 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 正文),可以直接放进:

方案三: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. 在线浏览(视觉效果完整,含 slam 动画)

🕑 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 分钟)

第三步:追踪设计迭代(30 分钟)

第四步:理解学术依据(30 分钟)

- [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 小时)

附录:仓库关键文件速查

文件路径用途
`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