这篇论文介绍了一个名为 LAPIS 的新工具,它的核心目标非常明确:让大语言模型(LLM,比如 ChatGPT、Claude 等)在“阅读”API 文档时,能省下一大笔钱,并且读得更快、更懂行。
为了让你轻松理解,我们可以用几个生动的比喻来拆解这篇论文:
1. 核心问题:给大象喂“百科全书”
想象一下,你有一个非常聪明的机器人助手(LLM),你想让它帮你操作一个复杂的系统(比如 GitHub 或 Twilio 的 API)。
- 现状(OpenAPI 格式): 目前,我们给机器人看的说明书(OpenAPI 格式)就像是一本写给人类工程师和代码生成器看的“百科全书”。
- 它非常详细,包含了版权信息、联系人、详细的错误代码定义(每个功能里都重复写了一遍)、复杂的图表结构,甚至还有很多为了人类阅读而设计的装饰性文字。
- 问题: 机器人不需要知道“联系人是谁”或者“版权协议”,它只需要知道“怎么调用”、“输入什么”、“输出什么”。
- 后果: 就像你为了教机器人做一道菜,却把整本《世界烹饪史》都塞进它的脑子里。这不仅占用了大量的“大脑空间”(上下文窗口),而且因为大模型是按“字数”(Token)收费的,这让你花了很多冤枉钱。
2. 解决方案:LAPIS —— 给机器人的“极简速查卡”
LAPIS 就是为了解决这个问题而生的。它不是要取代原来的百科全书,而是把百科全书翻译成一张给机器人专用的“极简速查卡”。
- 比喻: 如果把 OpenAPI 比作一本厚重的《辞海》,那么 LAPIS 就是贴在冰箱上的**“冰箱贴便签”**。
- 去粗取精: 它删掉了所有机器人不需要的废话(如版权、联系人、重复的错误定义)。
- 结构重组: 它把原本分散在书里各处的“错误代码”(比如 404 找不到页面)集中到一个地方统一说明,而不是在每个功能里重复写 100 遍。
- 增加智慧: 它甚至加入了一些原书里没有的“智能提示”,比如“这个功能有速率限制”、“如果发生 A 情况就会触发 B 事件”。
3. 它是怎么做到的?(三大魔法)
论文通过对比真实的 API 文档(如 GitHub、Twilio 等),展示了 LAPIS 的三大魔法:
魔法一:消灭“复印机” (去重)
- 场景: 在 GitHub 的文档里,"404 错误”被定义了 531 次!就像你写 531 份合同,每份都重复写了一遍“如果找不到文件怎么办”。
- LAPIS 做法: 只写一次“如果找不到文件,就报 404",然后告诉机器人:“所有地方都适用这条规则”。
- 效果: 就像把 531 页的重复内容压缩成了 1 页。
魔法二:说“人话” (语法优化)
- 场景: 原来的格式像是一层层嵌套的俄罗斯套娃(JSON Schema),机器人读起来很费劲,浪费 Token。
- LAPIS 做法: 采用类似人类在白板上画流程图的方式。比如直接写
POST /invoices,后面跟着 > 输入:客户 ID,< 输出:发票。
- 效果: 机器人一眼就能看懂,不需要在复杂的括号和引号里迷路。
魔法三:补充“潜规则” (增加上下文)
- 场景: 原来的文档很少告诉机器人“这个接口每分钟只能调用 60 次”或者“先做 A 再做 B"。
- LAPIS 做法: 专门开辟区域,用结构化语言告诉机器人这些“潜规则”和“操作流”。
- 效果: 机器人不仅知道怎么调用,还知道怎么聪明地调用(比如知道要排队、知道要重试)。
4. 惊人的效果:省了 85% 的钱
论文测试了 5 个真实的、巨大的 API 系统(包括拥有 1000 多个接口的 GitHub)。
- 数据说话: 使用 LAPIS 格式后,Token 数量平均减少了 85.5%。
- 通俗理解: 以前你需要付 100 块钱让机器人读一遍文档,现在只需要付 14 块钱。
- 质量不变: 虽然字变少了,但机器人能获取到的核心信息(怎么调用、有什么限制)反而更清晰了,因为它没有被垃圾信息干扰。
5. 总结:它是什么?
LAPIS 不是要扔掉旧的 OpenAPI 文档。
- OpenAPI 是给人类和代码生成器看的“官方说明书”,必须严谨、详尽。
- LAPIS 是给AI 机器人看的“执行手册”,必须精简、高效、直击重点。
一句话总结:
LAPIS 就像是一个智能翻译官,它把原本写给人类看的、啰嗦冗长的技术说明书,瞬间翻译成了一份给 AI 看的、只有干货的“行动指南”,既帮开发者省下了大笔的 AI 调用费,又让 AI 干活更聪明、更准确。
这篇论文发布于 2026 年(未来视角),展示了 AI 时代下,软件文档格式正在发生的深刻变革:从“为人设计”转向“为机器设计”。
LAPIS 论文技术总结:面向智能系统的轻量级 API 规范
1. 研究背景与问题陈述 (Problem)
随着大型语言模型(LLM)在代码生成、自主智能体交互及 API 辅助推理中的广泛应用,API 规范已成为 LLM 理解系统能力的主要“事实来源”。然而,当前事实上的 API 描述标准 OpenAPI (Swagger) 存在严重的令牌(Token)效率低下问题,具体表现为:
- 设计目标错位:OpenAPI 最初是为文档渲染器、SDK 生成器和测试工具设计的,强调详尽的 JSON Schema 类型定义、枚举响应和丰富元数据(如许可证、联系人信息)。而 LLM 只需要简洁、无歧义的功能描述、输入输出定义及操作约束。
- 结构性浪费:
- 嵌套结构开销:JSON Schema 的深层嵌套(
type/properties/required)产生了大量冗余令牌。
- 错误定义重复:OpenAPI 要求每个操作单独定义错误响应。例如,GitHub API 的 1,080 个操作中,相同的 401/404 错误定义被重复了 1,594 次。
- 无关元数据:大量用于人类文档或治理的字段(如
info.contact, tags, x-* 扩展)对 LLM 推理毫无价值。
- 缺失操作上下文:OpenAPI 缺乏对速率限制、Webhook 触发条件和操作序列等关键推理信息的结构化表达。
这种不匹配导致 LLM 在处理 API 规范时面临高昂的 Token 成本(直接影响推理费用)和有限的上下文窗口限制。
2. 方法论与解决方案 (Methodology)
论文提出了 LAPIS (Lightweight API Specification for Intelligent Systems),一种专为 LLM 消费优化的领域特定格式。其核心设计理念包括:
- 令牌最小化:目标是将令牌数量减少 70-80%。
- LLM 原生语法:采用接近自然语言的语法(如函数签名、基于缩进的分组、内联类型表达式),模仿人类开发者在白板上描述 API 的方式,而非深层嵌套的 JSON/YAML。
- 无损转换:提供从 OpenAPI 3.x 到 LAPIS 的确定性自动化转换规则,无需人工干预。
- 语义完整性:保留 LLM 推理所需的所有信息,剔除仅对代码生成器有用的信息(如精确的 JSON Schema 验证关键字)。
LAPIS 规范结构
LAPIS 文档由最多七个按固定顺序排列的部分组成,其中仅 [meta] 和 [ops] 为必填项:
- [meta]: API 名称、基础 URL、版本、认证方式(紧凑语法)。
- [types]: 可重用的类型定义(对象、枚举),支持修饰符(数组、可选、默认值)。
- [ops]: API 操作,使用签名式语法(
> 输入, < 输出),参数位置自动推断。
- [webhooks]: 描述推送事件及触发条件(使用
! 前缀声明语义条件)。
- [errors]: 集中式错误定义。所有错误代码全局定义一次,通过
@ops 绑定到特定操作,消除重复。
- [limits]: 结构化速率限制、配额和层级信息。
- [flows]: 多步操作序列声明(支持顺序、循环、分支、条件等待)。
3. 主要贡献 (Key Contributions)
- LAPIS 格式规范 (v0.1.0):正式定义了语法、EBNF 文法和类型系统。
- 确定性转换规则:实现了从 OpenAPI 3.x 到 LAPIS 的自动化转换逻辑(包括引用解析、Schema 扁平化、类型提取、错误去重等)。
- 实证评估:在五个真实世界生产级 API 规范上进行了基准测试,量化了令牌减少效果。
- 结构浪费分析:深入分析了 OpenAPI 规范中的冗余模式(特别是错误定义的重复)。
- 开源工具链:发布了 Python 转换器 (
lapis-spec)、浏览器转换工具及 VS Code 扩展,规范采用 CC BY 4.0 开源协议。
4. 实验结果 (Results)
研究团队选取了五个不同规模和复杂度的真实 API 规范(GitHub, Twilio, DigitalOcean, HTTPBin, Petstore)进行评估。
- 令牌减少率:
- 与 OpenAPI YAML 相比,平均令牌减少 85.5%。
- 与 OpenAPI JSON 相比,平均令牌减少 88.6%。
- 即使与最小化 JSON 相比,LAPIS 仍能减少约 80% 的令牌,证明节省主要来自结构重构而非空白字符消除。
- 具体案例 (GitHub API):
- OpenAPI YAML: 1,811,843 tokens
- LAPIS: 313,101 tokens
- 减少幅度:82.7%。
- 原因:GitHub 的 1,594 个错误定义被压缩为 14 行集中定义。
- 扩展性:令牌减少率通常随 API 复杂度(操作数和类型数)增加而提高。例如,Twilio (197 端点) 减少了 92.1%,而结构简单的 HTTPBin 减少了 71.9%。
- Tokenizer 一致性:在
cl100k_base (GPT-4) 和 o200k_base (GPT-4o) 两种分词器下,结果差异小于 2%,证明优化效果具有通用性。
成本影响
以 GitHub API 为例,若 LLM 上下文包含该规范:
- 使用 OpenAPI YAML 的每次调用成本约为 $5.44。
- 使用 LAPIS 的每次调用成本约为 $0.94。
- 对于每天 1,000 次调用的生产应用,每月可节省约 $4,497。
5. 意义与讨论 (Significance)
- 范式转变:LAPIS 证明了 API 规范不应是“一刀切”的格式。针对 LLM 这一特定消费者,通过领域特定的结构重组(而非通用压缩)可以带来巨大的效率提升。
- 信息增益:LAPIS 不仅减少了冗余,还增加了 OpenAPI 无法结构化表达的信息(如 Webhook 触发条件、速率限制逻辑、操作流),使得单位 Token 的信息密度更高。
- 互补性:LAPIS 并非要取代 OpenAPI。OpenAPI 仍应作为文档和代码生成的“单一事实来源”,而 LAPIS 作为面向 LLM 的转换目标。两者与 MCP (Model Context Protocol) 等执行层协议互补。
- 局限性:LAPIS 是“有损”的,剔除了对非 LLM 消费者(如严格验证工具)重要的细节。目前尚未进行 LLM 理解准确性的控制实验(计划作为未来工作)。
总结:LAPIS 通过重新设计 API 规范的结构,解决了 LLM 消费 API 文档时的 Token 瓶颈问题,为构建更高效、低成本的 AI 代理和代码助手提供了关键的基础设施支持。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。