AI News HubLIVE
站內改寫1 分鐘閱讀

我用JSON而不是截圖來餵我的編程代理

作者開發了SlimSnap工具,將屏幕截圖轉換為結構化JSON,供AI編程代理使用。相比直接粘貼截圖,JSON表示可節省37-85%的令牌,且代理能直接引用元素而無需每次重新解釋像素。文章詳細説明了令牌節省、結構化優勢、技能集成及開放模式的重要性。

來源Hacker News AI作者: bickov

在AI編程代理(如Claude Code、Cursor、ChatGPT)能夠直接讀取圖像的時代,作者卻選擇了一種看似倒退的方式:將屏幕截圖轉換為結構化的JSON數據再餵給代理。他開發的SlimSnap工具,正是為了解決一個實際問題——圖像表示對於編程任務而言,成本高昂且信息有損。

令牌效能是首要考量。以Claude Sonnet為例,單張截圖消耗約1,568令牌,而SlimSnap輸出的JSON僅需700令牌,節省近55%。在長期迭代的編程會話中,這種差距更為顯著:20輪屏幕截圖在Sonnet上消耗約31K令牌,而JSON只需14K,為上下文窗口騰出了寶貴空間。

更關鍵的是結構化信息的優勢。截圖是像素的集合,代理需要從中推斷元素含義,且每次調用都需重新理解。而JSON精確描述了每個元素的類型、位置、顏色和文本,代理可直接引用ID(如e4按鈕),無需重複猜測。這對前端開發、設計轉代碼和缺陷復現等場景尤其重要,因為代理能立即明確用户所指。

SlimSnap的集成方式也體現了優雅的設計。桌面應用捕獲屏幕並生成JSON,寫入配置文件。Claude Code的技能(skill)自動讀取配置文件並加載最新JSON,用户只需按快捷鍵、保存、輸入“修復這裏”,代理即可獲得結構化上下文,無需額外命令。這種“技能自動觸發”機制讓工具幾乎隱形。

作者強調,開放的模式和技能才是真正的產品。SlimSnap的桌面應用是閉源的,但模式定義(JSON Schema)和Claude Code技能都以MIT協議開源。這意味着即使SlimSnap停止維護,用户的工作流和數據不會受鎖——任何人都可以基於開放模式構建新的註解器或消費者。

總之,SlimSnap並非要取代截圖功能,而是為高頻使用編程代理的場景提供一種更高效、精準的替代方案。它最適合那些需要反覆向代理展示界面狀態的前端工作流。對於單次臨時查詢,直接貼截圖依然簡單有效。