Explorar o código

sync: 入库李开复《AI未来已来》,派生 4 页

来源:IMA 知识库「李开复」(自建库,1 个 PDF,184 页)
未直接放 raw,而是先走 kb.py stash 的思路落盘:PDF 保留原名进 01-行业资料/
派生:
- sources/AI未来已来-李开复.md(全书脉络 + 可引用原句 + 做课价值)
- topics/企业AI转型为什么失败.md(三个根因 + 两个数据)
- entities/DRI.md(概念+定位,第8章细节标待补)
- modules/M9-个人贡献者的四种结局.md(可直接上课的 60 分钟模块)
证据等级统一 C(权威经验,非一手数据),已在页面内说明升级条件
shencp hai 13 horas
pai
achega
338f815a0e

BIN=BIN
00-原材料/01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf


+ 11 - 0
10-知识库/_meta/CHANGELOG.md

@@ -0,0 +1,11 @@
+# 变更日志
+
+> 只增不改。统一前缀便于 shell 检索:
+> `grep '^## \[' CHANGELOG.md | tail -5`
+
+## [2026-11-04 20:09] ingest | 01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf
+- 派生 `sources/AI未来已来-李开复.md`
+- 派生 `topics/企业AI转型为什么失败.md`
+- 派生 `modules/M9-个人贡献者的四种结局.md`
+- 派生 `entities/DRI.md`
+

+ 1 - 0
10-知识库/_meta/changelog.jsonl

@@ -0,0 +1 @@
+{"ts": "2026-11-04T20:09:54+08:00", "op": "ingest", "source": "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf", "pages": ["sources/AI未来已来-李开复.md", "topics/企业AI转型为什么失败.md", "modules/M9-个人贡献者的四种结局.md", "entities/DRI.md"], "sha256": "3d650fdfcb40"}

+ 9 - 0
10-知识库/_meta/derivations.jsonl

@@ -0,0 +1,9 @@
+{"kind": "derives", "from": "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf", "to": "sources/AI未来已来-李开复.md"}
+{"kind": "links", "from": "sources/AI未来已来-李开复.md", "to": "topics/企业AI转型为什么失败.md"}
+{"kind": "links", "from": "sources/AI未来已来-李开复.md", "to": "entities/DRI.md"}
+{"kind": "derives", "from": "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf", "to": "topics/企业AI转型为什么失败.md"}
+{"kind": "links", "from": "topics/企业AI转型为什么失败.md", "to": "entities/DRI.md"}
+{"kind": "derives", "from": "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf", "to": "entities/DRI.md"}
+{"kind": "links", "from": "entities/DRI.md", "to": "topics/企业AI转型为什么失败.md"}
+{"kind": "derives", "from": "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf", "to": "modules/M9-个人贡献者的四种结局.md"}
+{"kind": "links", "from": "modules/M9-个人贡献者的四种结局.md", "to": "topics/企业AI转型为什么失败.md"}

+ 17 - 2
10-知识库/_meta/manifest.json

@@ -1,7 +1,22 @@
 {
   "version": 2,
   "root": "00-原材料",
-  "updated_at": null,
-  "files": {},
+  "updated_at": "2026-11-04T20:09:54+08:00",
+  "files": {
+    "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf": {
+      "size": 11018477,
+      "mtime_ns": 1793794065120445800,
+      "sha256": "3d650fdfcb4003861dfae67726cac66d2b7b81857444e212ca653109cc567413",
+      "id": "src_e950f508",
+      "status": "ingested",
+      "ingested_at": "2026-11-04T20:09:54+08:00",
+      "pages": [
+        "entities/DRI.md",
+        "modules/M9-个人贡献者的四种结局.md",
+        "sources/AI未来已来-李开复.md",
+        "topics/企业AI转型为什么失败.md"
+      ]
+    }
+  },
   "tombstones": []
 }

+ 179 - 0
10-知识库/_meta/外部来源.md

