为什么通用Agent也需要Bash环境

29 阅读2分钟

image.png

这张图是在对比“不用 Bash” vs “用 Bash”时,大模型解决同一个问题的方式差异,核心想说明的是:

让模型把“思考 + 执行”交给真实工具(如 Bash),可以避免胡编、提高准确性和可复现性。

我分点解释一下图里每一部分在表达什么:


左边:Without Bash(不用 Bash)

流程特点:

  1. 用户问:

    “我这周在打车软件上花了多少钱?”

  2. 模型只是“描述性地”调用工具(比如搜索 Gmail)。

  3. 接下来进入纯文本推理

    • “我找到了 Uber / Lyft 的邮件”
    • “我要从每封邮件里提取金额”
  4. 问题在这里

    • 模型并没有真的执行计算
    • 金额、总数很可能是臆造(hallucinated)
  5. 最终给出一个看起来合理,但不可信的答案。

👉 左边代表的是:
模型在“想象自己算过了”,但实际上并没有。


右边:With Bash(使用 Bash)

流程特点:

  1. 同样的问题。

  2. 模型不是“描述怎么做”,而是:

    • 直接调用 Bash
    • 在 Bash 里运行真实命令
  3. Bash 脚本做了什么:

    • 搜索 Gmail(Uber / Lyft)

    • 限定最近 7 天

    • grep / sed / awk

      • 提取金额
      • 累加求和
  4. 最终结果是程序真实算出来的

👉 右边代表的是:
模型不“假装自己会算”,而是让计算机真的去算。


这张图想传达的核心观点

1️⃣ 语言模型 ≠ 计算引擎

  • 不用工具时,模型容易:

    • 猜数字
    • 编结果
  • 尤其在涉及数据、统计、金额时风险很高。

2️⃣ Bash = 可验证的执行环境

  • 用 Bash:

    • 有真实输入
    • 有真实输出
    • 可复现、可审计

3️⃣ “工具调用”是为了防止幻觉

这张图本质在说:

不要只让模型“说它会怎么做”,
要让模型“真的把事情做完”。


一句话总结

这张图说明:
把复杂、可计算的问题交给 Bash 等工具执行,
可以让 AI 从“会编答案”升级为“能给正确答案”。