llm-echo 0.5发布:更精准模拟LLM token用量

llm-echo 0.5 发布,改进 token 用量模拟,纳入工具调用、系统提示与推理 token。
llm-echo 是 Simon Willison 的 LLM 命令行工具生态中的调试插件,它不调用真实模型,而是把收到的提示词以结构化 JSON 原样回显,便于验证提示词拼接、附件加载与多轮对话逻辑。0.5 版本的核心改进是更新了模拟 token 用量的计算方式,将工具调用、系统提示词和推理 token 纳入统计,使 echo 模型给出的用量更接近真实交互场景。开发者因此可以在不消耗 API 配额、不受网络延迟影响的情况下,测试用量统计、成本预警与上下文窗口管理等逻辑。插件遵循开源模式,可通过 uvx 直接运行,无需预先安装。
Simon Willison 开发的 LLM 命令行工具生态中,有一个不太起眼但非常实用的调试插件——llm-echo。它并不调用任何真实的大语言模型,而是像一个“回音壁”一样,把收到的提示词原样返回。这个看似简单的功能,在调试 LLM 应用时却能帮上大忙。近日,llm-echo 发布了 0.5 版本,重点改进了对 token 用量的模拟计算。
为什么需要一个“假模型”?
在开发基于 LLM 的应用时,开发者经常需要测试提示词拼接、多轮对话管理、工具调用等逻辑。如果每次都调用真实模型,不仅会产生费用,还会因为网络延迟和模型输出的不确定性拖慢调试节奏。llm-echo 提供的 echo 模型正是为了解决这个问题:它不进行任何推理,只是将输入结构化地展示出来。
例如,运行以下命令:
uvx --with llm-echo llm -m echo 'hi there' -o thinking 1 --usage
你会得到一个清晰的 JSON 输出,包含 prompt、system、attachments、stream 等字段,完整呈现了 LLM 工具实际发送给模型的内容。这对于验证提示词模板是否正确、附件是否被正确加载,非常直观。
LLM 命令行工具(llm) 是 Simon Willison 开发的开源 CLI 工具,它通过插件机制统一对接 OpenAI、Anthropic、本地模型等多种后端。用户以 llm -m <模型名> '提示词' 的形式发起请求,并通过 -o 传入模型选项、--usage 打印 token 用量。插件(如 llm-echo)只需注册一个模型 ID 并实现相应的 Python 接口,即可被主程序自动发现和调用,这正是 echo 模型能无缝替换真实模型的前提。
uvx 是 Python 包管理器 uv 提供的命令,用于在隔离的临时环境中执行命令行工具,无需预先 pip install。uvx --with llm-echo llm ... 表示临时安装 llm-echo 插件并启动 llm 命令,调试完即丢弃环境,避免污染全局依赖——这也是文中强调“无需预先安装”的原因。
0.5 版本的核心改进:token 用量模拟更真实
根据官方发布说明,llm-echo 0.5 最大的变化是更新了模拟 token 用量的计算方式,现在会将工具调用(tool calls)、系统提示词(system prompts)以及推理 token(reasoning tokens)纳入统计。
在此之前,echo 模型输出的 token 计数可能只简单基于输入输出文本长度,无法反映现代 LLM 交互中复杂的 token 消耗结构。而随着 LLM 工具越来越多地支持函数调用、系统角色设定和思维链推理,开发者需要更真实地预估成本和行为。0.5 版本的这一改进,让 echo 模型在调试时能提供更接近真实场景的 token 用量参考。
从示例输出可以看到,当使用 -o thinking 1 选项时,echo 模型会模拟输出一段推理文本(“First I consider the prompt, then I decide what to say.”),并在最终的 token 统计中体现出来:2 个输入 token,24 个输出 token。这个数字虽然仍是模拟值,但计算逻辑已经考虑了推理和系统提示等因素,对于调试 token 预算和截断策略更有意义。
推理 token(reasoning tokens) 指具备思维链能力的模型(如 OpenAI o 系列、DeepSeek广告-R1 等)在给出最终回答前生成的内部推理内容所消耗的 token。这部分内容通常不直接展示给用户,但会计入计费与上下文窗口占用,因此常被单独统计。llm 工具通过 -o thinking 1 这类选项请求模型输出推理过程,echo 模型则相应地模拟出一段推理文本并纳入 token 计数。
工具调用(tool calls) 指模型以结构化 JSON 形式请求外部函数执行的能力(即 function calling)。一次带工具调用的交互中,工具定义、模型返回的调用参数以及工具执行结果都会作为消息进入上下文,产生额外 token 开销。真实应用中这部分往往占比可观,因此 echo 0.5 将其纳入模拟统计,能让开发者在调试阶段就观察到更贴近实际的用量结构。
对 LLM 开发者意味着什么
llm-echo 的这次更新,折射出 LLM 应用开发工具链正在走向成熟。早期开发者可能只关心“模型返回了什么”,而现在,token 经济性、工具调用的开销、系统提示词的占用,都成为必须精细管理的环节。一个能够脱离真实模型、独立模拟这些细节的调试工具,可以显著降低开发迭代的成本。
对于使用 Simon Willison 的 LLM 命令行工具或相关 Python 库的开发者来说,升级到 llm-echo 0.5 后,可以在不消耗 API 配额的情况下,更准确地测试与 token 用量相关的逻辑,比如用量统计面板、成本预警、上下文窗口管理等。
该插件遵循开源模式,可通过 uvx 直接运行,无需预先安装。项目源码和发布说明可在 GitHub 上查看。
相关推荐

OpenAI与Shield合作:Astra智能体如何革新IT故障修复
OpenAI与Shield合作推出Astra智能体,可自动登录电脑和遗留系统,实时修复IT故障,比传统模型快35%到40%,仅在需要人类判断时引入人工。

iPhone Duo续航实测:一天一充跑不掉,大屏是耗电元凶
iPhone Duo续航实测:重度使用一天需至少充电一次,6.5小时亮屏约剩30%电量。大屏展开频率是耗电关键,MagSafe电池背夹可救场,长期衰减同样值得关注。

Kimi K3.1 Pro开源发布:2.8万亿参数逼近Opus
Moonshot发布开源MoE模型Kimi K3.1 Pro,2.8万亿总参数、1040亿激活参数,Terminal Bench 4.0仅落后Opus 5.5不到1分,单任务成本约三分之一,API价格减半,开源权重11月4日开放。