首页 › tips-tricks › 每条提示词自动落库:llm CLI八招

每条提示词自动落库:llm CLI八招

你每天往 ChatGPT / Claude 的对话框里扔了多少条提示词?第二天还能找回来几条?大多数人的答案是:全丢在网页会话里,换台电脑就没了,想统计“这个月到底花了多少 token”更是天方夜谭。而海外极客圈有个流行了好几年的解法:Simon Willison 的开源命令行工具 llm——你敲的每一条提示词、模型的每一次回复、每一分 token 消耗,自动落进本地一个 SQLite 文件,可以用 SQL 随便查。这篇文章给你拆透它的 8 个狠活,全部免费,十分钟就能上手。

一、先认人:Simon Willison 是谁

写这个工具的人来头不小:Simon Willison 是 Django 框架的联合创始人、Datasette 的作者,他的博客 simonwillison.net 被海外开发者称为“AI 时代记录最系统的个人日志”——从 2022 年底到现在,他几乎每天一条 AI 实验笔记。他做的 llm 不是又一个“聊天壳”,而是一个AI 调用的记账本 + 管道胶水,这也是 90% 的人对它的认知差所在。

二、工具本体:30 秒装好

它本体开源免费(Apache 2 协议),你只付各家的 API 费用;接 Ollama 跑本地模型的话,一分钱不花。默认走 OpenAI,装插件即可扩展:

llm install llm-anthropic   # Claude 系
llm install llm-gemini      # Gemini 系
llm install llm-ollama      # 本地模型(GitHub: taketwo/llm-ollama)

社区还有 DeepSeek、Mistral 等插件(PyPI 上搜 llm-deepseek 即可,具体以搜索结果为准)。切模型就是 llm -m 模型ID 一句话的事,还能用 llm aliases set fast gpt-4o-mini 给常用模型起别名,以后直接 llm -m fast。

三、八个狠活

狠活 1:同题多模型横评,答案自动留档

操作:同一个问题换模型各跑一遍——

llm -m gpt-4o-mini "解释什么是SBA"
llm -m claude-sonnet-4-5 "解释什么是SBA"
llm -m ollama_chat/qwen3 "解释什么是SBA"

预期效果:三次调用的模型名、提示词、回复全文全部进入本地日志库,配合 llm logs -m 模型名 就能横向回看谁答得好。适用场景:选型测试、写评测文章、给团队定“用什么模型”的依据。别再看榜单选模型了,用你自己的真实任务测,这才是硬数据。

狠活 2:每条提示词自动进 SQLite,永不丢

这是整个工具的灵魂。所有调用默认写入 logs.db(macOS 在 ~/Library/Application Support/io.datasette.llm/,Linux 在 ~/.config/io.datasette.llm/)。常用查询:

llm logs -n 5          # 最近5条
llm logs -c            # 最近一次对话链
llm logs -q "SBA"      # 全文搜历史提示词
llm logs --json        # 导出JSON

预期效果:三个月前你问过 AI 的某个解决方案,一条命令翻出来。适用场景:所有人。国内用网页版聊天的人,历史记录本质上是平台的“人质”,导出麻烦还可能被清理;这一招直接把数据主权拿回本地。顺带一提,本地落库对有数据合规顾虑的团队也是加分项——提示词不出你自己的硬盘。

狠活 3:一条 SQL 算清 token 账本

logs.db 的核心表叫 responses,每行自带 input_tokens、output_tokens 字段(各版本表结构略有差异,先 sqlite3 logs.db '.schema' 看一眼为准)。于是成本审计变得极其简单:

sqlite3 logs.db "select model, sum(input_tokens), sum(output_tokens)
from responses group by model order by 2 desc;"

进阶玩法:装上 Datasette(Simon 的另一作品),datasette logs.db 一条命令在浏览器里得到一个可交互查询的可视化界面,零代码。适用场景:想知道“我到底是重度还是轻度用户”“哪个模型在偷吃我的钱”的人。国外不少开发者就是靠这个表决定砍掉哪个订阅的。

狠活 4:--schema 结构化抽取,直接吐 JSON

这是 2025 年加入、被严重低估的能力。不用手写 JSON Schema,一个小串就够:

llm --schema 'company, role, salary int' \
  "从这段JD里抽取信息:……"

输出就是干净的 JSON,可直连数据库或脚本。要数组加 --schema-multi。适用场景:批量解析简历、招聘 JD、爬下来的商品页、财报段落——把“非结构化文本 → 结构化数据”这步以前要写正则、写解析器的活,变成一行命令。国内做数据清洗的朋友,这一招值得单独抄走。

狠活 5:YAML 模板,把 SOP 沉淀成文件

在模板目录建一个 translate.yaml:

system: 你是通信行业资深译者,术语参照3GPP中文习惯
prompt: 把下面内容翻译成{{lang}},保留专有名词英文:

