Printing Press:Agent-native CLI 工廠,把 API 包裝成低 Token、可本地執行的工具層
Threads 貼文介紹 Printing Press:一套 CLI-factory + CLI-library,主張多數 API、MCP、官方 CLI 對 agent 不友善,浪費 token 與時間;它提供 30+ agent-native CLIs,並能為任意產品生成本地、SQLite-backed 的 CLI。
這篇 Threads 在介紹一個很貼近 Agent 工具層演化的東西:Printing Press,一套「CLI-factory + CLI-library」,目標是幫 agent 產生更適合使用的 command-line tools。
原貼文的主張很直接:最爛的 API 設計都在浪費 token。很多 agent 的 CLI 工具,本質上只是把難用 API 包一層 shell command,對人類可能勉強能用,但對 agent 仍然慢、冗長、輸出不穩、需要太多查詢與解析。
Printing Press 想翻轉這個問題。它提供兩層能力:
- CLI-library
一批現成的 agent-native CLIs。Threads 與搜尋結果提到的例子包含 Linear、ESPN、Flight GOAT(Google Flights + Kayak nonstop)、Contact Goat(LinkedIn + Happenstance + Deepline 等)以及 30+ 個工具。
- CLI-factory
輸入產品名稱,就能「印出」新的 agent-native CLI。也就是把一個 SaaS / API / web service 轉成更適合 agent 使用的本地 CLI。
它的幾個設計方向值得注意:
一、Agent-native,而不是 human-native
很多官方 CLI 是給人類看的:輸出漂亮、互動式、多欄位、需要人工判斷。Agent-native CLI 應該反過來設計:命令語意清楚、輸出結構穩定、錯誤明確、支援 JSON / SQLite / machine-readable format、少廢話、低 token。
二、本地優先
原貼文提到 Printing Press 的 CLI 是 local + SQLite-backed。這很重要,因為 agent 如果每一步都打遠端 API,不只慢,也會遇到 rate limit、網路不穩、認證成本、資料隱私與 token 浪費。本地 cache / SQLite 可以讓 agent 快速查詢、過濾、join、重試與離線推理。
三、減少 token 浪費
Agent 和 API 溝通時,真正貴的不只是 API request,而是模型為了理解 API 文件、解析 verbose response、修正錯誤格式所花的 token。好的 CLI 可以把複雜 API 壓成少量穩定指令,讓模型少讀、少猜、少失敗。
四、工具 discovery 與工具生成
Agent 需要的不只是「有工具」,而是能快速知道有哪些工具、每個工具能做什麼、輸入輸出格式是什麼、如何組合。CLI-factory 的價值在於把新產品轉成一致的 agent tool interface,降低每次整合的邊際成本。
這個方向也呼應 Claude Code、Codex、OpenClaw、Hermes 這類 coding / operating agent 的痛點:真正卡住 agent 的,常常不是模型不會思考,而是工具層太爛。
例如:
• API 文件太長,agent 每次都要重新讀。 • 官方 SDK 需要寫一堆 boilerplate。 • MCP server 回傳太多不必要欄位。 • CLI 輸出偏向人類閱讀,難以穩定 parse。 • 工具沒有本地 cache,反覆查詢浪費時間。 • 錯誤訊息不明確,agent 會在 retry 中浪費 token。
Printing Press 的 thesis 可以整理成一句話:AI agent 時代需要一層新的「工具編譯器」,把人類世界的 API / SaaS / website 編譯成 agent 能高效使用的本地 CLI。
對 BigIntTech / Hermes 的啟發很直接。Hermes 目前已有 toolsets、skills、MCP、browser、terminal、file tools、delegate tools;但長期要讓 agent 更穩,工具本身也要 agent-native 化:
- 每個工具輸出要可預測、低噪音、結構化。
- 常用資料應該 cache 到本地 SQLite / state store。
- CLI / tool schema 要為 agent 推理設計,不只是人類命令列包裝。
- 工具應該提供 narrow commands,而不是一次吐巨大 JSON。
- 工具需要內建驗證、分頁、摘要與錯誤恢復提示。
我會把 Printing Press 放在「MCP 之後的下一層問題」:MCP 解決工具如何接進 agent;agent-native CLI 解決工具是否真的好用、省 token、可長時間執行。
這個差異很重要。接得進來,不代表用得好。Agent 時代的工具競爭,會從「有 API / 有 MCP」進一步走向「誰的工具介面最適合模型操作」。