@@ -0,0 +1,179 @@
+# 接入外部来源
+
+> 公众号、IMA 知识库、飞书 wiki、网页……这些东西不能直接「进」知识库。
+> 必须先落成本地文件,再走 `kb-sync`。
+
+---
+
+## 一条不能破的规则
+
+**`00-原材料/` 是唯一输入区。任何内容进入系统,都必须先变成一个文件躺在里面。**
+
+原因不是洁癖,是回滚机制:页面的 `sources:` 字段记录的是**原材料相对路径**。内容如果只存在于某个链接或某次对话里,将来要删它、要查"这句话哪来的",都没有抓手。
+
+所以外部来源的处理只有两步:
+
+```
+抓取 → 落盘成文件 → 剩下的和直接丢文件完全一样
+```
+
+---
+
+## 落盘规范
+
+### 放哪
+
+| 内容类型 | 位置 |
+|---|---|
+| 不确定归类的、刚抓下来的 | `00-原材料/_inbox/` |
+| 行业文章、报告解读 | `00-原材料/01-行业资料/` |
+| 客户相关(含客户公众号、客户案例) | `00-原材料/02-客户与需求/` |
+| 方法论、案例、素材 | `00-原材料/03-课程素材/` |
+| 同行课程、竞品内容 | `00-原材料/04-竞品与参考/` |
+
+拿不准就丢 `_inbox/`。下次同步时模型会建议归位。
+
+### 文件名
+
+```
+YYYY-MM-DD-<来源类型>-<标题截断>.md
+
+2026-11-04-gzh-企业AI培训的三个误区.md
+2026-11-04-ima-客户决策链笔记.md
+2026-11-04-web-某咨询公司行业报告.md
+```
+
+日期在前,天然按时间排序。
+
+### 文件头必须有来源块
+
+**这是外部来源和直接丢文件唯一的不同。**
+
+```md
+<!-- 来源: 微信公众号「某某研究院」 -->
+<!-- 原链接: https://mp.weixin.qq.com/s/xxxxxxxx -->
+<!-- 作者: 张三 -->
+<!-- 抓取时间: 2026-11-04 20:00 -->
+<!-- 存档: https://web.archive.org/web/2026.../https://mp.weixin.qq.com/s/xxx -->
+<!-- 证据提示: 公众号二手解读,默认 C 级 -->
+
+# 企业 AI 培训的三个误区
+
+正文……
+```
+
+用 HTML 注释,理由是:Markdown 渲染时看不见,不干扰阅读;但在源码里就在最上面,模型和人都能找到。
+
+**缺了这块会怎样**:三个月后你想引用这句话,只剩一个标题,不知道谁说的、什么时候说的、原文还在不在。公众号文章被删是常态。
+
+### 一键生成
+
+不用手写这些注释:
+
+```bash
+python 90-工具/kb.py stash \
+  --title "企业AI培训的三个误区" \
+  --url "https://mp.weixin.qq.com/s/xxxx" \
+  --type gzh \
+  --author "某某研究院" \
+  --body-file temp.md
+```
+
+它会生成规范文件名 + 来源块,落到 `_inbox/`。也可以从标准输入喂正文。
+
+---
+
+## 四种来源的具体做法
+
+### 公众号
+
+用现成的 `gzh-fetch` 技能抓正文,然后 `kb.py stash` 落盘。
+
+三件事必须做:
+
+1. **存全文,不存摘要。** 摘要等于替未来的自己做了删减决定。
+2. **做存档链接。** `https://web.archive.org/save/<原链接>`,公众号删文是常态。存档失败就在来源块写「存档失败」。
+3. **记作者和号名。** 同一篇文章,原创号和转载号的证据价值差一个等级。
+
+### IMA 知识库
+
+⚠️ **IMA 里绝大多数内容是二手加工品,默认 C 级。**
+
+IMA 存的是"某人对某份资料的理解"。它不是原始资料,是别人嚼过的。做课直接引用风险很高 —— 你不知道他在哪一步理解偏了。
+
+处理方式:
+
+| IMA 里是什么 | 落盘后定几级 | 说明 |
+|---|---|---|
+| 某人写的笔记 / 总结 / 思考 | **C** | 除非笔记里给了原始出处,可以升 B |
+| 一份原始 PDF / 报告 | 按原文件定 A 或 B | 最好直接拿原件,别用 IMA 里的转述版 |
+| 会议纪要、访谈录音转写 | B | 一手记录,但没有交叉验证 |
+| 教程 / 操作手册 | B | 有明确操作步骤,可复现 |
+
+**如果 IMA 笔记里有原始链接,务必把链接一起落进来源块。** 那条链接是它从 C 升到 B 的唯一通道。
+
+### 网页 / 其他网站
+
+先转 Markdown 再落盘。带导航栏、广告、推荐位的 HTML 直接扔进库,会让 `check-content.py` 满屏报警,也会浪费模型的上下文。
+
+### 飞书 wiki / 语雀 / Notion
+
+导出 Markdown 后落盘。**导出时注意:**
+
+- 表格常常在导出时变成图片,需要人工补回文字
+- 附件链接是内网地址,离开内网就失效 —— 重要附件要单独下载
+
+---
+
+## 三个坑
+
+### 坑一:同一内容从两个渠道各抓一次
+
+从公众号抓了,又从 IMA 复制了同一篇。两处路径不同、内容相同,`kb.py scan` 会把它们当成**两个独立的新文件**(因为不满足"一个删除配一个新增"的移动判定条件)。
+
+结果是同一份内容被整理两次,派生两套页面,将来删一个另一个还在。
+
+**对策**:落盘前先搜一下。
+
+```bash
+grep -rl "文章标题里的关键词" 00-原材料/
+```
+
+### 坑二:批量抓 50 篇直接扔进去
+
+`kb-sync` 的规则是:超过 20 个新文件,先做 3 个给你看格式,确认后再铺开。
+
+外部批量抓取最需要这条。**先挑 3 篇不同类型的**(一篇深度长文、一篇短资讯、一篇案例),跑通格式再批量。
+
+### 坑三:把"二手解读"当"一手数据"
+
+公众号说「据某机构测算,市场规模 380 亿」。
+
+这不是 A 级。这是 **C 级的转述** —— 你没见过那份测算,连它叫什么都不知道。
+
+正确做法:顺着文章里的线索去找原始报告。找到了就是 B 或 A,找不到就老老实实标 C,讲课时说"有文章提到"。
+
+> 这条最容易犯,因为转述比原文好读。但客户问「哪家机构测算的」时,你答不上来,整门课的可信度就打折。
+
+---
+
+## 落盘之后的流程
+
+和直接丢文件一模一样,不需要任何特殊处理:
+
+```
+kb.py stash → kb.py scan 看到 NEW → kb-sync 整理 → kb.py mark 登记
+```
+
+唯一的区别在写 source 页时:**来源块里的信息要抄进页面**。
+
+```md
+## 这是什么
+
+微信公众号「某某研究院」2026 年 11 月的文章,作者张三。原文链接见来源块,已做网页存档。
+
+## 核心内容
+……
+```
+
+这样将来读页面的人,不用翻原材料就知道这是谁说的、什么时候说的、还能不能找到原文。

