T
traeai
登录
返回首页
Simon Willison(@simonw)

新发现:用 LLM CLI 在 shebang 中执行自然语言脚本

8.7Score
新发现:用 LLM CLI 在 shebang 中执行自然语言脚本

TL;DR · AI 摘要

Simon Willison 展示了如何将 LLM CLI 工具用于 shebang 行,实现用英语或 YAML 模板编写可执行脚本,支持工具调用与函数定义。

核心要点

  • LLM CLI 支持 shebang 调用,可用自然语言编写可执行脚本。
  • 通过 -T 参数集成工具(如时间查询),实现在脚本中调用函数。
  • YAML 模板可定义 Python 函数(如 add/multiply),并解析数学表达式得出 12,310,822。

结构提纲

按章节快速跳转。

  1. §引言:LLM 作为脚本解释器

    Simon Willison 发现可通过 shebang 将 LLM CLI 用作脚本执行器,直接运行自然语言指令。

  2. 使用 `#!/usr/bin/env -S llm -x -f` 可执行如生成‘骑自行车的鹈鹕 SVG’的自然语言命令。

  3. 通过 `-T llm_time` 插件,脚本能调用当前时间并生成提及精确时间的俳句。

  4. YAML 模板支持定义 Python 函数(如加法和乘法),并在命令行中执行复杂计算。

  5. 使用 `--td` 参数可输出工具调用过程,显示 multiply 和 add 的逐步执行结果。

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • LLM CLI 可执行脚本
    • Shebang 集成
      • #!/usr/bin/env -S llm
      • 支持自然语言脚本
    • 工具调用
      • llm_time 获取当前时间
      • 函数插件扩展能力
    • YAML 模板引擎
      • 定义 Python 函数
      • 执行数学表达式

金句 / Highlights

值得收藏与分享的关键句。

  • 你可以用英语写可执行脚本,或通过一段 YAML 模板连接更复杂的脚本。

    第 1 段

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 调用 multiply({'a': 2344, 'b': 5252}) 得到 12310688;再调用 add({'a': 12310688, 'b': 134}) 输出 12310822。

    图片描述

    ⬇︎ 下载 PNG𝕏 分享到 X
  • 使用 --td(工具调试)选项可查看 LLM 流水线中函数调用的每一步执行过程。

    图片描述

    ⬇︎ 下载 PNG𝕏 分享到 X
#LLM#CLI#YAML#shebang#AI脚本
打开原文

Simon Willison

@simonw

新学到的知识:我终于搞清楚了如何在 shebang 行中使用我的 LLM 命令行工具,这意味着你可以用英文编写可执行脚本,或者通过一段 YAML 模板来连接更复杂的脚本。

图片 1: #!/usr/bin/env -S llm -x -f 生成一个鹈鹕骑自行车的 SVG 图像。但你也可以加入工具调用: #!/usr/bin/env -S llm -T llm_time -f 写一首提及当前确切时间的俳句。甚至可以直接执行定义了额外工具(作为 Python 函数)的 YAML 模板: #!/usr/bin/env -S llm -t model: gpt-5.4-mini system: | 使用工具进行计算 functions: | def add(a: int, b: int) -> int: return a + b def multiply(a: int, b: int) -> int: return a * b 然后运行: ./calc.sh '2344 * 5252 + 134 是多少' --td 输出结果为(感谢这个 --td 工具调试选项): 工具调用:multiply({'a': 2344, 'b': 5252}) 12310688 工具调用:add({'a': 12310688, 'b': 134}) 12310822 2344 × 5252 + 134 = **12,310,822**

阅读图片描述

晚上 7:06 · 2026 年 5 月 11 日

13.1K 次浏览

AI 可能会生成不准确的信息,请核实重要内容

新发现:用 LLM CLI 在 shebang 中执行自然语言脚本 | Simon Willison(@simonw) | traeai