KODA Format:一种 Schema-First 数据格式,以降低 LLM 令牌使用(40%)

发布: (2026年5月4日 GMT+8 16:28)
5 分钟阅读
原文: Dev.to

Source: Dev.to

Introduction

在使用大型语言模型(LLMs)构建应用程序时,最常被忽视的成本之一是结构化数据的表示方式。大多数系统使用 JSON,但 JSON 对于 LLM 输入来说效率低下。

Source:

JSON 的问题

JSON 为每条记录重复字段名,浪费 token。

示例

[
  {"id": 1, "title": "Bug", "state": "open"},
  {"id": 2, "title": "Fix", "state": "closed"}
]

每个对象都会重复键 idtitlestate
如果你发送 1 000 条记录,这些键会被重复 1 000 次,导致:

  • token 浪费
  • 成本更高
  • 有效上下文窗口变小

KODA: Knowledge‑Oriented Data Abstraction

KODA 是一种 schema‑first 数据格式,旨在减少向 LLM 发送结构化数据时的 token 使用量。它的工作方式如下:

  1. 首次定义结构(schema‑first)
  2. 位置编码数值
  3. 消除 JSON 中重复的键

优化对象

  • 检索增强生成(RAG)流水线
  • 工具调用系统
  • 代理工作流
  • 大量结构化 LLM 输入

KODA 语法示例

KODA/1
@META
schemas:issue
counts:issue=3

@SCHEMA
issue:id title state

@DATA:issue
1|Bug|open
2|Fix|closed

没有重复的键——只有模式定义和数值。

令牌减少结果

使用 GPT‑4o‑mini 分词器在真实数据集上测量。

案例JSON 令牌KODA 令牌减少率
重复日志3 2021 23361.5 %
GitHub 问题4 1372 57637.7 %
小型数据集2635‑34.6 %

KODA 在大型、重复的结构化数据上表现最佳。对于非常小的数据集,模式开销可能抵消其优势。

为什么令牌重要

  • Tokens = 成本 (API 定价)
  • Tokens = 延迟 (处理时间)
  • Tokens = 上下文容量 (模型能够看到的数据量)

将令牌减少约 30–40 %:

  • 降低 API 成本
  • 增加可用上下文
  • 提高整体系统效率

KODA 工作原理

  • Schema → 定义一次
  • Data → 按位置流式传输

这消除了结构冗余。

Python 示例

from koda import Schema, Field, encode

schema = Schema("user", [
    Field("id"),
    Field("name"),
    Field("email", optional=True),
    Field("active", default="true")
])

data = [
    {"id": 1, "name": "Alice", "email": "alice@example.com"},
    {"id": 2, "name": "Bob"}
]

koda_str = encode(data, schema)
print(koda_str)

格式比较

格式令牌效率可读性最佳使用场景
JSONAPIs
YAML配置文件
TOONLLM 结构化数据
KODALLM 流程

何时使用 KODA

如果您符合以下情况,请使用 KODA:

  • 向 LLM 发送大型结构化数据集
  • 构建 RAG 流水线
  • 使用工具调用或代理
  • 在生产系统中优化 token 使用

请勿在以下情况下使用 KODA:

  • 小型数据集(1–2 条记录)
  • 不规则或深度嵌套的 JSON
  • 人工编写的配置文件(建议使用 JSON)

常见问题

  • KODA 是 JSON 的替代品吗?
    不是。KODA 是用于 LLM 流水线的传输格式,充当优化层。对于一般使用,JSON 仍是更好的选择。

  • KODA 能与任何 LLM 配合使用吗?
    它专为 LLM 输入而设计;在大型结构化数据集上效果最佳。

  • 哪些工作负载受益最大?
    RAG 流水线、工具调用以及其他结构化 LLM 输入场景。

入门

  • 仓库:
  • 安装:
pip install koda

如果您向 LLM 发送结构化数据,可能会浪费 token。KODA 提供了一种简便的方法来降低这种开销。欢迎提供反馈和贡献。

0 浏览
Back to Blog

相关文章

阅读更多 »

使用 AI 的开发者的四种认知原型

最近我一直在思考一件事:对大多数开发者来说,问题不再是“你在使用 AI 吗?”,而是“你是如何以及为何使用 AI?” 我的工作流...