+ 51 - 0
10-知识库/entities/DRI.md

@@ -0,0 +1,51 @@
+---
+id: "en_dri"
+type: "entity"
+title: "DRI(Directly Responsible Individual)"
+summary: "一个决策对应一个具体的人,而非一个部门"
+evidence: "C"
+tags:
+  - "组织"
+  - "管理"
+  - "术语"
+sources:
+  - "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf"
+related:
+  - "AI未来已来-李开复"
+  - "企业AI转型为什么失败"
+status: "active"
+stale: false
+created: "2026-11-04"
+updated: "2026-11-04"
+---
+
+# DRI(Directly Responsible Individual)
+
+## 是什么
+
+**直接负责人**。每一个决策、每一个项目都指定**一个具体的人**对结果负责,而不是一个部门、一个委员会或「大家一起」。
+
+这个词在书里是第 8 章的核心:**「重塑组织架构,把公司交给 DRI」**。
+
+## 为什么它和 AI 转型绑在一起
+
+书里把它放在「组织怎么改」这一环,而不是「怎么用人」这一环。逻辑是:
+
+1. AI 让执行成本趋近于零,于是**执行的稀缺性消失了,判断的稀缺性凸显出来**。
+2. 判断必须有归属 —— 一个判断由一群人做,等于没人对结果负责。
+3. 所以组织要把「谁来判断」明确到个人,这个人就是 DRI。
+
+书里还有一句很直接的关联:**第 9 章说的「被放大价值的指挥官」,就是 DRI 这类人**。一个人指挥一群智能体员工,产出放大十倍几十倍。
+
+## 对做课的价值
+
+这个概念有两个很实用的地方:
+
+- **给中层的抓手**。中层最怕的是「AI 来了我要负责什么」。DRI 给了明确答案:你要负责的是判断,不是执行。
+- **给高层的诊断题**。问一句「你们现在跨部门的 AI 项目,DRI 是谁」,多数企业答不上来。这正好接上 [[企业AI转型为什么失败]] 里的「口袋否决」—— 没有 DRI,就必然发生口袋否决。
+
+## 待补
+
+第 8 章对 DRI 的完整论述(权责边界、与原有汇报线的关系、落地步骤)尚未提取。目前这一页只覆盖了定义与定位,**引用具体做法前需要回到原文第 8 章(p129 起)核对**。
+
+> 这也是本库的用法之一:概念页先立骨架,具体内容等做课到那个模块时再补。不必等一页写完美才建。

+ 4 - 3
10-知识库/entities/_index.md

@@ -1,6 +1,7 @@
 # 实体页索引
 
-> 自动生成于 2026-11-04T18:30:38+08:00,共 0 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
-
-_(暂无内容)_
+> 自动生成于 2026-11-04T20:10:25+08:00,共 1 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
 
