T
traeai
登录
返回首页
Simon Willison's Weblog

在脚本 shebang 中使用 LLM

7.5Score

TL;DR · AI 摘要

LLM 可以通过 shebang 行直接运行脚本,支持工具调用和复杂模板处理,但需谨慎使用。

核心要点

  • LLM 支持在 shebang 中定义工具并执行计算。
  • 示例展示了如何通过 shebang 调用函数实现数学运算。
  • 复杂场景可结合 Datasette SQL API 处理数据。

结构提纲

按章节快速跳转。

  1. 介绍 LLM 在 shebang 中的应用背景。

  2. 展示最简单的 LLM shebang 示例。

  3. 演示如何通过选项启用工具调用功能。

  4. 解释如何定义函数并通过 shebang 执行。

  5. 提及结合 Datasette API 的更复杂应用。

思维导图

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

查看大纲文本(无障碍 / 无 JS 友好)
  • LLM in Shebang
    • 基本模式
      • 最简示例
    • 工具调用
      • 选项启用
    • 高级模板
      • 函数定义

金句 / Highlights

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

#LLM#shebang#脚本#工具调用
打开原文

标题:TIL:在脚本的 shebang 行中使用 LLM

来源 URL:https://simonwillison.net/2026/May/11/llm-shebang/

发布时间:Mon, 11 May 2026 20:15:56 GMT

Markdown 内容: Kim Bruning 在 Hacker News 上

但说真的,你现在可以在英文文本文件中添加 shebang(如果你足够勇敢的话)……

这启发我去研究如何用 LLM 实现这一点。以下是最简单的例子,利用了 LLM 片段

code
#!/usr/bin/env -S llm -f
生成一只火烈鸟骑自行车的 SVG

但你也可以通过 -T 工具名称 选项结合 工具调用

code
#!/usr/bin/env -S llm -T llm_time -f
写一首提到当前精确时间的俳句

甚至可以直接执行定义了额外工具的 YAML 模板作为 Python 函数:

bash
#!/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

然后运行:

bash
./calc.sh 'what is 2344 * 5252 + 134' --td

输出结果(感谢 --td 工具调试选项):

code
Tool call: multiply({'a': 2344, 'b': 5252})
  12310688

Tool call: add({'a': 12310688, 'b': 134})
  12310822

2344 × 5252 + 134 = **12,310,822**

阅读完整的 TIL 获取 更复杂的示例,该示例使用 Datasette SQL API 来回答关于我博客内容的问题。

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