🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付

在建立基於 AI 和 LLM 的應用程式時,最大的隱性成本之一往往來自一些簡單的事情——資料格式

當您將 JSON 傳送到大型語言模型 (LLM) 時,JSON 中的每個{}[]"都算是一個標記。

如果負載很大或資料結構複雜,這會迅速消耗代幣(和資金)。 ⚡️

這時, TOON(以標記為導向的物件表示法)就派上了用場——這是一種專為LLM設計的格式,旨在使結構化資料緊湊、易讀且具有標記效率。


💡 什麼是 TOON?

TOON代表以標記為導向的物件表示法-一種針對 LLM 最佳化的現代輕量級資料格式。

你可以這樣理解:

“重新構想的JSON,旨在提高令牌效率和增強人類可讀性。”

它去掉了多餘的部分——沒有花括號、方括號或引號——而是使用縮排和表格模式

最終得到的格式模型(和人類)可以輕鬆解析,同時使用的標記數量也少得多


⚙️ 為什麼卡通很重要

當您向 LLM 發送 JSON 時:

  • 每個標點符號都會增加詞符計數。

  • 長陣列中重複的按鍵會增加計算成本。

  • 冗長的描述其實無助於建立理解模型。

TOON 透過以下方式解決這個問題:

  • 每個類別表塊聲明一次

  • 用縮排代替逗號/大括號

  • 保持資料清晰度,同時減少語法噪音

💰結果:平均減少 30-60% 的代幣。


🧠 例:TOON 行動

JSON

{
  "users": [
    { "id": 1, "name": "Alice" },
    { "id": 2, "name": "Bob" }
  ]
}

語氣

users[2]{id,name}:
  1,Alice
  2,Bob

結構相同。

意思相同。

大約一半的代幣。


🧰 使用 TypeScript 將 JSON 編碼為 TOON

使用官方的TOON軟體包親自嘗試。

安裝

npm install @toon-format/toon
# or
pnpm add @toon-format/toon

範例程式碼

import { encode, decode } from "@toon-format/toon";

const data = {
  users: [
    { id: 1, name: "Alice", role: "admin" },
    { id: 2, name: "Bob", role: "user" },
  ],
};

const toon = encode(data);
console.log("TOON Format:\n", toon);

// Decode back to JSON if needed
const parsed = decode(toon);
console.log("Decoded JSON:\n", parsed);

輸出

users[2]{id,name,role}:
  1,Alice,admin
  2,Bob,user

⚖️ JSON 與 TOON

| 功能 | JSON | TOON |

|---------|------|------|

|用途| 一般資料格式(API、設定、儲存) | 適用於生命週期管理的高效率令牌化格式 |

|語法| 詳細{} , [] , " | 緊湊縮進,表格樣式 |

|可讀性| 中 | 高(對人和模型都很友善) |

|代幣使用率| 高 | 🔥 最多可減少 60% |

|最佳應用案例| API、持久化 | LLM 提示、結構化輸出 |

|嵌套物件| 優 | ⚠️ 對於深度嵌套效率低 |

|生態系| 成熟、普遍 | 新興、快速成長 |


⚠️ 何時不應使用 TOON

TOON 非常適合處理扁平的表格型 JSON 物件,但對於深度嵌套的結構來說並不理想。

在這種情況下,額外的縮排和上下文實際上會增加詞元數

例子:

{
  "company": {
    "departments": [
      {
        "name": "Engineering",
        "employees": [{ "id": 1, "name": "Alice" }]
      }
    ]
  }
}

➡ 將其轉換為 TOON 格式可能會更耗時,而不是更短

✅ 最適合

  • 扁平列表(使用者、產品、訊息)

  • 提示模板

  • 模型訓練或評估資料集

❌ 避免

  • 深層嵌套層級

  • 複雜關係資料


📊 代幣效率快照

| 資料集 | JSON 令牌 | TOON 令牌 | 節省 |

|---------|-------------|-------------|---------|

| 使用者清單 | 150 | 82 | -45% |

| 產品目錄 | 320 | 180 | -44% |

| 嵌套資料 | 410 | 435 | ❌ +6% |


🧩 太長不看

TOON(以標記為導向的物件表示法)是 JSON 的一種輕量級、高效的標記替代方案,專為 AI 和 LLM 工作負載而建置。

✅ 更簡潔的語法

✅ 人類可讀

✅ 代幣數量最多減少 60%

但請記住——它最適用於扁平的 JSON 物件,不適用於深度嵌套的結構。

如果您正在建立 LLM 管道、提示範本或結構化 AI 資料集,TOON 可以節省代幣、降低成本並保持資料清潔。


🧪 額外內容:基準令牌計數(JSON 與 TOON)

這是一個簡單的 Node.js 腳本,您可以使用它透過 OpenAI 的tiktoken分詞器來比較 JSON 和 TOON 之間的令牌使用情況。

安裝依賴項

npm install @toon-format/toon tiktoken

腳本

import { encode } from "@toon-format/toon";
import { encoding_for_model } from "tiktoken";

const data = {
  users: [
    { id: 1, name: "Alice", role: "admin" },
    { id: 2, name: "Bob", role: "user" },
    { id: 3, name: "Charlie", role: "editor" },
  ],
};

const jsonData = JSON.stringify(data, null, 2);
const toonData = encode(data);

// Use GPT-4 tokenizer (you can change to "gpt-3.5-turbo" etc.)
const tokenizer = encoding_for_model("gpt-4o-mini");

const jsonTokens = tokenizer.encode(jsonData).length;
const toonTokens = tokenizer.encode(toonData).length;

console.log("📊 Token Comparison");
console.log("-------------------");
console.log("JSON tokens:", jsonTokens);
console.log("TOON tokens:", toonTokens);
console.log("Savings:", (((jsonTokens - toonTokens) / jsonTokens) * 100).toFixed(2) + "%");

tokenizer.free();

範例輸出

📊 Token Comparison
-------------------
JSON tokens: 84
TOON tokens: 32
Savings: 61.90%

您可以根據自己的資料集進行調整——對於扁平的表格資料,您會發現可以持續節省 30% 到 60% 的代幣


💬 結語

LLM 的生態系統正在快速發展,即使是像從 JSON 切換到 TOON 這樣的小優化,也能大規模地帶來巨大的成本和效能改進

試試看,測試一下,看看你能省下多少代幣(和美元)! 🚀


標籤:#人工智慧 #LLM #提示工程 #JSON #TOON #人工智慧最佳化 #OpenAI #資料壓縮 #開發者工具


原文出處:https://dev.to/abhilaksharora/toon-token-oriented-object-notation-the-smarter-lighter-json-for-llms-2f05


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝9   💬5   ❤️5
339
🥈
我愛JS
📝2   💬3   ❤️4
72
🥉
酷豪
1
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
🔧 阿川の電商水電行
Shopify 顧問、維護與客製化
💡
小任務 / 單次支援方案
單次處理 Shopify 修正/微調
⭐️
維護方案
每月 Shopify 技術支援 + 小修改 + 諮詢
🚀
專案建置
Shopify 功能導入、培訓 + 分階段交付