+| 页面 | 一句话 | 标签 | 源数 | 更新 | 状态 |
+|---|---|---|---|---|---|
+| [DRI(Directly Responsible Individual)](entities/DRI.md) | 一个决策对应一个具体的人,而非一个部门 | 组织, 管理, 术语 | 1 | 2026-11-04 | active |

+ 1 - 1
10-知识库/index.md

@@ -31,7 +31,7 @@
 ### B. 客户与需求画像
 | 主题 | 页面 | 更新时间 | 可信度 |
 |---|---|---|---|
-| _(待填)_ | | | |
+| 企业AI转型为什么失败 | [topics/企业AI转型为什么失败.md](topics/企业AI转型为什么失败.md) | 2026-11-04 | 中(1 源,权威经验) |
 
 ### C. 课程内容与方法论
 | 主题 | 页面 | 更新时间 | 可信度 |

+ 94 - 0
10-知识库/modules/M9-个人贡献者的四种结局.md

@@ -0,0 +1,94 @@
+---
+id: "md_fouroutcome"
+type: "module"
+title: "M9 个人贡献者的四种结局"
+summary: "用四种结局让学员自我定位,引发转变意愿,60 分钟"
+evidence: "C"
+tags:
+  - "模块"
+  - "个人成长"
+  - "组织"
+sources:
+  - "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf"
+related:
+  - "AI未来已来-李开复"
+  - "企业AI转型为什么失败"
+status: "active"
+stale: false
+created: "2026-11-04"
+updated: "2026-11-04"
+---
+
+# M9 个人贡献者的四种结局
+
+**时长** 60 分钟(讲授 20 / 自评与讨论 30 / 收束 10)
+**学员产出** 一份自我定位卡片 + 一个 90 天转变动作
+**适用** 全员课的中后段、训练营收官、公开课压轴
+
+## 学习目标
+
+- 能说出四种结局的区别,并判断自己当前在第几种
+- 能说出「从第三、四种转向第一、二种」需要付出什么代价
+- 愿意当场写下一个 90 天内可执行的转变动作
+
+## 内容线
+
+### 1. 前提:同一套工具,四种结局(5 分钟)
+
+书里的关键设定:**把同一套 AI 工具发到全公司,个人贡献者会有四种不同的结局。** 差别不在工具有没有给到,而在人怎么用它。
+
+这句话本身就是钩子——学员会立刻想「我是第几种」。
+
+### 2. 四种结局(15 分钟)
+
+| # | 结局 | 特征 | 结果 |
+|---|---|---|---|
+| 1 | **被放大价值的指挥官** | 一个人指挥一群智能体员工,产出放大十倍、几十倍 | 公司里最有价值的人,提拔加薪 |
+| 2 | **不可替代的「人对人」工作者** | 咨询、大客户经营、冲突解决 —— 靠信任和温度把事办成 | **占比最大**,价值不降反升 |
+| 3 | **「橡皮图章」岗位** | 还在签字确认,但早已不做真正判断 | ⚠️ 陷阱。CEO 一旦发现可有可无,立刻消失 |
+| 4 | **被淹没的执行者** | 规则清晰、可预测的认知劳动,且拒绝转变 | 被机器替代 |
+
+讲授要点:
+
+- **第二种容易被低估。** 学员普遍认为「只有会用 AI 才安全」,但书里说占比最大的恰恰是人对人的工作。这一点讲完,现场气氛会明显松一口气,然后再被第三种结局重新拎起来。
+- **第三种最危险,因为它看起来最安全。** 还在流程里、还在签字、还有事做,但价值已经空了。
+- **不要讲成裁员预告。** 书里明确说了:展示四种结局不是为了做裁员名单,而是回答一个问题 ——「你愿意花多大代价,让第三、四种人转向第一、二种?」
+
+### 3. 现场自评(10 分钟)
+
+发一张卡片,四行:
+
+```
+我目前主要是第 ___ 种
+证据是:______(写一件上周真实发生的事)
+如果保持现状,一年后我会在:______
+我想去的方向是:______
+```
+
+**要求写「证据」这一步不能省。** 不写具体事件,学员会给自己一个体面的答案。
+
+### 4. 小组讨论(20 分钟)
+
+三人一组,每人念自己的卡片,另外两人只问一个问题:**「你说的那个方向,需要你现在开始做什么?」**
+
+讲师巡场,挑 2 个典型上台分享(一个想去当指挥官但完全没动手,一个已经在做人对人的事但没意识到自己是对的)。
+
+### 5. 收束(10 分钟)
+
+回扣开头那句话,然后给一个动作:
+
+> 90 天内,做一件能证明你在往目标结局走的事。不用大,要具体到能被别人看见。
+
+## 使用素材
+
+- 四种结局原文表述:`sources/AI未来已来-李开复.md`(第 9 章,p148–150)
+- 上下文(组织为什么要重塑):`topics/企业AI转型为什么失败.md`
+
+## 常见卡点
+
+| 学员反应 | 应对 |
+|---|---|
+| 「我就是第四种,没救了」 | 强调第二种占比最大,且转型不需要天赋,需要的是换一件事做 |
+| 「我早就在用 AI 了」 | 追问:你是自己用得快,还是让智能体替你干活?前者是效率,后者才是指挥官 |
+| 「公司不给资源」 | 转成管理话题:这正是 [[企业AI转型为什么失败]] 里的「口袋否决」,可以顺势讲中层那一段 |
+| 全场沉默 | 大概率是怕暴露短板。改成匿名写卡片收上来念,效果立刻不同 |

