企業平台

Bedrock 上的 Claude 進階功能:延伸思考、圖片、PDF 與提示快取

在 Bedrock 上有四組能力最值得優先認識:延伸思考讓 Claude 先推理再作答,適合複雜任務;圖片與 PDF 支援讓它直接分析視覺與文件內容;citations 讓回答的每個說法都能對回原文出處;prompt caching 則把重複內容的運算存起來,讓後續請求更快也更省錢。
Bedrock 上的 Claude 進階功能:延伸思考、圖片、PDF 與提示快取:文章重點卡

Bedrock 上的 Claude 進階功能:延伸思考、圖片、PDF 與提示快取

前兩篇把 Bedrock 的環境與基本對話架好了,這一篇進入真正拉開差距的部分:延伸思考、圖片、PDF 與 citations、prompt caching。這四組能力決定了你的應用是「能動」還是「好用又划算」。

每個功能背後都有一句同樣的提醒:開不開、開多少,讓評測數據決定,不要憑感覺。這句話會在下面反覆出現,因為它真的重要。

你將學到什麼

延伸思考

讓 Claude 先想再答,用 budget_tokens 控制思考額度。

圖片與 PDF

把影像與文件直接放進訊息裡,讓 Claude 分析。

Citations

讓回答的每個說法都能對回文件出處,建立信任。

Prompt caching

用 cachePoint 省下重複運算的時間與費用。

延伸思考:讓 Claude 先想再答

延伸思考(extended thinking)讓模型在給出最終回答之前,先花時間把問題推演一遍。開啟之後,回應會變成兩個部分:推理內容(Claude 的內部思考過程)與文字內容(你真正要的答案)。推理內容會攤開它怎麼拆解問題、考慮了什麼、怎麼得出結論,對除錯複雜任務非常有價值。

  • 好處:複雜任務的準確度更好,推理過程透明可檢視。
  • 代價:思考的 token 也要付費,而且思考需要時間,延遲會增加。

還有兩個實務細節。第一,推理內容會附一個加密簽章,確保思考文字沒被竄改,之後把推理帶回後續對話時會驗證。第二,思考內容偶爾會被安全機制遮蔽,改回傳 redactedContent:內容加密、你讀不到,但仍然可以原樣傳回給 Claude,不會遺失上下文。啟用的方式是在請求裡加兩個參數:

additional_model_fields["thinking"] = {
    "type": "enabled",
    "budget_tokens": thinking_budget
}
開不開,讓數據決定budget_tokens 控制 Claude 能花多少 token 思考,最低 1024。正確的順序是:先優化提示、跑評測,數據顯示準確度仍不足,再開延伸思考,並用評測找出合適的額度。

圖片:視覺任務照樣吃提示工程

Claude 能直接分析訊息裡的圖片:數物件、比較多張圖、讀文件截圖都行。限制要先記住:單一請求最多 20 張圖、單張上限 3.75MB、長寬上限 8000px,每張圖的 token 數約等於寬乘以高再除以 750。加圖片的方式,就是在 content 清單裡多放一個 image 部件:

with open("image.png", "rb") as f:
    image_bytes = f.read()

add_user_message(messages, [
    {
        "image": {
            "format": "png",
            "source": {"bytes": image_bytes}
        }
    },
    {"text": "What do you see in this image?"}
])

最重要的一句提醒:文字的提示工程技巧,對圖片一樣有效。與其問「圖裡有幾顆彈珠」,不如給一套方法:先逐顆編號辨識,再換一種方式從左下角逐列重數一次驗證。給步驟、給準則、給範例,視覺任務的準確度會明顯提升。

有個很實際的例子是保險業的火災風險評估:用高解析度衛星影像加上結構化的分析步驟,讓 Claude 逐項檢查樹木密度、通道進出與屋簷上方的枝條。

PDF 與 citations:讓回答有出處

PDF 的用法跟圖片很像,差別在改用 document 部件,並多帶一個檔名欄位:

with open("./earth.pdf", "rb") as f:
    file_bytes = f.read()

add_user_message(messages, [
    {"document": {
        "format": "pdf",
        "name": "earth",
        "source": {"bytes": file_bytes},
        "citations": {"enabled": True}
    }},
    {"text": "How were Earth's atmosphere and oceans formed?"},
])

重點在最後那行 citations。啟用之後,回應不再只有文字,還會多出引用資料:每個說法對應到來源文件的哪一頁、哪一段原文。使用者可以回頭核對,不必盲信 AI 的解讀。在研究、法遵、專業文件分析這類「說錯話有代價」的場景,這個功能是把 Claude 從黑盒子變成會亮出證據的研究助理。

Prompt caching:別把算過的工丟掉

每次請求進來,Claude 都要先做一輪前置運算:斷詞、建立嵌入、依上下文調整,然後才開始生成。做完這一輪,預設是全部丟掉。問題來了:多輪對話每次都要把整段歷史重送,Claude 等於一遍又一遍重算它剛剛才算過的內容。

prompt caching 的解法很直白:把前置運算的成果存進快取。第一次請求寫入快取,五分鐘內的後續請求若內容相同就直接讀取,更快也更便宜。聊天機器人、文件分析工具這類反覆送出相同內容的應用,受益最明顯。

第一次請求系統提示+對話內容完整前置運算寫入快取五分鐘內的後續請求相同內容+新訊息直接讀取快取只算新增部分更快、更省
首次請求把前置運算寫入快取,五分鐘內內容相同的後續請求直接讀取,只處理新增部分。

快取的遊戲規則

快取不是自動開的,要自己在訊息裡放 cachePoint 部件:快取點之前的所有內容會被快取,之後的不會。規則整理如下:

  • 快取點之前的內容必須完全相同才會命中,哪怕開頭多加一個字都會整段重算。
  • 要快取的內容合計至少 1024 個 token,太短不會被快取。
  • 快取點可以橫跨多則訊息,連 assistant 訊息也能一起快取整段對話歷史。
  • 快取點不限於使用者訊息:系統提示與工具定義才是最常見、最划算的快取位置,因為它們幾乎不變。
system = [
    {"text": "You are a senior software..."},
    {"cachePoint": {"type": "default"}}
]

tools = [
    {"toolSpec": add_duration_to_datetime_schema},
    {"toolSpec": get_current_datetime_schema},
    {"cachePoint": {"type": "default"}}
]

把這四組能力放在一起看,你會發現它們共同的精神:延伸思考買準確度、圖片與 PDF 擴大輸入的邊界、citations 買信任、caching 買速度與成本。每一項都有代價,所以每一項都值得用評測驗證過再上線。

參考出處本文取材自 Anthropic 官方 Claude Academy 免費課程「Claude with Amazon Bedrock」,由酒Ann 消化後以自己的視角重新編寫。想看英文原版課程,可到 Claude Academy 修習。

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

延伸思考什麼時候該開?
先跑評測。提示已經優化過、準確度仍不夠,才考慮開延伸思考,並用評測找出合適的思考額度。它會增加費用與延遲,所以決策要靠數據不靠感覺。
圖片有什麼限制?
單一請求所有訊息合計最多 20 張圖、單張上限 3.75MB、長寬上限 8000px;每張圖的 token 數約等於寬乘以高再除以 750。
prompt caching 的快取能存多久?
快取存活 5 分鐘,而且快取點之前的內容合計至少要 1024 個 token 才會被快取,內容也必須與上次完全相同才讀得到。
什麼內容最值得快取?
系統提示與工具定義。它們幾乎不隨請求改變,是最常見也最划算的快取對象;對話歷史在多輪對話裡也很適合。