一個業務應用到底有多少 token?一個完整 CRM 只有 16k
用 AI 真正工作的單位來度量,一個完整 CRM 只是約 16k token 的型別化後設資料——佔一個上下文視窗的 8%。能整體裝進智慧體上下文的軟體,維護方式完全不同。我們稱之為「上下文體量的軟體」。
一句話版本: 用 AI 真正工作的單位——token——來度量,一個完整的 CRM 只有約 16,000 token:31 個檔案、1792 行型別化後設資料,覆蓋資料模型、檢視、儀表盤、線索轉化流程、許可權、動作和多語言翻譯。這不到一個標準 200k token 上下文視窗的 8%。能過這條線的軟體值得一個名字:上下文體量的軟體(context-sized software)——小到 AI 智慧體能整體裝入、整體推理、整體重構的系統。一旦系統達到上下文體量,智慧體就不再是自動補全,而是維護者。
自己算一遍
這個數字不是我們設計出來的基準,它就來自一個普通的應用——開源 ObjectStack 框架自帶的 CRM 示例:
git clone https://github.com/objectstack-ai/objectstack
find objectstack/examples/app-crm/src -name '*.ts' -not -name '*.test.ts' \
| xargs cat | wc -l
# → 31 個檔案共 1792 行 ≈ 16k token(按約 4 字元/token 估算)
| 系統 | 檔案數 | 行數 | ≈ Token | 能裝進 200k 上下文? |
|---|---|---|---|---|
CRM 示例(app-crm)——物件、檢視、儀表盤、流程、許可權、翻譯 | 31 | 1792 | ~16k | 能——還有 12 倍餘量 |
| HotCRM——完整的市場級 CRM:15 個物件、10 個流程、4 個儀表盤、2 個 AI copilot、4 種語言 | 128 | ~17,000 | ~150k | 能——剛好 |
| 傳統手寫 CRM 程式碼庫 | 數千 | 30 萬–100 萬+ | 數百萬 | 差得遠 |
同一個產品品類,相差三個數量級。
為什麼 token 成了正確的度量單位
五十年來我們用程式碼行數度量軟體,因為約束條件是人類讀者。現在讀者換了。AI 智慧體要安全地修改一個系統,得先把系統裝進上下文——這把所有程式碼庫分成兩種狀態:
- 系統大於上下文。 智慧體只能 grep、抽樣、猜測。它的修改是區域性的,錯誤卻是全域性的。每次變更都是隔著鑰匙孔做考古。
- 系統小於上下文。 智慧體一次讀完所有東西——每個物件、每條許可權規則、每個依賴。*「改這裡會弄壞什麼?」*從一個願望變成一個可回答的問題。跨領域的變更——把一個概念在資料模型、許可權、API 和介面裡統一重新命名——是一個連貫的 diff。
這不是漸進式改善,是狀態切換。而分界線就畫在你的上下文視窗所在的位置。
業務應用為什麼能壓縮 50 倍
不靠壓縮技巧,靠刪除。一個企業應用是兩樣東西交織在一起:
- 決策。 有哪些物件、它們如何關聯、誰能看到哪個欄位、線索轉化時發生什麼。這是你的業務本體(ontology),真正不可約減——只有你能做這些決定。
- 管道。 資料表、CRUD 介面、列表頁和詳情頁、許可權中介軟體、審計寫入。這些在古往今來每一個業務應用裡幾乎一模一樣——也就意味著它們是可派生的。
ObjectStack 押的注是:製品裡只保留決策,管道全部由執行時派生。那 1792 行就是決策清單——型別化、經 Zod 校驗的後設資料。資料庫 schema、REST API、管理介面和 MCP 工具在每次啟動時由它計算出來。可派生的東西一概不儲存,所以可派生的東西永遠不會漂移——也永遠不佔你的 token 預算。
什麼壓縮不了
對邊界誠實,比推銷更重要:
- 新穎演算法。 定價最佳化器、自定義撮合引擎,過去是真程式碼,現在還是真程式碼。格式留有逃生艙——action 和外掛就是普通 TypeScript。
- 畫素級定製體驗。 Schema 驅動的 UI 渲染企業軟體的模式非常好;但品牌官網和遊戲不是這麼做的。
- 奇特的整合。 對接一個三十年前的 SOAP 服務,聯結器程式碼還是聯結器程式碼。
所以這個論斷比「一切皆後設資料」更窄——也因此更強:構成企業軟體主體的 CRUD + 工作流核心是可派生的,而真正重要的殘差——本體——裝得進上下文。
軟體達到上下文體量後,什麼變了
- 評審變成真的。 1792 行是一次程式碼評審;30 萬行是一場儀式。人能讀完整個 diff,校驗門和執行時的許可權、審計強制在後面兜底。
- 維護不再腐爛。 整個系統裝得進上下文時,智慧體是整體重構,而不是修補它看得見的那部分。企業軟體常見的熵增曲線——每次變更都比上一次更危險——被拉平了。
- 本體始終歸你。 定義是 Apache-2.0 的開放格式,是你倉庫裡的普通檔案——人能讀,任何智慧體能寫,可跨執行時遷移。
跑一遍這個迴圈
把你的編碼智慧體指向 ObjectStack——腳手架自帶 AGENTS.md 和技能包,智慧體一開始就載入了這個格式的規則:
npm create objectstack@latest my-app && cd my-app
npx os dev --ui # 應用已執行——把下一個需求直接告訴你的智慧體
更想在瀏覽器裡完成?ObjectOS 是同一個思路的託管形態——線上構建與問詢,內建 AI Builder、許可權與審計。