+ 4 - 3
10-知识库/modules/_index.md

@@ -1,6 +1,7 @@
 # 课程模块索引
 
-> 自动生成于 2026-11-04T18:30:38+08:00,共 0 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
-
-_(暂无内容)_
+> 自动生成于 2026-11-04T20:10:25+08:00,共 1 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
 
+| 页面 | 一句话 | 标签 | 源数 | 更新 | 状态 |
+|---|---|---|---|---|---|
+| [M9 个人贡献者的四种结局](modules/M9-个人贡献者的四种结局.md) | 用四种结局让学员自我定位,引发转变意愿,60 分钟 | 模块, 个人成长, 组织 | 1 | 2026-11-04 | active |

+ 70 - 0
10-知识库/sources/AI未来已来-李开复.md

@@ -0,0 +1,70 @@
+---
+id: "src_aiweilai"
+type: "source"
+title: "AI未来已来:CEO、组织、个人的时代红利"
+summary: "李开复 2026 年新书,讲企业 AI 转型为什么失败、该怎么改组织"
+evidence: "C"
+tags:
+  - "行业"
+  - "企业转型"
+  - "组织"
+  - "智能体"
+sources:
+  - "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf"
+related:
+  - "企业AI转型为什么失败"
+  - "DRI"
+status: "active"
+stale: false
+created: "2026-11-04"
+updated: "2026-11-04"
+---
+
+# AI未来已来:CEO、组织、个人的时代红利
+
+## 这是什么
+
+李开复 2026 年 7 月出版的书,人民邮电出版社与微信读书联合出品,微信读书特别版,184 页,10 章。
+定位是**给企业高管的 AI 转型实操手册**,不是技术科普。
+
+## 核心内容
+
+全书的骨架是一条因果链:
+
+1. **这是一场工业革命级的变革**(第 1 章)。麦迪森的「曲棍球杆曲线」:人类花近两千年才让人均收入涨四成,18 世纪末之后几乎垂直上升。AI 被放在同一量级上讨论。
+2. **技术拐点是机器学习**(第 2 章)。从「人把规则喂给机器」转向「机器从数据里自己找规律」,这是智能得以廉价化的前提。
+3. **形态拐点是智能体**(第 3 章)。从给答案的工具,变成能动手干活的执行者。
+4. **成本拐点**(第 4 章)。据作者测算,同等智能水平下 AI 推理成本两年降约 99.4%;斯坦福 HAI《2025 AI 指数报告》给出的数字是降幅超 99.6%。
+5. **所以企业转型大量失败**(第 5 章)。这是全书的问题核心 —— 见 [[企业AI转型为什么失败]]。
+6. **解法在组织不在技术**(第 6–8 章)。建 AI 决策中枢 → 给 CEO 装「老板 AI」→ 把公司交给 DRI(见 [[DRI]])。
+7. **落到个人**(第 9–10 章)。个人贡献者有四种结局;当机器擅长执行,人必须擅长判断(右脑大于左脑)。
+
+## 可引用原句
+
+> 「那么 AI 给你的财报带来了什么实质性变化?」我得到的回应往往是一阵尴尬的沉默。
+> —— 自序,一封泛黄的信
+
+> 招人的时间成本以月计,复制智能体以秒计。
+> —— 第 5 章
+
+> 你坐得越高,你就容易离真相越远。
+> —— 第 7 章
+
+## 对做课的价值
+
+这本书是本库目前**最适合支撑高管层课程**的素材,三个方向直接可用:
+
+| 课程方向 | 用哪部分 | 怎么用 |
+|---|---|---|
+| 企业 AI 转型诊断(面向 CEO/高管) | 第 5 章失败原因 + 第 6 章决策中枢 | 做成「转型成熟度自评表」,课前发给学员填 |
+| 中层管理者 AI 落地 | 第 8 章 DRI + 第 7 章老板 AI | 「谁对结果负责」这个点,中层最有共鸣 |
+| 个人 AI 能力升级 | 第 9 章四种结局 + 第 10 章判断力 | 适合公开课、训练营的收尾模块 |
+
+**开篇那个「尴尬的沉默」是极好的课程钩子。** 面对企业客户,先问一句「你们上了这么多 AI 工具,财报有变化吗」,比讲任何技术趋势都有效。
+
+## 证据说明
+
+本书整体定为 **C 级**(权威经验,非一手数据)。两点说明:
+
+- 作者的行业判断有分量,但它仍是**判断**,不是可复现的研究。讲课时应说「李开复认为」,不能说「数据显示」。
+- 书中引用的斯坦福 HAI《2025 AI 指数报告》是一手来源。**如果把那份原报告也收进库,这本书里的成本数据可以升到 B 级。** 这正是本库该做的事:顺着线索找原文。

