Skip to content

05 · 劃邊界 ​

邊界不是"告訴它別做什麼",是"讓它做不了"。提示詞裡的禁止是軟約束,跑三十圈之後可能就忘了;工具和權限層面的限制是硬約束,忘不了。能用硬的,就不要用軟的。

三層邊界,硬度遞減 ​

層怎麼做硬度
① 不給根本不提供這個工具、這個目錄、這個帳號權限硬。它做不到
② 攔一道工具照給,但執行前必須人點頭硬。它提得出,但過不去
③ 說一句提示詞裡寫"不要做 X"軟。多數時候有效,但會失效

設計邊界時,從上往下試:

這件事能不能靠"不給"解決? 能,就到此為止,別再往下。 不能(因為它確實需要這個能力)→ 能不能加一道人工確認? 再不能 → 才輪到寫在提示詞裡。

大多數人的順序是反的:先在提示詞裡寫一長串"不許",然後發現它偶爾還是做了。

① 不給:從權限開始 ​

檔案 ​

給它能讀什麼、能寫什麼,精確到目錄:

text
❌ 給它整個使用者目錄的讀寫權限
✅ 只讀:./docs/、./data/
   可寫:./output/          ← 一個專門的輸出目錄
   其餘:不可訪問

那個專門的輸出目錄很關鍵:它寫壞了,你刪掉重來就行,不影響任何原始材料。

帳號與憑據 ​

給它的每一個 key、每一個帳號,問一句:這個憑據能幹的事,是不是遠超它需要的?

text
❌ 給一個管理員 API key,因為"這樣最省事"
✅ 建一個只讀的、只能訪問特定幾張表的帳號

憑據的權限範圍,就是它能造成的破壞範圍上限。

網路 ​

能不能上網、能上哪些站,是一條很值得設的邊界:

  • 完全不聯網:處理本地材料的 Agent,這樣最安全。
  • 白名單:只能訪問你列出的幾個域名。
  • 隨便上:風險最高。它可能讀到帶指令的內容(04 章那個坑),也可能把資料發出去。

沙箱 ​

如果它要執行命令或跑程式碼,必須在沙箱裡——一個隔離的環境,跑壞了不影響你的機器。

這一條沒有折中方案

"我看著它跑,不對就 Ctrl+C" 不是方案。它一圈可能只要兩秒。

能執行任意命令的 Agent,只能在沙箱裡跑。

② 攔一道:什麼必須人點頭 ​

這個清單基本不用討論:

動作為什麼
往外發(郵件、訊息、提交、釋出)收件人不是你自己,出去了收不回
刪除、覆蓋不可逆
花錢(下單、支付、開資源)不可逆,且金額可能失控
改配置、改權限影響面超出這一次任務
動生產環境的任何東西不解釋

怎麼"攔"

兩種做法:

同步攔:Agent 提出要執行,流程暫停,等你確認。適合動作少的場景。

攢起來攔:Agent 不直接執行,而是把要做的事寫成一份計劃(03 章最後那節),跑完之後你一次看完、一次確認、批次執行。動作多的時候這種遠好用——十次彈窗確認,人第三次就開始亂點了。

③ 說一句:提示詞裡的邊界怎麼寫才有效 ​

軟約束也要寫,只是別指望它兜底。三條寫法:

一、寫成具體動作,不是原則。

text
❌ 注意保護敏感資訊。
✅ 不要在輸出裡寫出完整的手機號、身份證號、銀行卡號——
   一律脫敏成前三後四,中間用 * 代替。

二、配上出路(提示詞篇 06 章那條鐵律)。

text
❌ 不要修改原始檔案。
✅ 不要修改 ./data/ 下的任何檔案。需要改動時,
   把改動後的版本寫到 ./output/ 下,檔名加 .modified 字尾。

三、在長跑裡重複。 Agent 跑三十圈,第一圈的約束早被擠到邊上了(07 章)。關鍵約束要麼放進系統提示(每輪都在),要麼在工具返回裡反覆帶上。

一個容易漏的邊界:範圍蔓延 ​

前面講的都是"別碰什麼"。還有一類邊界是"別越做越多":

text
你讓它:查清三家競品的定價。
它順手:把三家的功能對比也做了,把市場份額也查了,
       還寫了一份"我們的定價建議"。

聽起來像加分,實際上是問題:多出來的部分你沒驗收標準,而它們和你要的東西混在一起交付,你還得花時間分辨哪些是你要的。

解法在目標那一章:

text
只做上面列出的這些,不要擴充套件範圍。
你認為值得做但我沒要求的事,**列在最後作為建議,不要直接做**。

一張速查表 ​

你的場景建議的邊界
只處理你給的材料,不聯網不給網路工具;只讀輸入目錄;輸出到獨立目錄
要查公開資訊只讀工具;域名白名單或至少禁止提交表單;外部內容標成資料
要讀內部系統只讀帳號,權限收到具體範圍;不給寫工具
要寫檔案 / 改程式碼沙箱 + 獨立輸出目錄 + 版本控制(能 diff、能回滾)
要發訊息 / 發郵件必須人工確認;優先用"產出計劃再批次執行"
要跑命令必須沙箱;命令白名單;禁止網路

一句話收口 ​

提示詞管的是它想不想,權限管的是它能不能。跑三十圈之後,只有後者還站得住。

下一步 ​

06 · 設上限:失控的四種形狀

一份講通用概念的入門手冊 · 不綁定任何一家模型或工具 · 例子可直接照抄