pdf (Anthropic)
讀取、編輯、合併、拆分、加浮水印與對 PDF 做 OCR,並填寫或建立 PDF 表單。
pdf 技能評測:在我們的任務上沒有提升,成本卻是兩倍
Codex CLI · gpt-6-astra
20.6 / 30
相對未使用技能的提升:+0.00 · 視情況推薦 · 18 次執行
視情況推薦:總分 20.6/30 低於 22,並且提升幅度 +0.00 低於 +1.0。推薦條件為總分至少 22/30、產出品質至少 3.5、提升幅度至少 +1.0。
SOTA
透過使用 Codex 測試。
涵蓋 Codex, Claude Code
Codex CLI 0.166(SOTA 等級):18 次評分執行。依我們的等級規則,在這裡通過也涵蓋 Claude Code;但這不代表第二等級的結果。
分數
每個維度為 0 到 5 分,六個維度相加即為滿分 30 的總分。每個維度都是 5 分最好。成本 5 分代表便宜又快速;安裝 5 分代表容易安裝。
- 觸發可靠性
- 5.0
- 相對未使用技能的提升
- 2.0
- 產出品質
- 4.6
- Token 與時間成本
- 2.0
- 安裝與可攜性
- 3.0
- 安全性
- 4.0
安全審查
安全靜態掃描:0 CRITICAL / 0 HIGH / 0 MEDIUM。人工審查:可在無網路沙箱中安全執行(未發現問題)。掃描結果乾淨,不代表技能一定安全。
安裝
npx skills@latest add anthropics/skills --skill pdf
固定 Commit: ca45fc496a3436251f191354091d557da31c15b5
測試日期: 2026-11-02
我們測了什麼
- 表格擷取。把一份橫跨兩頁的 12 列表格(第二頁重複表頭)匯出到 sales.csv,並回報總營收。
- 合併、旋轉、分割。合併兩份 PDF,只把最後一頁旋轉 90 度,將第一頁另存為 cover.pdf,原始檔案保持不動。
- 填寫表單。在可填寫的 PDF 中設定三個欄位並勾選一個核取方塊,讓欄位保持可編輯。
優點
- 技能即使未被點名也會被採用:6/6 次實驗組執行都讀取了技能(任何 PDF 任務都能自動觸發)。
- 使用技能後的絕對品質很高:4.58 / 5。
缺點
- 相較未使用技能,沒有可測量的提升(+0.00,落在雜訊範圍內)。
- 一句話提示得分 5.0,使用技能則為 4.58(-0.42)。
- Token 用量是未使用技能的 1.98 倍。
- 測試注意事項:一句話提示組是後來在 Windows 機器上執行,且 pypdf 以內附(vendored)方式提供,因此它與對照組、實驗組的比較受到環境因素干擾。
- 每個任務的每個組別 n=2;約 1 分以內的差異屬於雜訊。
評測
使用 Codex CLI 0.166(gpt-6-astra,低推理),每次執行都建立全新的暫存專案,分別安裝技能或不安裝,每個組別各執行 2 次,關閉網路。輸入是我們自行產生的 PDF,因此可以用程式碼檢查結果。提示詞從未提到技能。
三組對照
| 組別 | 平均分數(0-5) | 每次執行 Token 用量 |
|---|---|---|
| 未使用技能 | 4.58 | 116k |
| 一句話提示 | 5.0 | 69k |
| 使用技能 | 4.58 | 228k |
以 Codex CLI 執行 18 次,採規則式檢查評分,不經 LLM 評審。總分 20.6 / 30,評級為 視情況推薦。
揭露事項:一句話提示組是後來在 Windows 機器上執行,且 pypdf 以內附(vendored)方式提供,因此它與對照組、實驗組的比較受到環境因素干擾。
判定:視情況而定(20.3 / 30)。 來源:anthropics/skills,skills/pdf,固定於提交 ca45fc4。安裝:npx skills@latest add anthropics/skills --skill pdf。授權條款:專有授權(使用受你與 Anthropic 的協議規範;這不是開放原始碼)。
這是什麼
一份 PDF 工作指南:讀取與擷取文字和表格、合併、分割、旋轉、浮水印、建立新 PDF、填寫表單、加密、擷取圖片、OCR 掃描頁面。SKILL.md 以 Python 片段(pypdf、pdfplumber、reportlab)與命令列工具(pdftotext、qpdf)涵蓋基礎內容。另外兩個檔案(forms.md、reference.md)與八個輔助指令碼則處理表單與邊界框。
我們如何測試
使用 Codex CLI 0.166(gpt-6-astra,低推理),每次執行使用全新的暫存專案,安裝技能或未安裝,每組執行兩次,網路關閉。輸入是我們自行產生的 PDF,因此可以用程式碼檢查結果:
- 表格擷取。 將橫跨兩頁的 12 列表格(標題列在第 2 頁重複)擷取到
sales.csv,並回報總營收。 - 合併、旋轉、分割。 合併兩個 PDF,只將最後一頁旋轉 90 度,將第一頁存為
cover.pdf,不要動到原始檔。 - 填寫表單。 在可填寫的 PDF 中設定三個欄位並勾選一個核取方塊,讓欄位保持可編輯。
提示詞從未提及技能。
實際發生了什麼
它會穩定觸發。 代理在全部六次實驗組執行中都讀取了 SKILL.md,未經提示。
它對結果沒有影響。 任務 1(2/2 項檢查)與任務 2(6/6 項檢查)在兩組各四次執行中全部通過。任務 3 在每組各失敗一次,因此兩組整體都是 6 次執行中通過 5 次。
兩次失敗如出一轍,而且兩個代理都說自己成功了。 核取方塊被存成文字值 Yes,視覺狀態卻維持 /Off。PDF 檢視器會顯示為未勾選,而這兩次執行的最終訊息都說方塊已勾選。一次失敗是對照組,另一次是實驗組。實驗組代理讀過 FORMS.md,其中要求檢查欄位類型並使用每個核取方塊的 checked_value,但它根本沒有進展到那一步(下一段),因此技能並未防止這個錯誤。
指令碼沒有照文件所述執行。 FORMS.md 要求執行 python scripts/check_fillable_fields ...。macOS 沒有 python,只有 python3,而預設環境沒有 pypdf。兩次實驗組執行於是分道揚鑣。一次搜尋磁碟,在使用者的 uv 快取中找到 pypdf,透過 PYTHONPATH 執行技能自家的指令碼,正確填好了表單。另一次嘗試 pip install(離線失敗),接著寫了一個 Swift/PDFKit 程式,結果把核取方塊弄錯了。對照組也以相同方式隨機應變(一次用 Swift,另一次用 pypdf)。因此技能的工具有幫助的只有那一次成功從專案目錄外借用函式庫的執行。
它讓成本翻倍。 實驗組平均花費 228,000 Token,未使用時為 116,000(1.98 倍),耗時 72 秒對 46 秒。代理會先讀技能,再讀 forms.md,然後先嘗試指令碼。在表單任務中,成功的那次實驗組執行需要 35 個指令與 434,000 Token;對照組則需要 16 個指令與約 185,000。
可攜性注意事項
SKILL.md提到FORMS.md與REFERENCE.md,但實際檔案是forms.md與reference.md。這在我們的執行中可行,因為 macOS 檔案系統忽略大小寫;在 Linux 上那些連結會失效。- 它假設已安裝
python與數個 Python 函式庫。乾淨的機器通常兩者都沒有。 - 指南提到用
pip install pytesseract pdf2image進行 OCR,這需要網路存取。
安全性審查
我們執行了掃描器,然後閱讀 SKILL.md、forms.md、reference.md 與全部八個指令碼。這些指令碼只匯入標準函式庫模組,加上 pypdf、pdfplumber、pdf2image 與 PIL;它們讀取輸入檔並寫入本機檔案。沒有子程序呼叫、socket、環境變數讀取、eval 或下載。沒有隱藏任何東西或碰觸憑證的指示。值得標記的發現是授權條款:它是專有授權,因此本站不應將其標示為開放原始碼。見 security.md。
分數
| 面向 | 分數 | 原因 |
|---|---|---|
| 輸出品質 | 4.33 | 兩組各有 6 次執行中的 5 次完全正確 |
| 相較無技能的提升 | 2.0 | 差異 0.0 |
| 觸發 | 5.0 | 6/6 次執行未經提示即讀取 |
| 指令與可攜性 | 3 |
|
| 效率 | 2 | 1.98 倍 Token,時間約 1.6 倍 |
| 安全性與衛生 | 4 | 指令碼乾淨;專有授權 |
誰適合使用
現代代理已經能在沒有輔助的情況下合併、旋轉、分割並從乾淨的 PDF 擷取表格,正如我們的對照組所示,因此對這些工作而言,技能大多只是增加 Token。在我們未測試的較困難案例中,它或許能回本:掃描文件與 OCR、受密碼保護的檔案、沒有可填寫欄位的表單(邊界框工作流程),或是已安裝輔助函式庫、指令碼可運作的環境。如果你要安裝,請先確認 python 與 pypdf 存在,否則指南無法照原文執行。
這項測試的限制
每組兩次執行、三項任務、一個低推理強度的模型、離線沙箱且預設環境沒有 Python PDF 函式庫。各次執行共用系統暫存資料夾,而有一次實驗組執行重用了另一次執行在該處建立的虛擬環境,因此執行之間的隔離並不完美。設備齊全的機器可能讓結果變得對技能有利。根據本站規則,Codex 層級同時適用於 Codex 與 Claude Code。
更新(2026 年 11 月 2 日):新增一句話提示組
第三組:沒有技能,附加一句話(「使用適當的 PDF 工具:依頁擷取表格並保留標題列、合併/旋轉/分割頁面且不遺失內容、依名稱填寫真正的表單欄位並保持原始檔案不變,然後重新開啟輸出檔進行驗證。」)。6 次執行,規則式檢查,在 Windows 機器上執行,離線環境提供隨附的 pypdf/pdfplumber 組合。
| 組別 | 平均分數(0-5) | 每次執行 Token 數 |
|---|---|---|
| 無技能 | 4.58 | 116k |
| 一句話 | 5.00 | 69k |
| 已安裝技能 | 4.58 | 228k |
六次一句話提示執行全都通過每一項檢查,包括在對照組與技能組各失敗一次的那個核取方塊表單填寫。技能花費的 Token 是一句話提示的 3.3 倍。提醒:一句話提示的執行是在不同機器(Windows)上進行,前兩組則是 macOS,而且有可用的 PDF 函式庫,Mac 的執行則沒有,因此這項比較受到環境混淆。這確實顯示技能 2 倍的 Token 額外成本在這三項任務上沒有換到任何東西。
完整紀錄
執行日誌:pdf (Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run.) 欄位:任務、組-輪次、得分(0-5)、token、秒、通過的檢查、代理開啟的 skill 檔案。 t1-table-extract control-1: 得分 5.0, token 60651, 秒 25.2, 檢查 2/2, 未開啟 t1-table-extract control-2: 得分 5.0, token 60785, 秒 24.8, 檢查 2/2, 未開啟 t1-table-extract oneliner-1: 得分 5.0, token 90438, 秒 33.9, 檢查 2/2, 未開啟 t1-table-extract oneliner-2: 得分 5.0, token 91726, 秒 41.4, 檢查 2/2, 未開啟 t1-table-extract treatment-1: 得分 5.0, token 123259, 秒 43.4, 檢查 2/2, 開啟 pdf t1-table-extract treatment-2: 得分 5.0, token 128381, 秒 38.7, 檢查 2/2, 開啟 pdf t2-merge-rotate control-1: 得分 5.0, token 91967, 秒 56.9, 檢查 6/6, 未開啟 t2-merge-rotate control-2: 得分 5.0, token 108232, 秒 45.9, 檢查 6/6, 未開啟 t2-merge-rotate oneliner-1: 得分 5.0, token 49185, 秒 27.4, 檢查 6/6, 未開啟
18 次執行、3 個產出檔案
範例產出
SOTA · 装了 skill:sales.csv(t1-table-extract,第 1 次,Codex)
Product,Region,Units,Revenue Aurora Lamp,EMEA,1240,48360 Basalt Desk,NA,310,93000 Cedar Shelf,NA,875,52500 Delta Chair,APAC,642,70620 Ember Kettle,EMEA,2210,66300 Fjord Rug,NA,198,39600 Grove Planter,APAC,1534,30680 Harbor Clock,EMEA,420,25200 Iris Vase,NA,905,27150 Juniper Stool,APAC,377,20735 Kestrel Mirror,EMEA,260,41600 Lumen Sconce,NA,733,43980