+ 4 - 3
10-知识库/sources/_index.md

@@ -1,6 +1,7 @@
 # 来源页索引
 
-> 自动生成于 2026-11-04T18:30:38+08:00,共 0 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
-
-_(暂无内容)_
+> 自动生成于 2026-11-04T20:10:25+08:00,共 1 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
 
+| 页面 | 一句话 | 标签 | 源数 | 更新 | 状态 |
+|---|---|---|---|---|---|
+| [AI未来已来:CEO、组织、个人的时代红利](sources/AI未来已来-李开复.md) | 李开复 2026 年新书,讲企业 AI 转型为什么失败、该怎么改组织 | 行业, 企业转型, 组织, 智能体 | 1 | 2026-11-04 | active |

+ 4 - 3
10-知识库/topics/_index.md

@@ -1,6 +1,7 @@
 # 主题页索引
 
-> 自动生成于 2026-11-04T18:30:38+08:00,共 0 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
-
-_(暂无内容)_
+> 自动生成于 2026-11-04T20:10:25+08:00,共 1 条。请勿手改,改页面 frontmatter 后重跑 `kb.py graph`。
 
+| 页面 | 一句话 | 标签 | 源数 | 更新 | 状态 |
+|---|---|---|---|---|---|
+| [企业AI转型为什么失败](topics/企业AI转型为什么失败.md) | 钱花了没回报的三个根因:场景错位、口袋否决、KPI 错位 | 企业转型, 组织, 失败原因 | 1 | 2026-11-04 | active |

+ 85 - 0
10-知识库/topics/企业AI转型为什么失败.md

