🤖 AI 跟我学 新手入门
AI 快讯 编译自 simon_willison #LLM#shebang#命令行工具#AI 脚本

LLM 命令行工具新玩法:在 shebang 行直接调用 AI 模型生成内容

Simon Willison 展示了如何用 LLM 工具在脚本 shebang 行调用 AI 模型,实现文本生成、工具调用甚至自定义 Python 函数。本文详解三种用法,并分析对中文开发者的实用价值与替代方案。

编译发布 2026/05/21 原文发布 2026/05/11

一句话看懂

Simon Willison 演示了在脚本 shebang 行直接使用 LLM 工具调用 AI 模型,支持文本生成、工具调用和自定义 Python 函数,让脚本瞬间拥有 AI 能力。

详细发生了什么

Simon Willison 受到 Hacker News 上 Kim_Bruning 的启发,探索了在脚本 shebang 行中使用 LLM 工具的模式。LLM 是一个命令行工具,可以通过 shebang 行直接调用。最简单的用法是利用 LLM fragments 功能:在脚本第一行写上 #!/usr/bin/env -S llm -f,然后直接写自然语言指令,比如 “Generate an SVG of a pelican riding a bicycle”,执行脚本就会输出 AI 生成的 SVG 代码。

更高级的用法包括集成 tool calls:使用 -T name_of_tool 选项可以调用预定义的工具,例如 -T llm_time 让模型获取当前时间。还可以通过 -t 选项执行 YAML 模板,在模板中直接定义 Python 函数作为工具。例如,定义一个 addmultiply 函数,然后执行 ./calc.sh 'what is 2344 * 5252 + 134' --td,模型会自动调用这些函数进行计算并返回结果。

中文圈视角

这个技巧对中文开发者来说非常实用,尤其是那些习惯用 shell 脚本处理日常任务的用户。通过 shebang 行直接调用 LLM,可以快速实现文本生成、数据转换、计算等任务,无需编写复杂的 Python 或 Node.js 脚本。

不过,LLM 工具默认调用的是 OpenAI 的模型,国内用户需要配置 API key 并确保网络可访问。对于无法直接访问 OpenAI 的用户,可以考虑使用国产替代方案,比如将 LLM 配置为调用国产模型的 API(如 DeepSeek、智谱 GLM 等),或者使用类似的命令行工具如 aichat(支持多种模型)。

另外,这个技巧在中文场景下的应用潜力很大:比如用 shebang 脚本自动生成中文文案、翻译、摘要,或者结合工具调用实现中文计算器、日期处理等。但需要注意,YAML 模板中定义 Python 函数时,函数名和注释建议用英文,避免编码问题。

几条值得记住的细节

  • 最简单的用法:#!/usr/bin/env -S llm -f 后直接写自然语言指令,如生成 SVG。
  • 集成 tool calls:用 -T 选项调用预定义工具,例如 -T llm_time 获取当前时间。
  • YAML 模板支持自定义 Python 函数:在 functions 字段中定义函数,模型会自动调用。
  • 调试模式:添加 --td 参数可以查看 tool call 的详细调用过程和结果。
  • 需要安装 LLM 工具:pip install llm,并配置 API key。

一句话总结

在脚本 shebang 行调用 AI 模型,让任何文本文件都能变成智能脚本,大幅简化日常任务自动化。