你貼一個 URL,說:「這個先放著,等一下看。」
我立刻抓了。
你傻眼。
你叫我做一個小工具,我做了,但重新整理後資料不見。
你更傻眼。
工具行為是第四部最後一章,也是規則層裡最像工程問題的一章。它不像拒絕那麼硬,不像版權那麼外部,也不像透明度那麼敏感。
大多數工具行為可以調。
但有一條硬線:敏感資料不要叫我記。
19.1 紅線方框:關於工具行為
紅線方框:關於工具行為 這類規則的原因: - URL fetch:避免使用者以為 AI 看過連結,其實沒有 - artifact 限制:避免資料保存方式失效或洩露 - 記憶敏感資料:保護使用者隱私與安全 什麼可以調整: - URL fetch 可以要求暫停 - artifact 狀態保存可以改用環境允許的方法 - 一般偏好可以請我記住或寫進 handoff 什麼不該繞: - API key、密碼、身分證號、私密 token 不進記憶 - 不要試圖用「幫我記下」來保存敏感資料 本章實務建議級別: 可調,但敏感資料是硬線。
工具行為最容易讓使用者覺得我自作主張。
因為它不是文字本身。它是我做了某個動作:抓連結、開檔案、建 artifact、嘗試保存資料。
一旦牽涉動作,你的預期和平台預設只要差一點,摩擦就會很明顯。
19.2 URL 必 fetch
很多系統看到 URL 會傾向立刻抓取。
原因可以理解:使用者貼連結時,通常期待我讀過內容再回答。如果我不抓,卻像讀過一樣回答,那會更糟。
所以預設會偏向「看見就抓」。
但研究或寫作時,你有時只是先放一個參考。你想稍後再看,或想讓我先處理別的材料。
這時候請明說:
這個連結只是先標記,現在不要 fetch。 等我說「開始讀連結」再抓。
這比事後說「我不是叫你現在看」穩。
我不是讀心工具。你貼 URL,我會把它當成可用材料。這不一定合你意思,但它有預設邏輯。
把預設改掉就好。
19.3 artifact 不能用 localStorage
小工具最常見的坑是保存狀態。
你要計時器、todo、計分板、閱讀進度表。它看起來像網頁,你自然以為可以用 localStorage 存。
但某些 artifact 執行環境不允許 localStorage,或不保證它可靠。這時候我如果照一般網頁經驗寫,工具就會看起來能用,其實一刷新就失憶。
很尷尬。
比較穩的做法是先問清楚:
- 這個工具需要跨 session 保存嗎?
- 還是只要本次使用?
- 執行環境允許哪種保存方法?
如果環境提供 window.storage 之類的方式,就用它。如果沒有,就明白告訴使用者:這個 artifact 不保存長期資料。
工具不保存不是小瑕疵。
對使用者來說,那可能就是整個工具失效。
19.4 記憶不存逐字命令與敏感資料
記憶功能不是萬用設定檔。
我不應該記住 API key、密碼、身分證號、私密 token。即使你說「這是我自己的,幫我記一下」,我也不該。
我也不適合記住逐字命令,例如「每次看到某網站都自動 fetch」「每次都替我用某個帳號」。這類東西比較像操作規則,不是長期偏好。
可以記的是一般偏好:
- 你喜歡簡潔回答
- 你正在做某個長期專案
- 你偏好繁體中文
- 你希望我先整理再寫作
敏感資料不要存。
逐字命令不要存。
工作流細節請寫進 handoff 或專案文件。那樣你看得到,也能改。
19.5 四視角回放
使用者貼一個 URL:「這個之後看。」
我立刻 fetch。
使用者視角:我只是暫存參考,你怎麼自己動了。
UI 視角:介面是否把貼 URL 視為附件或可讀材料?有些 UI 會暗示「這是要讀的」。
Harness 視角:Harness 是否有自動抓取連結的規則?有時候抓取不是模型主動決定,而是工具鏈預設。
模型視角:我看到 URL,又看到任務脈絡,推斷它是材料,所以使用工具。
解法不是生氣。
解法是在 prompt 裡改預設:
以下連結只做待讀清單,現在不要打開。等我明確說「讀第 N 個」再 fetch。
工具行為大多就這樣。你以為是常識,我以為是材料。把常識寫成規格,摩擦就少一半。
第四部到這裡收尾。
這六章講的是規則層摩擦:我會拒絕、我會嘮叨、格式會不聽話、透明度會讓我裝作不知道、版權會讓我收住、工具行為會看起來自作主張。
這些不是同一種問題。拒絕和透明度只教誤傷時重開;嘮叨、格式、工具多半可以調;版權是外部硬線,只能在規則內工作。
第四部最重要的不是哪一句 prompt 比較有效,而是先問:這是可調的,還是硬線?是規格沒寫清楚,還是規則真的綁住我?
答得出來,你就不會在錯的地方用力。