給 Agent 一堆函式很容易;難的是承認:不是每個方便都該存在。
遊樂場裡,總管透過 env.HOST 動場地。山姆鍋把這條路當契約:有版本、有 capabilities() 列出實際做了什麼,並且寫死幾條禁令——例如不准經 HOST 熱改「執行中的自己」,不准刪使用者親手建的沙盒(Agent 自己生出來、標成可回收的才行)。
目錄
為什麼要能探測
模型與範本會換,殼卻會留很久。與其在 prompt 裡撒谎「你有某某神力」,不如讓執行期誠實回答:現在到底支援 search、checkpoint、runCmd 沒有。
capabilities() 很土,但土的東西比較不容易在升級時變成都市傳說。
刪除與自迭代
Agent 若要改進自己,合理流程比較像:clone → 在副本上改 → 驗證 → 切換成新的 → 刪舊副本。直接對執行中的自己開刀,除錯會變成哲學問題。
使用者匯入或手建的沙盒,Agent 可以依要求讀寫,但不該擁有「順手刪掉你的東西」的權利。回收空間跟尊重所有權,是兩件不同的事。
結語
契約的價值常常在「不准」裡。你若覺得禁令太多綁手綁腳,下面留言區歡迎列你認為該敞開的口子——山姆鍋自己也是踩過坑才變囉嗦的。