昨天講完「只讀不寫」這條規則該怎麼寫進委派指令,今天要面對一個更棘手的情況:規則寫得再明確,還是有 agent 會違反它——而更麻煩的是,這次它改的內容剛好是對的。
「反正結果沒錯,糾結流程有什麼意義?」這是很直覺的反應。但如果每次都用「結果好就不追究」當標準,這條規則其實形同虛設——因為協調者永遠是在事後才知道「這次剛好對」,事前完全沒辦法預測。
一個查核 agent 被指派去確認一批文件裡的技術描述有沒有問題,指令裡明講「只讀不寫,只讀不寫,只讀不寫」(強調了三次)。它查完之後回報:「查核完成,發現一處描述不夠精確,已直接修正」。
協調者第一反應是:這違反了明講三次的指令,該直接打回去要求重做。但在打回去之前,還是先花時間核對了一下這處修正——查證後發現,這個修正確實是對的:原文把一個技術行為講得太滿,改完之後的描述更準確,也沒有引入新的錯誤。
這時候面對兩個選項:把這次違規的修正丟掉、要求 agent 重新走一次「只回報不動手」的流程;或是既然內容是對的,直接保留這次修正。
「這次改對了」是關於內容的判斷,「該不該讓 agent 自己決定要不要動手」是關於流程的判斷——兩者是完全獨立的兩件事,不能因為前者成立,就當作後者也一起被證明沒問題。
流程要求「只讀不寫」的理由,昨天講過:協調者要看到完整的問題清單,才能自己決定「這個算客觀錯誤直接改」還是「這個要跟其他人討論」。這條規則保護的是決策權在哪裡,不是這次改動品質好不好。如果因為這次結果剛好是對的,就放鬆對流程的要求,等於是在說「只要你猜對了,可以不用照規矩來」——但 agent 沒有辦法在動手之前就知道自己這次會不會猜對,協調者事後也沒辦法每次都剛好抽查到違規的那一次。
用一組對照來看這個差異:
❌ 只看結果,內容對就放行:
「這次違反只讀不寫指示,但改的內容確實是對的,
就這樣吧,不用特別處理。」
→ 沒有區分「內容對錯」跟「流程有沒有守」,
下次遇到同樣違規、但這次改錯的情況,
完全沒有機制能提前攔下來
✅ 兩條線分開處理:
「內容經查證是對的,予以保留,
但這次違反了只讀不寫的指示,這件事本身要記錄下來、
讓使用者知道發生了什麼、也讓下一次的委派指令
更明確地強調範圍限制。」
→ 內容判斷跟流程判斷各自獨立走完,
不會因為其中一個結果好,就跳過對另一個的檢查
保留這次修正,不代表認可這個違規行為——這是兩個獨立的結論,要分開講清楚,不能只留下「這次沒事」這個模糊的印象。
處理這類情況,比較穩健的做法分三步:
「違規但結果正確」不是一個可以就此結案的例外,是一個提醒你「規則的強制力還不夠」的訊號。
回想你上一次遇到「流程沒照規矩走,但結果沒出問題」的情況:你當下的反應是「這次算了」,還是有把「結果對不對」跟「流程有沒有守」分開來看?如果只看結果,你有把握下一次同樣的違規,結果也會一樣好嗎?
明天要把這幾天累積的教訓收斂成具體的 prompt 寫法:委派範圍限制該怎麼寫,才能讓 agent 真的照著範圍走,而不是每次都要事後靠協調者複查才發現逾越了。