# AI需要明确的信息

# AI 需要明确的信息

> 它擅长什么、为什么、边界在哪

**背景**：AI 写代码这类「明确、定义清楚」的活又快又稳，碰到模糊的事就时灵时不灵。
**疑问**：它擅长的到底是「编程」，还是背后更一般的东西？本质是什么？该把任务改成什么样？边界又在哪？

##### 论点：AI 不真创新，只是在「它的内嵌空间」和「你的要求」之间取一个最优中点。要求越明确，中点越被拉到你要的那个点上——这就是它为什么需要明确的信息；而当要求拴不上、残差扛不住、或样本不够密时，中点拉不动，那就是它的边界

#### 一、AI 擅长「明确、定义类」的问题——代码是典型

1. 在明确、定义清楚的活上，AI 又快又稳；越模糊越时灵时不灵
2. 代码是把「明确」推到极致的场景，所以成了它的主场
3. 但要追问的是本质：它真正擅长的是「明确」这件事，**编程只是最足的例子**

#### 二、代码为什么这么「明确」

1. 天生**严格、非常具体**——每个符号意思唯一，没有「看语气」的余地
2. **信息层级比自然语言低，所有信息都是字面的**——写什么就是什么，不用读言外之意
3. 因为是**给机器和人类高度维护**的，所以天然设计合理、不含很复杂的信息——看不懂的早被改掉了
4. 反例是**汇编**：信息层级高，就难看懂了

> **补充（我编的例子）：同一段「求和」，三种写法**

**① 高级代码——意图写在脸上，要补的隐含信息为 0：**

```c
int sum(int *a, int n) {
    int total = 0;
    for (int i = 0; i < n; i++) total += a[i];
    return total;
}
```

**② 汇编——一样严格、一样字面，但「在求和」被编译没了：**

```asm
sub_4011a0:
    xor   eax, eax
    xor   ecx, ecx
    test  esi, esi
    jle   loc_4011b8
loc_4011ac:
    add   eax, [rdi + rcx*4]
    inc   ecx
    cmp   ecx, esi
    jl    loc_4011ac
loc_4011b8:
    ret
```

`rdi` 是数组、`eax` 是累加器、`*4` 说明是 int、整段是个求和循环——全得从寄存器和调用约定里**倒推**。

**③ 反编译器吐出来的——名字是它编的（`param_1`、`iVar1`），逆向工程的本质就是猜意图。**

> **补充：这个例子证明了什么**

1. **严格 ≠ 低层级**：汇编严格得要命照样难懂——难懂不来自严格，来自「意图在不在面上」

   | <br /> | 严格（符号意思唯一） | 意图在不在面上 |
   | - | - | - |
   | 高级代码 | 是 | 在 → 低层级 |
   | 汇编 | **是** | 被编译没了 → **高层级** |
   | 自然语言 | 否 | 藏在言外 → 高层级 |
2. 编译「代码→汇编」不用猜，却销毁了意图；反编译「汇编→意图」要猜——**高层级 = 信息被销毁、得靠猜补回来**
3. 代码天生低层级，是「**有人非得读它**」筛出来的；没人维护的生成代码、混淆代码，照样能高到像汇编

#### 三、本质：AI 只是在「内嵌空间」和「你的要求」之间取最优中点

1. **LLM 不具有真正的创新，只是在内嵌的空间和你的要求之间取一个最优中点**
2. 这不代表它没有智能——只是需要更复杂一点的状态表示和计算过程

> **补充：你那张涂鸦，逐行解读**

```
无提示   |               |   输出 |AAABBBCCCDDDEEE|
提示     |   |   |   |   |   输出 |AAA|AAA|AAA|AAA|
提示     |       |       |   输出 |AAABBBC|AAABBBC|
提示     |     |             输出 |ABCDE|
```

* 无提示 → `AAABBBCCCDDDEEE`：没有约束，中点回落到内嵌空间的中心，吐出大块大块的均质默认

* 约束变密 → 中点被切细、被往「要求」那边拉

* 约束细到位 → `ABCDE`：中点正落在你要的精确目标上

* 一句话：**输出不是它凭空造的，是「它的中心」被「你的约束」拉出来的**

