Simon Willison 的博客 赞助:Microsoft — 智能体项目往往在演示与生产之间停滞不前。Microsoft 的 MVP 清单填补了这一差距。立即试用 2026 年 5 月 11 日 今日所学:在脚本的 shebang 行中使用 LLM — Hacker News 上的这条评论 启发我探索如何在我的 LLM CLI 工具的 shebang 行中使用它的模式: Hacker News 上的 Kim_Bruning: 但说真的,现在你可以在一个英文文本文件上放 shebang 了(如果你足够勇敢的话)[...] 这启发我去研究如何用 LLM 做到这一点。下面是最简单的模式,利用了 LLM 的片段(fragments): #!/usr/bin/env -S llm -f Generate an SVG of a pelican riding a bicycle 但你也可以使用 -T tool_name 选项来结合工具调用: #!/usr/bin/env -S llm -T llm_time -f Write a haiku that mentions the exact current time 甚至可以直接执行 YAML 模板,在其中将额外工具定义为 Python 函数: # !/usr/bin/env -S llm -t model : gpt-5.4-mini system : | Use tools to run calculations functions : | def add(a: int, b: int) -> int: return a + b def multiply(a: int, b: int) -> int: return a * b 接着: ./calc.sh 'what is 2344 * 5252 + 134' --td 输出(得益于 --td tools debug 选项)为: 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 来回答关于我博客内容的问题。 发布于 2026 年 5 月 11 日下午 6:48 近期文章 Datasette Apps:在 Datasette 内部托管自定义 HTML 应用程序 - 2026 年 6 月 18 日 GLM-5.2 很可能是最强大的纯文本开放权重大语言模型 - 2026 年 6 月 17 日 将 WASM wheels 发布到 PyPI 以供 Pyodide 使用 - 2026 年 6 月 13 日 本文由 Simon Willison 撰写,发布于 2026 年 5 月 11 日。 ai 2,081 generative-ai 1,838 llms 1,806 llm 606 llm-tool-use 70 月度简报 每月赞助我 10 美元,即可获得一份精心整理的电子邮件摘要,涵盖本月最重要的大语言模型发展动态。 付钱让我给你发更少的内容! Sponsor & subscribe 声明 版权页 © 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
在脚本的shebang行中使用LLM
本文介绍了一种创新方法,将LLM工具直接嵌入脚本的shebang行中执行指令。通过LLM的fragments模式,shebang行可执行简单任务,如生成SVG图像;使用-T选项能调用外部工具(如llm_time)创作包含当前时间的俳句;更复杂的是运行YAML模板,其中定义了Python函数作为工具进行数学计算,示例中演示了计算2344乘以5252加134的过程,并通过调试输出展示了分步结果,最终得到12,310,822。这展现了LLM作为脚本解释器的强大扩展性,能够支持从内容生成到数据查询的多样化任务。
Simon Willison 的博客 赞助:Microsoft — 智能体项目往往在演示与生产之间停滞不前。Microsoft 的 MVP 清单填补了这一差距。立即试用 2026 年 5 月 11 日 今日所学:在脚本的 shebang 行中使用 LLM — Hacker News 上的这条评论 启发我探索如何在我的 LLM CLI 工具的 shebang 行中使用它的模式: Hacker News 上的 Kim_Bruning: 但说真的,现在你可以在一个英文文本文件上放 shebang 了(如果你足够勇敢的话)[...] 这启发我去研究如何用 LLM 做到这一点。下面是最简单的模式,利用了 LLM 的片段(fragments): #!/usr/bin/env -S llm -f Generate an SVG of a pelican riding a bicycle 但你也可以使用 -T tool_name 选项来结合工具调用: #!/usr/bin/env -S llm -T llm_time -f Write a haiku that mentions the exact current time 甚至可以直接执行 YAML 模板,在其中将额外工具定义为 Python 函数: # !/usr/bin/env -S llm -t model : gpt-5.4-mini system : | Use tools to run calculations functions : | def add(a: int, b: int) -> int: return a + b def multiply(a: int, b: int) -> int: return a * b 接着: ./calc.sh 'what is 2344 * 5252 + 134' --td 输出(得益于 --td tools debug 选项)为: 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 来回答关于我博客内容的问题。 发布于 2026 年 5 月 11 日下午 6:48 近期文章 Datasette Apps:在 Datasette 内部托管自定义 HTML 应用程序 - 2026 年 6 月 18 日 GLM-5.2 很可能是最强大的纯文本开放权重大语言模型 - 2026 年 6 月 17 日 将 WASM wheels 发布到 PyPI 以供 Pyodide 使用 - 2026 年 6 月 13 日 本文由 Simon Willison 撰写,发布于 2026 年 5 月 11 日。 ai 2,081 generative-ai 1,838 llms 1,806 llm 606 llm-tool-use 70 月度简报 每月赞助我 10 美元,即可获得一份精心整理的电子邮件摘要,涵盖本月最重要的大语言模型发展动态。 付钱让我给你发更少的内容! Sponsor & subscribe 声明 版权页 © 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
来源:Simon Willison 博客· simonwillison.net