
引言计算机科学里很多计算问题都可以抽象为一个函数。程序是函数AI 模型也是函数。区别在于函数的定义方式程序函数开发者手动写下每一行规则输入确定、输出确定AI 函数从海量数据中学习映射关系输入模糊、输出概率分布这两种函数对应的解空间solution space截然不同。解空间一个函数所有可能输出的集合。add(a, b)的解空间是所有整数对的和一个 LLM 的解空间是所有可能的 token 序列。一、两种函数世界观维度程序函数AI 函数输入形式结构化、确定的自然语言、模糊的输出形式唯一确定的概率分布的采样可靠性100% 可复现默认不可复现采样模式容错性零容忍可容忍覆盖能力手写规则覆盖从数据中学习覆盖开发成本写规则费人训练/推理费算力二、AI 的解空间困境AI 的输出来自概率分布这意味着它在解空间里做的是采样不是求解。当需求是写一首关于秋天的诗解空间里有无数种可能随便采样一个都可行——输出容忍度高体验好。当需求是按这个 JSON Schema 返回三个字段第二个字段必须枚举第三个字段不能为空字符串——解空间中符合这些条件的子集很小采样命中率低。哪怕提示词写得再清楚模型仍可能给出缺字段的 JSON。这不是模型能力问题是概率采样的本性。三、程序的确定性世界与 AI 相对程序的特性defis_valid_email(email:str)-bool:ifnotinemail:returnFalselocal,domainemail.rsplit(,1)returnlen(local)0and.indomain这个函数的控制流完全确定否是是否email 输入 存在返回 False分割 localdomainlocal 非空且域名含点返回 True返回 False可靠同样的输入永远同样的输出可验证写个测试就能验证正确性代价是必须事先穷举所有可能性。空字符串传进来、缺少符号、域名不带点——每一条都要处理。程序是把确定性知识固化为代码解空间虽小但必须事先穷举所有边界条件。正是这个代价让 AI 写代码有了意义——程序负责收敛AI 负责拓展。四、为什么 AI 在卷代码代码有一个其他领域没有的特性——编译器 测试构成自动化验证机制。这个循环中验证者是编译器 测试不是人。编译器 收敛器——将 AI 的广阔解空间压缩到能编译通过的子集。测试函数再进一步压缩到逻辑正确的子集。编译器测试AI 的解空间广阔能编译通过的代码很小能跑对逻辑的代码更小AI 公司卷代码不是因为代码比写文章高级而是因为代码有自动化的收敛机制可以把 AI 的模糊输出约束到可验证的确定区域。这是少数几个能用程序自动兜住 AI 输出质量的领域之一。非代码领域缺乏自动收敛领域验证方式能否自动化编程编译器 测试完全自动写作语法检查 事实核查部分自动设计视觉一致性检查有限自动医疗临床验证需要人法律合规审查部分自动缺乏自动化收敛机制这些领域难以复现代码的飞轮。写作领域的实践起草轻松校对才是瓶颈最近用 Agent 写了不少正式文档。真实体感是两半的起草确实轻松了校对没有。我的流程已经是多层收敛Agent 起草 → 派上下文隔离的子 Agent 按清单独立校对轻微问题自动修正、严重问题出报告 → 最后我人工终审。即便这样成稿仍然来回改了很多轮而且不少问题不是子 Agent 抓出来的是我自己看出来的惯例偏差表格顺序、要素构成不符合同类既有文档的惯例——惯例存在于参考文档和人的经验里不在任何机器可查的规则里审核清单自然覆盖不到表达歧义一个我觉得迷惑的短语子 Agent 每轮都理解了并照改只是理解得和我不一样来回三轮才落到我想要的表述口径残留数据源里的口径标注被原样搬进正文机器觉得没问题人一眼觉得别扭为什么校对收敛不了回到解空间视角就清楚了。代码的验证是判定编译器和测试对就是对、错就是错通过或不通过而且可以无限次重试。写作的验证是评价不存在错误这个二值判断只有是否符合作者还没完全说清楚的意图。子 Agent 校对能查的是可枚举的维度错别字、格式、数字对不对。但写作解空间里不合格不是可判定的子集——歧义、别扭、不符合惯例都没有形式化判据。最终验证器只能是人而且人常常也是看到输出才发现这不是我要的意图在看到结果之前连人自己都不完整。所以写作领域可以借代码的收敛思路模板、清单、独立审核把低级错误挡在人前面但做不到代码那样编译器兜底、人不用看。验证器从判定退化为评价才是写作和代码飞轮转速差距的根源。五、收敛工具箱Skill / MCP / Harness理解了收敛解空间这个命题Agent 领域的各种工具的本质就清晰了——它们从不同维度收缩 AI 的解空间。三个维度Skill — 约束行为模式Skill 定义遇到 X 场景用 Y 方法。name:github-pr-workflowtrigger:用户要求处理 PRsteps:-1. 查看 PR diff-2. 运行测试-3. 逐文件审查-4. 提交 Review没有 SkillAgent 面对处理 PR可能先做其他事。Skill 把行为收缩到正确做 PR 审查子空间。收敛维度行为空间MCP — 标准化工具调用MCPModel Context Protocol是 Anthropic 提出的开放协议定义了 AI 模型与外部工具之间的标准化接口——类比 USB 接口统一了怎么连接、怎么传数据不决定能连谁、能干什么。外部工具MCP ServerMCP ClientAI Agent外部工具MCP ServerMCP ClientAI Agent调用 read_file(path)标准化 JSON-RPC 请求执行文件读取文件内容结构化响应返回数据MCP 解决的是互操作性问题工具提供商只需实现一次 MCP Server任何支持 MCP 的 Agent 都能直接调用。工具的授权策略由 Harness 层控制。收敛维度能力空间Harness — 约束安全边界Harness 是 Agent 的执行环境负责运行时安全兜底敏感信息过滤阻止 API Key 等凭据泄露操作确认危险操作需用户审批资源限制上下文窗口、Token 用量、执行时间授权策略声明 Agent 允许和禁止的操作审计日志所有操作可追溯收敛维度安全空间三者从三个不同维度协同收缩解空间维度收敛对象典型工具收缩效果Skill行为模式prompt 模板、workflow 定义自由发挥 → 按流程MCP能力边界工具定义、API 声明什么都能做 → 只能做这些Harness安全边界权限控制、资源限制可能闯祸 → 安全兜底三者互补从行为、能力、安全三个维度协同收缩解空间。六、实战原则模糊分流 确定兜底前面讲的是收敛工具箱这一节落到实操接到一个任务先把环节拆开——需要模糊理解、创意生成、灵活应对的环节交给 AI需要精确计算、格式校验、安全控制的环节交给程序兜底。需要模糊理解/创意生成/灵活应对需要精确计算/格式校验/安全控制某个环节交给 AI交给程序典型场景的分流配比场景AI占比AI 负责程序兜底理由搜索与摘要80%理解意图、提取重点、组织语言HTTP 搜索确定性操作核心价值在理解与生成表单与数据处理20%从自然语言识别意图和字段字段校验、格式转换、写入、异常处理准确性不可妥协代码生成50%根据需求写代码编译器 测试AI 出力多编译器把质量关文字写作70%理解意图、组织素材、起草成文模板校验、格式与事实核对、人工终审起草可交给 AI校对缺判定机制终审在人表中占比为示意值重点是分流的判断逻辑不是具体数字。配比不是固定的随着 AI 能力提升能交给 AI 的环节会越来越多。但判断哪些必须由程序兜底的标准始终不变——错了就会出大问题的环节必须由程序控制。七、飞轮效应将前六节的结论串联AI 生成代码编译器 测试 收敛解空间高质量的工具Skill / MCP / Harness工具增强 AI 的能力边界AI 可以生成更复杂的代码每转一圈AI 能干的事更多、更稳。总结AI 函数解空间广阔擅长模糊判断和创意生成但不精确程序函数解空间确定可靠听话但需要人事先穷举边界收敛机制Skill、MCP、Harness 从不同维度收缩 AI 的解空间AI 卷代码因为代码有自动化的收敛闭环编译器测试可以把 AI 的模糊输出约束到可验证的确定区域写作等其他领域收敛思路可以部分移植模板、清单、独立审核但验证从判定退化为评价校对无法像编译器那样兜底最终验证者仍是人飞轮效应AI 生成代码 → 代码变成工具 → 工具增强 AI → 循环加速