#### 四、推论：所以 AI 需要明确的信息

1. 你的「要求」就是把中点往你这边拉的**绳**——每多一个明确约束，中点就更贴你的真实意图一点
2. 不给够要求，中点必然滑回内嵌空间中心，而那中心几乎不可能恰好是你要的点——所以「明确信息」不是可有可无，是**结构决定的**

> **补充：两个副产品 + 这跟代码无关**

* **偏**：中点一松手就回到「所有人的平均」，不是你的特例

* **飘**：约束松时「符合要求」的是一小片、不是一个点，落哪看措辞和运气；约束收紧才缩成一个点、才稳

* 换成完全不是代码的活，规律一模一样——只看「要求明不明确」，不看「是不是编程」：

  | 要求明确（中点拉得准） | 要求含糊（中点滑回平均） |
  | - | - |
  | 填字段写明的表格 | 从「随便弄弄」里猜你要啥 |
  | 按术语表翻译手册 | 翻一首全靠言外之意的诗 |
  | 发票按金额日期归类 | 判断邮件是不是在阴阳怪气 |
  | 条件给全的数学题 | 「公司该不该转型」 |

#### 五、那就把任务改成「要求明确」的样子

1. **把中点拉到你要的地方**：内容、结构、状态，三样都别留给它自己填

   1. 内容：你觉得「不言自明」的，全写到字面上
   2. 结构：现成的提纲、接口、目录摆出来；复杂的先拆好、起名再交
   3. 状态：每步该用的重新摆到眼前，别指望它在长对话里自己记
2. **兜住中点的残差**（它永远不是 100%）

   1. 切小步、每步当场验，错就停在这步——补充：意思一层叠一层时错会相乘（每步九成五、叠二十步只剩三成六），切开就不会
   2. 接口说死、中间结果落到纸面，坏了一眼看出是哪步
   3. 补充（最要紧）：字面的错一眼能验，藏在层里的错验起来跟重做一样贵、于是没人查——所以 AI 最危险的产出，是「看着对、能跑」的那种

#### 六、AI 的边界——中点拉不动、或不够用的地方

你把根本原因记成两条：「准确率 99 和 90」「任务的抽象等级和样本数量的对比」。顺中点模型看，是三道闸：

1. **第一道·绳拴不拴得上**：答案要么只在你脑里是个「一看就知道对」的手感（品味）、写不成约束；要么压根还没成形（战略、对没定数局面的判断）、没有点可拴。拴不上，中点停在中心，「说得更明白」也救不了
2. **第二道·任务容不容忍残差**（你的「99 vs 90」）：中点不是精确命中、总有残差

   1. **成**：作词、作诗、各种视频/图像的创作与修改（关羽弹吉他、刘备拿麦克风、名人虚构照片）——90% 就够，错点无所谓甚至有趣
   2. **不成**：自动驾驶、人形机器人服务人类——90% 是灾难，99% 都不够
   3. 这道闸不看「AI 会不会」，看「任务容不容错」
3. **第三道·样本够不够密**（你的「抽象等级 vs 样本量」）：中点准不准，看你这个点附近学得密不密

   1. 抽象低 + 样本多（代码、常见文案）→ 插得准
   2. 抽象高 + 样本稀（独有的判断、长尾专业）→ 从老远硬插、残差大
   3. **不确定·VLA**：理论可行，但端到端对数据量/算力要求极高（视觉给全信息、语言作决策中心、执行器把语言翻成运动控制）——就是那片空间还没填密、中点还插不准
4. **合起来**：能不能交给 AI = 三道闸的交集；而「明确信息」只开得了第一道，第二、三道（容错、样本密度）不是你一句话能改的

   1. 补充（为什么第三种是「天生」边界）：汇编还能反编译，因为意图曾经存在；战略反编译不了，因为答案压根不存在——所以这条边界不随模型变强而后退，该由人扛，要担责的也是人

#### 所以，怎么用好 AI？

别问「这活是不是编程」，问「我能不能把要求说明白」。说得明白、拆得清楚、每步验得了，中点就落在你要的地方；剩下那些拴不上绳、或零容错、或没样本的，自己接过来。