它怎么又给了不一样的答案?—— 从确定到概率
它怎么又给了不一样的答案—— 从确定到概率Coding 与 Agent驾驭 AI 的底层逻辑 · 第3篇“它怎么又给了不一样的答案”如果你用过 AI可能遇到过这样的困惑写代码时同样的提示词昨天生成的代码能跑今天生成的却报错同样的需求描述这次给了方案A下次给了方案B你想复现一个bug重新跑了一遍结果它又好了。用 Agent 时让它帮你整理邮件并标记重要任务今天标了 5 个明天同样的邮件却只标了 3 个同样的指令生成周报这次强调数据下次强调进展风格完全不一样。这不是你的问题也不是 API 的问题。这是 AI 和传统程序的本质区别 —— 它是概率系统不是确定系统。前两篇我们知道了 AI 的能力边界它既强大涌现又不可靠幻觉。今天我们来看为什么会有这个边界 —— 答案就藏在从确定到概率的转变中。理解了这个本质你就知道什么时候该用 AI什么时候别碰。AI 和传统程序到底哪里不一样传统程序你写的逻辑按规则执行functionadd(a, b){returna b;}add(2,3);// 永远是5你写的每一行代码都是明确的指令如果用户点了按钮A跳转到页面X如果输入是数字执行计算如果文件不存在报错这是确定性系统输入确定 → 逻辑确定 → 输出确定。AI从数据学到的模式在概率空间生成答案AI 不是你手写的 if-else而是从海量数据中学习出来的模式。想象一下AI 在训练时看过 10 万份产品命名案例不是你现在给它看而是它早就学过了它学到了科技感名字的模式常用云、“智”、星等字你问它给产品取个名字它会基于学到的模式生成多个候选答案但这里有个关键点它不是选唯一正确答案而是从多个可能答案中选一个。就像你问 10 个朋友这句话该怎么接每个人答案可能不同 —— AI 也是如此它内部会生成多个答案然后基于概率抽签选一个。所以同样的输入为什么输出不同const resultawait openai. chat.completions.create({messages:[{role:user, content:给我的产品取个名字}],});console.log(result. choices[0]. message.content);// 第一次灵动云// 第二次星途AI// 第三次慧眼通当你输入给我的产品取个名字AI 内部计算出灵动云23%、星途AI19%、慧眼通18%、其他40%然后基于概率抽签这次抽到了灵动云下次你再问可能抽到星途AI这不是 bug这是它的工作方式。记得前面讲的幻觉吗现在你知道根源了 ——当低概率答案被抽中时就可能出现答非所问。这会带来什么影响如果 AI 是概率系统那你写代码的方式就得变。5 个你必须接受的事实|传统程序|AI|| — | — ||bug 可以复现同样输入100次100次都报错|bug可能只出现一次100次调用只有1次答非所问||测试用例能覆盖写10个case覆盖所有分支|测试覆盖不了所有可能可能生成你没想到的答案||行为可以精确预期调用add(2,3)一定是5|只能设定大概率正确“大部分时候靠谱”||出错了能调试打断点看变量定位问题|出错了可能找不到原因为什么这次生成了这个||行为完全可预测代码写死了逻辑|行为有随机性概率抽签机制|这意味着什么❌ 你不能像对待函数那样对待 AI✅ 你必须加验证逻辑✅ 你必须接受概率正确而不是100%正确真实案例无法复现的薛定谔 bug某开发者用 GPT-4 生成数据库查询代码。提示词“生成一个查询用户信息的 SQL”结果第1-9次SELECT * FROM users WHERE id ?正确第10次SELECT * FROM user WHERE id ?表名少了s错误第11-30次又全是users正确他想复现这个 bug连续跑了 50 次全都正确。为什么因为 AI 内部有多个候选答案users高概率比如 92%user低概率比如 8%大部分时候它选users偶尔手气不好抽到了user。你不能用传统的输入 → 必然出错思路来复现它 —— 因为它本来就是概率性偶发。怎么办既然无法避免偶发错误就要改变策略加验证生成 SQL 后检查表名是否存在降温度把 Temperature 设为 0.2让高概率答案权重更大但仍不是100%重试机制如果验证不通过重新生成从调试 bug变成管理概率风险—— 这就是 AI 开发的新思路。知道该用 AI还是不该用既然 AI 是概率生成器而不是确定查询器你就能判断哪些任务该交给它、哪些不该碰。✅ AI 擅长这些任务生成初稿、提供灵感写文档、写代码框架、头脑风暴、取名字处理差不多对就行的场景翻译、改写、总结、润色加速重复性工作写测试用例、写注释、格式转换、数据清洗❌ AI 不擅长这些任务需要 100% 准确金融计算、加密算法、编译器、合同条款需要最新信息今天的新闻、刚发布的 API 文档、实时数据高风险决策医疗诊断、法律判决、安全审计、未验证的生产配置 一条判断原则AI 是辅助工具不是决策者它生成你验证它提供选项你做决策它加速你把关记住这个阈值10% 错误率能承受 10% 错误率的任务才适合用 AI。这里的10%不是精确统计值而是一个判断标准如果出错的代价是重新跑一次 → 用 AI如果出错的代价是用户数据丢失或资金损失 → 别用 AI换句话说AI 适合做出错了可以重来的任务不适合做出错了无法挽回的任务。用 AI 之前先搞懂这 3 个概念如果你现在就想上手用 AI有 3 个技术概念必须知道 ——不然你会踩坑。这里只讲它们是什么、为什么重要详细用法我们在后面的实战篇再展开。TokenAI 处理文本的最小单位是什么AI 不是按字或词处理文本而是按 token词块。不同模型切法略有差异下面是粗略经验值够你估算别当精确公式英文约 4 个字符 ≈ 1 token或约 3/4 个单词 ≈ 1 tokenOpenAI 官方口径Anthropic 给的是约 3.5 字符 ≈ 1 token中文1 个汉字通常 ≈ 1~2 token比英文更占地方因为一个汉字的底层编码就抵好几个字节代码切得最碎符号、缩进、换行都单独算⚠️ 这些都是估算。要精确数字用官方 tokenizer 工具现算见文末附。为什么重要API 按 token 计费输入 输出都算钱模型有 token 上限如 8k、32k、128k超过会被悄悄截断——你以为它读完了其实只看了前半段长文本任务要先估 token 数避免超预算或被截断实际影响一篇 5000 字的中文文档大约是 7000~9000 tokens不是 5000中文更费块让 AI 总结成 500 字输入输出合计约 8000~10000 tokens。Token 是容量问题接下来是更大的坑 —— Context。ContextAI 的记忆容量是什么你和 AI 的对话记录叫做 Context上下文。每次对话都会把历史打包重新喂给模型。类比一下就像你和朋友微信聊天屏幕只能显示最近 20 条消息往上滑才能看到更早的 —— 但 AI 不会往上滑它只能看到最近的消息。超过容量后最早的对话会从它的屏幕上消失。为什么重要Context 有长度限制如 8k、32k tokens超过限制后最早的对话会被遗忘长对话后 AI 可能失忆忘了你最开始说的需求实际影响如果你连续对话 20 轮每轮 500 tokens累计 10k tokens超过 8k 限制后前几轮对话会被丢弃。Token 和 Context 是容量问题Temperature 则是稳定性问题。Temperature控制抽签的随机性是什么Temperature 决定 AI 在多个候选答案中如何抽签。温度低0.2几乎总是选概率最高的答案输出非常稳定温度高0.8-1.0会尝试概率较低的答案输出更多样为什么重要默认温度通常 0.7-1.0有随机性所以同一个 Prompt 每次结果可能不同代码生成任务用低温度0.2要稳定输出创意写作任务用中高温度0.7-1.0要多样化实际影响前面 SQL 案例提到的降温度就是把 Temperature 设为 0.2让高概率答案users的权重大幅提升降低偶尔选到user的概率。从确定到概率你要转变的 3 个思维现在你知道了 AI 的本质和技术细节但知道 ≠ 会用。最后一个问题从传统开发到 AI 开发你的大脑需要转哪些弯思维 1从写逻辑到提需求传统开发你写每一行代码控制每一个分支程序按你的逻辑执行。AI 开发你提需求PromptAI 基于学到的模式生成答案你验证结果。核心转变你的角色从实现者变成了需求方 质检员。思维 2从100% 正确到大概率正确传统开发add(2, 3)永远是 5你追求确定性和可靠性。AI 开发同样的 Prompt 可能生成不同答案你追求大部分时候靠谱。核心转变接受概率性建立容错流程 —— 验证 → 重试 → 人工兜底。思维 3从调试 bug到管理边界传统开发出了 bug打断点看日志定位问题修复代码。AI 开发出了bug答非所问可能无法复现需要调整 Prompt、降温度、或换个思路。核心转变不是修 bug而是管理 AI 的边界 —— 知道它能做什么、不能做什么在合适的场景用它。附官方 Token 计算器别再靠猜前面说的1 字 ≈ 1~2 token都是粗估。真要算钱、算容量用各家官方工具现算最靠谱|厂商|工具|| — | — ||OpenAI|Tokenizer网页版粘贴即算/ tiktokenPython 库||AnthropicClaude|Count Tokens API||GoogleGemini|countTokensAPI||国内模型|通义 / 智谱 / 豆包 / 百度等控制台的用量统计|具体入口在各家开放平台搜tokenizer / token 计算 / 用量统计即可这里不贴外链部分海外站国内访问不稳。最省事的习惯调用返回里一般都带usage字段prompt_tokens/completion_tokens/total_tokens跑一次就知道这条真实花了多少——比背公式准。下一篇预告让 AI 主动出错读到这里你已经建立了从确定到概率的认知框架✅ 你知道了 AI 和传统程序的本质区别概率 vs 确定✅ 你知道了概率性带来的实际影响不可重现、大概率正确✅ 你知道了该用/不该用的判断标准10% 错误率阈值✅ 你知道了 3 个关键技术概念Token、Context、Temperature但**知道和会用之间还差一次真实的踩坑。**纸上得来终觉浅绝知此事要躬行。下一篇我们不讲理论直接动手 ——亲手让 AI 出几次错看看它到底会在哪些地方翻车。通过 6 个实验你会建立真正的边界感什么任务它一定会错什么情况下它会幻觉怎么让它稳定输出如何设计验证机制理论 实战才能真正掌握 AI。我们会用真实代码让 AI 在不同场景下出错然后分析原因、找到规律、建立应对策略。不是教你怎么避免出错而是教你如何与概率正确的 AI 共舞。