跳转至

AI Coding 的底层框架:一切优化都是在对抗熵增——信息论视角

Ch09.144 AI Coding 的底层框架:一切优化都是在对抗熵增——信息论视角

📊 Level ⭐⭐ | 6.5KB | entities/ai-coding-entropy-framework-baidu-geek-2026.md

核心概述

用信息论三个概念(熵、条件熵、互信息)统一解释 AI Coding 的所有优化手段:一切优化都是在对抗熵增——让模型少猜一点,让真实约束多暴露一点。Context Engineering、RAG、记忆、SDD、Harness Engineering 都可以放到同一个坐标系里看。

原文存档

信息论三概念 → AI Coding 映射

概念 公式 AI Coding 含义
熵 H(X) 不确定性度量 目标越模糊,可能性空间越大("写一个登录函数"熵很高)
条件熵 H(Y|X) 已知 X 后 Y 的剩余不确定性 模型看完上下文后还需自己猜的部分
互信息 I(X;Y) 观测 X 获得的关于 Y 的信息 上下文排除错误方向、减少模型自由发挥空间的能力

核心公式:AI Coding 质量 ∝ I(X;Y)/|Context|(信息密度) + H(Q,P)(模型-业务差距)的最小化

上下文不神奇——有用是因为它能排除错误方向。RAG 的逻辑:不是把知识库塞给模型,而是找到与当前任务互信息最高的片段。

两个现实修正

修正一:低熵 ≠ 正确(模型自信度 vs 正确性)

模型在自己的分布 P 下对某输出概率很高时会显得很笃定(低熵),但你的仓库里的真实规则不一定在训练分布里。模型自信地调用 userClient.getProfile(),但你的项目里真实存在的是 profileService.fetchByUid() 还必须带灰度参数。

低熵更像模型的自信度,不等于正确性。

修正二:交叉熵 H(Q,P) 才是更关键的问题

模型分布 P(训练先验)和真实业务分布 Q(私有仓库 + 业务约定 + 运行环境 + 团队经验 + 历史包袱)的差距用交叉熵衡量。很多 AI Coding 失败不是模型输出发散,而是太自信地遵循了另一个世界的规则

复杂历史业务难做的根本原因:真实约束藏在私有代码和团队经验里,模型先验来自公开语料。P 和 Q 差距越大,越不能指望模型靠猜补齐。

覆盖层 vs 填补层

  • 覆盖层:上下文能覆盖的部分——可通过工程手段(RAG、记忆、SDD)提高信息密度
  • 填补层:上下文覆盖不到、模型必须靠猜的部分——需要缩小 P 和 Q 差距,或让人介入

AI 最容易出问题的地方,通常就在填补层。

四个经典问题的回答

Q1. Context Engineering vs RAG vs 记忆

都在做同一件事的不同切面:提高覆盖层的信息密度。RAG 找互信息最高的片段;记忆存犯错记录和业务约定;Context Engineering 组织输入结构。记忆系统竞争力不在于存了多少,在于每次能否召回少量高密度信息。

Q2. 历史业务为什么总翻车

双重困境:隐性规则无法进入上下文(I(X;Y) 对最关键约束几乎为零)+ 模型先验 P 和业务真实分布 Q 差距大(H(Q,P) 很高)。真正困难的不是让模型写代码,而是让模型知道哪些地方不能按通用经验写

Q3. Agent 能不能只给需求文档完成交付

数据处理不等式:信息经过多步处理只会损耗不会增加。需求文档里没表达的意图,Agent 在后续步骤中无法恢复。填补层的缺口——那些从未被表达出来的业务意图——是自动化真正的边界。

Q4. 记忆越多越准还是越走神

召回太多低相关记忆会稀释有用信号;召回过期记忆会把模型推到旧规则上。过期记忆属于填补层的污染,比低密度信息危害更大。

Harness Engineering 的信息论解释

Harness = 计划分解 + 状态管理 + 工具编排 + 验证门控 + 反馈回路 + 回退机制 + 人机交接点

用信息论看:Harness 不是简单给模型更多上下文,而是在每一轮生成后把真实世界的约束不断显性化。Prompt 只在一次调用前,Harness 关心多轮行动里的信息流、验证流和状态流。

边界:业务直觉、架构审美、跨系统潜在耦合——没法完全写成自动测试。Harness 能把一部分隐性 Q 转成可执行约束,但不能替人恢复从未被表达出来的意图。

核心金句

衡量 Agent 系统的关键不是模型会不会写代码,而是:它有没有办法识别哪些缺口是可以自动弥补的,哪些必须升级给人。 记忆系统的竞争力不在于存了多少,而在于每次能不能召回少量高密度信息。

关联