这张图是在对比“不用 Bash” vs “用 Bash”时,大模型解决同一个问题的方式差异,核心想说明的是:
让模型把“思考 + 执行”交给真实工具(如 Bash),可以避免胡编、提高准确性和可复现性。
我分点解释一下图里每一部分在表达什么:
左边:Without Bash(不用 Bash)
流程特点:
-
用户问:
“我这周在打车软件上花了多少钱?”
-
模型只是“描述性地”调用工具(比如搜索 Gmail)。
-
接下来进入纯文本推理:
- “我找到了 Uber / Lyft 的邮件”
- “我要从每封邮件里提取金额”
-
问题在这里:
- 模型并没有真的执行计算
- 金额、总数很可能是臆造(hallucinated)
-
最终给出一个看起来合理,但不可信的答案。
👉 左边代表的是:
模型在“想象自己算过了”,但实际上并没有。
右边:With Bash(使用 Bash)
流程特点:
-
同样的问题。
-
模型不是“描述怎么做”,而是:
- 直接调用 Bash
- 在 Bash 里运行真实命令
-
Bash 脚本做了什么:
-
搜索 Gmail(Uber / Lyft)
-
限定最近 7 天
-
用
grep / sed / awk:- 提取金额
- 累加求和
-
-
最终结果是程序真实算出来的。
👉 右边代表的是:
模型不“假装自己会算”,而是让计算机真的去算。
这张图想传达的核心观点
1️⃣ 语言模型 ≠ 计算引擎
-
不用工具时,模型容易:
- 猜数字
- 编结果
-
尤其在涉及数据、统计、金额时风险很高。
2️⃣ Bash = 可验证的执行环境
-
用 Bash:
- 有真实输入
- 有真实输出
- 可复现、可审计
3️⃣ “工具调用”是为了防止幻觉
这张图本质在说:
不要只让模型“说它会怎么做”,
要让模型“真的把事情做完”。
一句话总结
这张图说明:
把复杂、可计算的问题交给 Bash 等工具执行,
可以让 AI 从“会编答案”升级为“能给正确答案”。