@@ -0,0 +1,85 @@
+---
+id: "tp_transfail"
+type: "topic"
+title: "企业AI转型为什么失败"
+summary: "钱花了没回报的三个根因:场景错位、口袋否决、KPI 错位"
+evidence: "C"
+tags:
+  - "企业转型"
+  - "组织"
+  - "失败原因"
+sources:
+  - "01-行业资料/AI未来已来-CEO·组织·个人的时代红利-李开复.pdf"
+related:
+  - "AI未来已来-李开复"
+  - "DRI"
+status: "active"
+stale: false
+created: "2026-11-04"
+updated: "2026-11-04"
+---
+
+# 企业AI转型为什么失败
+
+## 结论
+
+不是因为模型不够聪明,是因为**系统没接进真实的工作流**。而且越是有价值的场景,越推不动。
+
+这个判断如果是真的,那 AI 企业培训的卖点就不该是「教工具」,而应该是「帮客户找到那个推不动的场景」。
+
+## 现象:钱花了,价值没实现
+
+- 近九成企业在用 AI,但只有 **39%** 表示带来了实质性财务回报(EBIT 增长)。[^麦肯锡]
+- 企业内部自建 AI 的成功部署率约 **33%**,大约只有外部战略合作路线的一半。[^MIT]
+
+(两组数字均为《AI未来已来》第 5 章转述的麦肯锡与 MIT NANDA 调查。属二手引用,原始报告尚未入库,引用时请说「据书中引用的麦肯锡调查」。)
+
+## 三个根因
+
+### 一、场景错位:容易做的没价值,有价值的做不动
+
+| 特征 | 真正改善财报的场景<br>跨部门定价、供应链优化、核心产品创新 | 容易部署的场景<br>会议纪要、文案初稿、内部问答 |
+|---|---|---|
+| 对损益表的影响 | 大 | 可忽略不计 |
+| 落地门槛 | 高 | 低 |
+| 牵涉利益方 | 多 | 少 |
+| 实际投入 | 少 | **绝大多数企业的钱花在这里** |
+
+这就是 MIT NANDA 说的「学习鸿沟」:模型跑起来不难,难的是让它吸收真实的业务反馈。沉淀不了操作经验,它就不会随业务一起变好。
+
+### 二、口袋否决:中层不会说「不」,但能让它消失
+
+书里给了一个很准的词:**口袋否决(Pocket Veto)**。负责人当面点头、会上同意,散会后把任务塞进口袋,让它在日常事务里没了下文。这种否定不留可追责的痕迹,因为从来没人明确说过「不」。
+
+为什么中层会这样:
+- 怕做错担责任,拖一拖最安全
+- 团队规模是权力和级别的象征,AI 落地可能意味着精简
+- 自己不懂 AI,怕被边缘化
+
+**这一条对做课最有用。** 培训如果只面对高层,落地时全部卡在中层;如果只面对基层,基层没有推动权限。中层是真正的主战场。
+
+### 三、KPI 错位:评估体系在奖励「表面成功」
+
+如果 CIO 的考核指标是「做出几个智能体、把使用率提上来」,那这套标准会**系统性地生产看起来成功、实际没价值的结果**。
+
+项目报告写得很漂亮,下一次财报电话会上,不会有真实的业绩增长。
+
+## 还有两个错误(待补)
+
+第 5 章提出「3 个错误,且总是同时出现」,目前确认的是第一条:**把 AI 转型全权交给 CIO**(应当 CEO 亲自抓)。另外两条本章后文有论述,尚未提取,标待补。
+
+> 待补不是偷懒。宁可留空,也不要凭标题猜内容 —— 那会让整页的可信度打折。
+
+## 对做课的价值
+
+这一页可以直接变成**面向高管的第一模块**,因为它是「先扎心,再给方案」:
+
+1. 开场问:「你们上了这么多 AI 工具,财报有变化吗?」(书的自序里,CEO 们的反应是一阵沉默)
+2. 给出 39% 和 33% 两个数字,说明这是行业普遍问题,不是他一家
+3. 讲三个根因,让高管自己对照
+4. 自然过渡到「那该怎么办」→ [[DRI]]
+
+**诊断工具思路**:把三个根因做成 9 道题的自评表(每个根因 3 题),课前发给学员,课上按分数分组讨论。这比讲 PPT 有效得多。
+
+[^麦肯锡]: 见《AI未来已来》第 5 章「钱花了,价值却没实现」一节引用的麦肯锡调查。
+[^MIT]: 同上,引自麻省理工学院 NANDA 项目《生成式 AI 鸿沟:2025 年商业人工智能现状报告》。

+ 106 - 1
90-工具/kb.py

@@ -831,6 +831,100 @@ def cmd_pull(args):
     return 0
 
 
