在脚本的 shebang 行中使用 LLM

Simon Willison's Blog 工具

摘要

Simon Willison 演示了如何在脚本的 shebang 行中使用 llm CLI 工具,从而直接从可执行文件执行 LLM 提示词与工具调用。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/11 22:50

# TIL:在脚本的 shebang 行中使用 LLM 来源:https://simonwillison.net/2026/May/11/llm-shebang/ Kim_Bruning 在 Hacker News 上(https://news.ycombinator.com/item?id=48073246#48090590): > 说真的,你现在可以把 shebang 放在一个英文文本文件上了(如果你足够勇敢的话)\[…\] 这启发我去探索用LLM(https://llm.datasette.io/en/stable/)来实现这一点的具体模式。下面是最简单的方法,它利用了LLM 片段(https://llm.datasette.io/en/stable/fragments.html): ``` #!/usr/bin/env -S llm -f 生成一幅鹈鹕骑自行车的 SVG ``` 不过你也可以通过 `-T 工具名称` 选项来集成工具调用(https://llm.datasette.io/en/stable/tools.html): ``` #!/usr/bin/env -S llm -T llm_time -f 写一首提及当前确切时间的俳句 ``` 甚至可以直接执行 YAML 模板,在其中用 Python 函数定义额外的工具: ``` #!/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** ``` 阅读完整的 TIL 文章(https://til.simonwillison.net/llms/llm-shebang#templates-with-tools),可以找到一个更复杂的示例,它使用 Datasette SQL API 来回答关于我博客内容的问题。

相似文章

llm 0.32a0

Simon Willison's Blog

本文宣布 Simon Willison 开发的 'llm' 命令行工具发布 0.32a0 版本,并提供有关大型语言模型发展的月度简报。

llm 0.32a1

Simon Willison's Blog

llm 0.32a1 版本发布说明。llm 是由 Simon Willison 开发的一个用于处理大语言模型的 Python 命令行工具和库。

LLM 0.32a0 是一次重大且向后兼容的重构

Simon Willison's Blog

LLM 0.32a0 对 Python 库和 CLI 工具进行了重大且向后兼容的重构,从简单的文本提示转变为支持消息序列和多部分响应,以更好地处理结构化 JSON 和工具调用等现代 LLM 功能。

llm 0.32a2

Simon Willison's Blog

llm CLI 工具已发布 0.32a2 版本,新增对 OpenAI /v1/responses 端点的支持,以启用 GPT-5 类模型的交错推理功能。