04-从模型到行动
从模型到行动——思考为什么必须经过选择与决策
思考产生的是可能性,决策负责从可能性中选择行动。没有选择的思考可能只是分析;没有行动的决策只是计划。本篇展开「选择与决策」的完整机制:为什么必须有选择、决策需要哪些依据(目标/标准/约束/成本/风险/经验)、决策本质上是在缩小可能空间、信息不足时最好的决策是继续寻找信息、验证会重新进入决策循环,以及「智能」为什么是在不确定性中继续运行的能力。
一、思考不是直接得到一个答案
角色掉进坑里。当前信息:位置=坑底,目标=继续向右,前方=墙,上方=平台。
已有模型给出多种可能:
1 | 方案 A:直接跳 |
到这一步,问题还没解决。因为:
思考产生的是可能性,决策负责从可能性中选择行动。
二、思考与决策解决的是不同问题
1 | 思考:「有哪些可能?」 |
1 | 问题 → 分析 → 发现多个方案 → 比较方案 → 选择方案 → 执行 |
没有选择的思考可能只是分析;没有行动的决策只是计划。 三个阶段解决三个不同的问题,不能混为一谈。
三、为什么必须有选择
现实中的问题很少是「问题 → 唯一答案」,而是:
1 | 问题 → 多个可能方案(A / B / C / D) |
UI 设计:「如何告诉用户文件正在上传?」
1 | A:进度条 |
每个都可能有效。于是问题不再是「什么方案存在?」,而是「当前目标和条件下,哪个方案更合适?」——这就是决策问题。只要存在多个可行方案,就必须选择。
四、决策需要依据
没有依据,只能在 A/B/C 之间随机选。决策必须连接到:
1 | 目标 / 标准 / 约束 / 成本 / 风险 / 经验 / 当前状态 |
1 | 候选方案 |
决策不是凭空选择,而是依据模型中的关系对候选方案进行筛选。
五、目标决定「什么叫好」
「设计上传 UI」——先要问:目标是什么?
1 | 目标 A:用户最快知道上传开始了 → 文字提示最快 |
没有目标,就无法比较方案。 目标决定「好」的定义——同一个方案,在不同目标下可能是最好或最差。
六、标准决定如何比较
目标是「什么叫好」,标准是「怎么比较两个方案」:
1 | 目标:让用户最快知道上传开始 |
1 | 方案 A 到达时间 0.1s,可见性高 |
标准把「好」变成可比较的维度。 没有标准,「哪个更好」只能凭感觉。
七、约束决定哪些方案根本不能选
约束与标准不同——约束直接砍掉方案:
1 | 标准:比较剩下方案的优劣 |
1 | 方案 E:需要用户升级硬件 → 约束:不能要求用户升级 → 排除 |
约束回答「哪些不能选」,标准回答「剩下的哪个好」,目标回答「好是什么意思」。 三者作用不同、顺序不同:先约束过滤,再按标准比较,而标准的定义来自目标。
八、但「决策在约束之前还是之后」并不是绝对的
理想顺序:先约束过滤,再标准比较。但现实中两者相互交织:
1 | 初步方案 → 发现约束 → 调整目标/方案 → 新约束 → 再调整 |
约束可能反过来暴露目标的不可行(「这个目标在现有约束下做不到」),于是需要调整目标本身。决策不是一个单次过滤,而是一个目标、约束、方案相互调整的过程。
九、决策本质上是在缩小可能空间
1 | 所有可能方案(很大的空间) |
决策 = 逐步缩小可能空间,直到能行动。这个视角统一了所有决策——小到选方案,大到智能体在状态空间中搜索路径。
十、选择并不意味着「找到绝对正确答案」
大多数决策没有唯一正确答案,只有「在当前目标、标准、约束下更合适的选择」。
1 | 方案 A、B 都可行,只是权衡不同 |
决策的产物是「在当前条件下的选择」,不是「绝对正确的答案」。 把决策当成找唯一正确答案,反而会卡在选择上无法行动。
十一、信息不足时,最好的决策可能是「继续寻找信息」
1 | 问题 → 分析 → 发现信息不足 → 寻找信息 → 获得新信息 → 重新分析 → 决策 |
「继续寻找信息」本身就是一个合法的决策——当信息不足导致无法分辨方案优劣时,强行决策只是赌博。
判断「我现在知道得够不够?」的能力,与知道答案同样重要。 一个拥有大量知识但不会判断信息充足性的系统,可能表现得很差。
十二、这解释了为什么「智能」不是单纯回答问题
真正解决问题的系统能发现:
「我现在缺少决定所需要的信息。」
于是它去获取信息,而不是强行回答。智能的一部分是知道自己不知道什么,并据此决定下一步——继续找信息、还是现在做决定。
十三、线索在这里变得更加重要
1 | 线索 → 激活模型 → 分析问题 → 发现缺失信息 → 寻找新线索 |
信息检索不是独立过程,它嵌入思考:
1 | 思考 → 发现未知 → 检索 → 新信息 → 思考 |
形成「思考 ↔ 检索」的循环。线索的价值在决策阶段被放大——线索决定去哪找信息,找来的信息决定能否决策。
十四、Code Agent 的工作方式也可以这样理解
「修复这个项目的登录问题」:
1 | 建立当前模型:项目结构 → 入口 → 登录流程 → 相关模块 → 错误位置 |
Code Agent 的核心循环 = 当前状态 → 理解 → 分析 → 发现未知 → 寻找信息 → 更新模型 → 产生候选 → 选择 → 行动 → 验证。 这正是本篇讲的「思考 → 决策 → 行动 → 反馈」在真实工程中的样子。
十五、验证实际上是在重新进入决策循环
行动之后验证,不是结束:
1 | 行动 → 实际状态变化 → 与预期比较 |
验证 = 检查状态是否发生了预期变化,并据此重新进入决策循环。 一次验证通过不意味着决策结束——它只是确认了「当前选择在当前条件下成立」。
十六、经验就是循环压缩后的决策路径
新手决策慢:每次都要完整走「目标→标准→约束→比较」。
重复多次后:
1 | 现象 → 经验 → 快速定位 → 直接验证 |
经验 = 多次决策循环后压缩下来的「现象 → 路径」映射。 它让常见情况不必重新展开完整决策过程——这正是 09-认知与语言/03 讲的经验加速,这里补上了「经验从哪来」:从决策循环里压缩出来。
十七、模型负责解释,经验负责加速
1 | 模型:解释「为什么这样会那样」(结构,可推理) |
模型给决策提供依据(为什么选 A);经验给决策提供捷径(上次这种情况选了 A 有效)。决策既需要模型的解释力,也需要经验的加速度。
十八、规则可以约束思考,经验可以引导思考
1 | 规则:明确的「如果……那么……」→ 约束什么情况可以怎样 |
规则强但范围窄(明确条件才成立);经验广但可能出错(过去成立不等于永远成立)。决策时两者互补:规则砍掉明确不可行的,经验引导候选的方向。
十九、决策实际上连接了「认识世界」和「改变世界」
1 | 认识世界:理解 → 建模 → 分析 |
决策是「认识世界」与「改变世界」之间的桥——没有决策,理解永远停留在认识;有了决策,认识才转化为行动,行动才改变状态。
二十、这也是设计与工程的核心
设计与工程本质上都是决策:
1 | 设计:面对需求 → 多个方案 → 目标/标准/约束 → 选择架构/接口/数据结构 |
设计的每一步都是一次决策——选分层、选接口、选数据结构,都是「从多个可能中选择一个」。这也是为什么设计要先明确目标、标准、约束(06-设计/01)——它们就是决策的依据。
二十一、选择之后,系统才真正开始运行
1 | 决策 → 行动 → 系统运行 → 状态变化 → 验证 → 反馈 |
决策之前是可能性空间;决策之后是实际运行。运行产生的真实状态变化,反馈回模型,修正下一轮决策的依据——这进入 09-认知与语言/06(从状态到系统)的主题。
二十二、最终的智能循环
1 | 输入 → 理解 → 发现自己知道什么 → 发现自己不知道什么 |
结语:智能不是「知道答案」,而是能够在不确定性中继续运行
一个简单系统:输入 → 答案——只能处理定义好的问题。
一个复杂系统:
1 | 输入 → 理解 → 发现未知 → 找信息 → 建立模型 → 产生多个可能 |
它面对的不仅是「我有没有答案?」,而是「在当前状态、当前信息和当前目标下,我下一步应该做什么?」
智能不是拥有所有信息,而是在信息永远不完整的情况下,利用已有模型和线索不断缩小未知空间,进行选择、行动、验证,并根据结果继续更新。
与其他线的关系
1 | 本线 ←→ 从模型到思考(09-认知与语言/03) |
收束
1 | 思考与决策解决不同问题: |
思考产生可能性,决策从可能性中选择行动,行动让系统运行,运行产生状态变化,验证把变化反馈回下一轮决策——这就是「从模型到行动」的完整循环。