然后 llm -t translate -p lang 日语 "……" 一键复用。模板里还能固定默认模型,等于给每类任务预绑最优模型。适用场景:团队里反复出现的任务——写周报、审PR、做会议纪要。国内教程普遍在教“提示词写法”,而海外的玩法是“提示词工程化”:模板进文件、可版本管理、可传参,这才是 Gap 所在。

狠活 6:fragments 碎片复用,长上下文不重复烧钱

llm fragments set my-spec spec.md     # 把一份长文档注册成碎片
llm -f my-spec "帮我检查方案里有没有遗漏"   # 反复引用
llm -f github:simonw/llm "总结这个项目"   # 一句拉取GitHub仓库README当上下文

碎片按内容哈希去重存储,同一份长文档反复使用不会在库里存多份。适用场景:拿一份几百页的规范文档当“常驻上下文”,今天问设计、明天问兼容性,不用每次都粘贴一遍。这是把“文档问答”从玩具变成日常的操作方式。

狠活 7:llm embed + llm similar,白嫖一个迷你向量检索

llm embed -c mydocs note1 -i file.txt   # 文件进集合
llm similar mydocs "核心网切片方案"       # 语义检索

配合默认的 embedding 模型(OpenAI 的 text-embedding-3-small 一档)或本地模型,你的 logs.db 顺带变成了个人知识库的检索底座。适用场景:管理散落的笔记、方案、聊天记录,不用急着上重型 RAG 平台。

狠活 8:管道化 + llm-cmd,把 AI 接进 shell 血流

llm 天生吃 stdin,和 Unix 管道是绝配:

curl -s https://example.com/release-notes | llm -s "总结成3条要点"
cat error.log | llm "找出根因,给出修复命令"

再装 llm-cmd 插件(GitHub: simonw/llm-cmd),llm cmd "找出超过100MB的文件" 会生成 shell 命令让你确认编辑后才执行。另外别忘多模态:llm -a 架构图.png "解释这张图",新版本连 PDF 都能当附件喂(以官方 changelog 为准)。

四、整套打法一张图

flowchart TD
    subgraph S["输入源"]
        A["网页/文档<br/>curl / cat"]
        B["表格/日志<br/>CSV、JSONL"]
        C["图片/PDF<br/>-a 附件"]
    end
    subgraph E["llm CLI 引擎"]
        D["模板<br/>-t + -p 传参"]
        F["碎片 fragments<br/>-f 复用长上下文"]
        G["schema 抽取<br/>--schema 吐JSON"]
    end
    subgraph T["本地数据资产"]
        H["logs.db<br/>每条调用自动落库"]
        I["SQL 审计<br/>tokens/成本/复现"]
        J["embeddings<br/>llm similar 检索"]
    end
    A --> D
    B --> G
    C --> G
    F --> D
    D --> G
    G --> H
    H --> I
    G --> J
    I -. 回看数据反调模板 .-> D

五、和国内同类工具对比

维度 llm CLI Cherry Studio / ChatBox 等GUI Dify 等平台
形态 命令行+管道 桌面聊天壳 Web 平台
历史记录 本地 SQLite,可 SQL 查询 私有格式,面向会话 平台数据库
结构化输出 --schema 一行搞定 基本没有 有但要搭流程
脚本化/自动化 原生强 弱 强但重
上手成本 会终端即可 点点点 要部署

一句话:GUI 工具适合“聊”,llm 适合“干活”;当你想把 AI 调用变成可审计、可复用、可自动化的工程环节时,它就是那个缺位的底层件。

六、信息差总结

你以为的 实际上
llm 又一个聊天CLI 是AI调用的本地记账本+管道胶水
提示词历史没法管理 logs.db 全落库,SQL 随便查
token 成本算不清 responses 表现成字段,一条 SQL 出账单
结构化抽取要写代码 --schema 一个字符串直接吐 JSON
提示词只能存在聊天记录里 模板 YAML 化、碎片哈希去重复用

七、行动指南

  1. 今天:brew install llm(或 pipx),llm keys set 配好你已有的任意一家 API Key;
  2. 本周:把你最常重复的 3 类任务写成模板放 templates/ 目录,llm logs 回看一周自己的真实用量;
  3. 本月:用 --schema 替换你手头一个手工清洗文本的脚本,跑通“文件进、JSON 出、落库”闭环;顺手跑一次第三节的 SQL,看看这个月到底烧了多少 token。

参考来源

  1. llm 官网与文档:https://llm.datasette.io/
  2. GitHub 仓库 simonw/llm:https://github.com/simonw/llm
  3. 日志功能文档:https://llm.datasette.io/en/stable/logging.html
  4. Schema 结构化输出文档:https://llm.datasette.io/en/stable/schemas.html
  5. 作者 Simon Willison 博客的 llm 标签页(每日更新实战笔记):https://simonwillison.net/tags/llm/

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入