+# ---------------------------------------------------------------- stash
+
+SOURCE_LABEL = {
+    "gzh": "微信公众号", "ima": "IMA 知识库", "web": "网页",
+    "feishu": "飞书文档", "yuque": "语雀", "notion": "Notion",
+    "pdf": "PDF 文件", "doc": "文档", "video": "视频转写",
+    "audio": "音频转写", "chat": "聊天记录", "other": "其他",
+}
+# 外部来源默认证据等级的建议(真正定级由 kb-ingest 按内容判断)
+SOURCE_HINT = {
+    "gzh": "公众号属二手解读,默认 C 级。文章里若有可核验的一手数据且标了出处,可升 B",
+    "ima": "IMA 里的笔记是别人的加工品,默认 C 级。笔记里给出原始出处链接才可升 B",
+    "web": "按发布方定:官方一手渠道可到 A,媒体转述最多 B",
+    "feishu": "内部文档:会议纪要/访谈记录属一手,B 级;总结稿属二手,C 级",
+    "yuque": "同内部文档,按是否一手记录判定",
+    "notion": "同内部文档,按是否一手记录判定",
+    "video": "转写文本,按说话人身份判定;讲师经验 C 级,客户原话 B 级",
+    "audio": "转写文本,按说话人身份判定",
+    "chat": "聊天记录属一手,但碎片化,B 级",
+    "other": "按内容性质自行判定",
+}
+
+
+def cmd_stash(args):
+    """把外部抓来的内容规范落盘到原材料目录。
+
+    外部来源(公众号、IMA、网页)不能直接进知识库 —— 页面回滚靠 sources 里的
+    相对路径,内容必须先是磁盘上的一个文件。这个命令负责把「抓来的东西」变成
+    「一个带来源信息的原材料文件」。
+    """
+    body = ""
+    if args.body_file:
+        bp = Path(args.body_file)
+        if not bp.exists():
+            print(f"[ERR] 正文文件不存在:{bp}")
+            return 1
+        body = bp.read_text(encoding="utf-8", errors="replace")
+    elif not sys.stdin.isatty():
+        body = sys.stdin.read()
+    body = body.strip()
+    if not body:
+        print("[ERR] 没有正文。用 --body-file <文件> 或通过管道传入:")
+        print("      cat article.md | python kb.py stash --title \"...\" --type gzh")
+        return 1
+
+    title = (args.title or "").strip()
+    if not title:                      # 没给标题就从正文第一个 H1 里取
+        m = re.search(r"^#\s+(.+)$", body, re.M)
+        title = m.group(1).strip() if m else "未命名"
+    # 正文开头已有同名 H1 就去掉,避免重复
+    head = f"# {title}"
+    if body.startswith(head):
+        rest = body[len(head):]
+        if rest.startswith("\n") or not rest.strip():
+            body = rest.lstrip("\n").strip()
+
+    date = args.date or datetime.now(CST).strftime("%Y-%m-%d")
+    typ = args.type
+    if typ not in SOURCE_LABEL:
+        print(f"[!] 未知类型 {typ},按 other 处理。可选:{', '.join(SOURCE_LABEL)}")
+        typ = "other"
+
+    dest = RAW / (args.dest or "_inbox")
+    dest.mkdir(parents=True, exist_ok=True)
+    slug = re.sub(r'[\\/:*?"<>|、,。!?\s]+', "-", title).strip("-")[:48] or "untitled"
+    p = dest / f"{date}-{typ}-{slug}.md"
+    n = 2
+    while p.exists():
+        p = dest / f"{date}-{typ}-{slug}-{n}.md"
+        n += 1
+
+    meta = [f"<!-- 来源: {SOURCE_LABEL[typ]}{'「' + args.author + '」' if args.author else ''} -->"]
+    if args.author:
+        meta.append(f"<!-- 作者: {args.author} -->")
+    if args.url:
+        meta.append(f"<!-- 原链接: {args.url} -->")
+    if args.archive:
+        meta.append(f"<!-- 存档: {args.archive} -->")
+    meta.append(f"<!-- 抓取时间: {datetime.now(CST).strftime('%Y-%m-%d %H:%M')} -->")
+    meta.append(f"<!-- 证据提示: {SOURCE_HINT.get(typ, SOURCE_HINT['other'])} -->")
+
+    p.write_text("\n".join(meta) + f"\n\n# {title}\n\n{body}\n", encoding="utf-8")
+
+    rel = p.relative_to(RAW).as_posix()
+    print(f"[OK] 已落盘:{rel}({len(body)} 字)")
+    if not args.url:
+        print("  ⚠️ 没记原链接。将来引用这句话时,无法回溯到原文出处。")
+    if typ in ("gzh", "web") and not args.archive:
+        print(f"  ⚠️ 没做网页存档。公众号和网页会失效,建议先存一份:")
+        print(f"     https://web.archive.org/save/{args.url or '<原链接>'}")
+    print("\n  下一步:跑一次同步把它整理进知识库(说「同步知识库」即可)")
+    return 0
+
+
 # ---------------------------------------------------------------- repair
 
 def cmd_repair(args):
@@ -951,6 +1045,17 @@ def main():
 
     sub.add_parser("repair", help="从磁盘和页面反推 manifest(git 冲突后用)")
 
+    st = sub.add_parser("stash", help="把外部抓来的内容规范落盘到原材料目录")
+    st.add_argument("--title", default="")
+    st.add_argument("--url", default="")
+    st.add_argument("--type", default="other",
+                    help="gzh/ima/web/feishu/yuque/notion/pdf/doc/video/audio/chat/other")
+    st.add_argument("--author", default="")
+    st.add_argument("--archive", default="", help="网页存档链接")
+    st.add_argument("--body-file", dest="body_file", default=None)
+    st.add_argument("--date", default=None)
+    st.add_argument("--dest", default="_inbox", help="落到哪个子目录,默认 _inbox")
+
     pl = sub.add_parser("pull", help="从远端拉最新并报告原材料变化")
     pl.add_argument("--remote", default=None)
     pl.add_argument("--force", action="store_true", help="工作区有改动也拉")
@@ -959,7 +1064,7 @@ def main():
     fn = {"status": cmd_status, "guide": cmd_guide, "scan": cmd_scan, "mark": cmd_mark,
           "retract": cmd_retract, "move": cmd_move, "graph": cmd_graph,
           "lint": cmd_lint, "check": cmd_check, "repair": cmd_repair,
-          "pull": cmd_pull}.get(args.cmd)
+          "pull": cmd_pull, "stash": cmd_stash}.get(args.cmd)
     if not fn:
         ap.print_help()
         return 0