比 TinyPNG 再小 8 到 12 個百分點:pngdeer 背後的實驗,是把壓縮這件事交給 AI 打磨
10 月 27 日,開發者 luin 在 V2EX 分享了自己的新專案 pngdeer。它是一個以 Rust 寫成、採 MIT 授權的開源 PNG 壓縮庫,提供命令列工具,也能直接在瀏覽器本機執行。作者宣稱,在公開基準測試中,以相同的 SSIMULACRA2 畫質評分比較,pngdeer 壓出的檔案大小中位數比 TinyPNG 小 8 至 12 個百分點,並超過目前市面上其他開源專案。
單看數字,這是一個圖片工具的新聞。但這則貼文裡真正值得注意的是開發方式的交代:作者一開始的動機是測試 AI 的邊界能力,把電腦上所有的 PNG 檔案交給 Claude 的 Opus 5.5,讓它開發一個能超越 TinyPNG 的壓縮工具,之後再不斷打磨。作者特別提到,有些圖片總是優化不好,需要深入分析,而且要靠大量人眼評測來糾正 AI 的判斷。
壓縮這件事,像重新打包搬家公司
PNG 壓縮的基本原理,可以用搬家來理解。同一箱碗盤,有人隨手亂塞、填滿報紙,箱子又重又大;有人按大小排列、縫隙填滿,同樣的東西裝進更小的箱子。圖片的像素資料就是那些碗盤,壓縮器的工作是找到最省空間的排列方式,同時不能弄壞任何一個碗,也就是畫質。
麻煩的地方在於「不能弄壞」的標準很主觀。SSIMULACRA2 這類畫質評分模型,就是在模擬人眼對失真的敏感度。pngdeer 支援自動選擇畫質,等於讓工具自己判斷每張圖能壓到多兇,還不會被使用者看出破綻。這也是為什麼作者強調需要人眼評測來糾正 AI:模型覺得沒差的失真,人眼未必同意。
對做網站的人來說,這個工具的意義很實際。頁面載入速度直接影響跳出率與搜尋排名,而圖片往往是頁面裡最重的資源。多壓 8 到 12 個百分點,對單張圖感受不大,對一個圖多的電商或媒體站,累積起來就是可觀的流量與載入時間。能在瀏覽器本機執行,也代表使用者上傳圖片時可以在自己的裝置上先壓好,不必把原始檔送到別人的伺服器。
AI 寫壓縮庫,人的角色換了位置
這個專案更值得討論的層面,是它展示了 AI 協作開發的一種成熟形態。作者並非讓 AI 一口氣生成一個成品,而是把整個流程拆成:AI 產出初版、真實世界的圖片集當考卷、壓不好的圖當錯題本、人眼評測當閱卷老師。AI 負責大量試錯,人負責定義什麼叫「好」。
這與我們先前整理過的Agent 開發者踩出來的工程難題有相似的結論:AI 生成的程式碼,價值取決於有沒有一套量測與回歸的機制盯著它。pngdeer 的基準測試與人眼評測,就是那套機制。沒有它,AI 寫的壓縮器很容易在常見圖片上表現不錯,在長尾案例上 silently 壓壞圖片。
討論串裡的兩則回應也反映了這類工具的下一步。有人建議加上 MCP 功能,讓 AI 能直接呼叫這個壓縮器,作者立刻表示要加;另一位網友分享自己做類似工具時發現去背景特別難,作者則回以團隊先前做的去背景工具連結,並坦言目前要靠模型而非演算法。一個壓縮庫,就這樣串起了 AI 工具鏈裡的上下遊需求。
該怎麼看這個工具
目前可確認的事實是:專案以 MIT 授權開源在 GitHub 上,有瀏覽器展示頁,效能宣稱來自公開基準測試。實際在自己的圖片集上表現如何,仍要自行驗證,尤其是漫畫線稿、螢幕截圖、照片這幾類特性差異很大的圖,壓縮器的強弱項往往不同。
至於「AI 能不能寫出超越既有商業服務的工具」,pngdeer 提供的答案是:能,但條件是人要投入大量真實案例的打磨,而不是一句提示詞就收工。這個條件,恐怕比 8 到 12 個百分點更值得被記住。