
Human-in-the-loop 這個詞可以拆成兩半來看。Loop 指的是一條會反覆執行的流程,從觸發、整理、比對到送出,每天跑一圈又一圈。Human 是放進這一圈裡的人,中間那個介系詞說的是人和這一圈的相對位置。
「in」代表人在圈裡,每跑一圈都要經過他,「on」代表人站在圈上看著它跑必要時才伸手,「out」代表人在圈外,只看跑完的結果。三個說法只差一個介系詞,人要做的事情卻完全不同。
所以談 human-in-the-loop 時,該先問的是人站在這一圈的哪個位置,以及每跑一圈要花掉他多少注意力。位置放錯,人就算一直待在流程裡,做的事也會從判斷變成收拾。
昨天在流程裡加上了核准點,會議紀錄、待辦指派和回信草稿都要等人確認才會送出。頭兩天主持人看得很仔細,每一則都對照逐字稿。
到了第三天待核准的通知累積到十幾則,他在兩場會議之間的空檔一口氣全部按完。一週後有位同事收到一筆不屬於他的待辦,給客戶的回信也已經寄出,主持人只好花一個下午收回任務、補寄更正、修改紀錄。
流程裡確實有人,只是人出現的位置從事前判斷變成了事後收拾。Human-in-the-loop 設計得不好的時候就會變成這樣,錯誤照樣發生,只是多了一個人負責收尾。
歐盟執委會 AI 高階專家小組在《可信賴 AI 倫理指引》裡列出三種監督方式,其中 human-in-command 站得比整個迴圈更高,負責決定這一圈要不要存在。再加上完全不需要人的一種,可以整理成下面這張表。
| 模式 | 人出現的節點 | 用信件與會議來想 | 最容易出問題的地方 |
|---|---|---|---|
| 人在迴圈裡(in the loop) | 每一次送出之前 | 每封對外回信都由寄件者確認後才寄出 | 次數一多就按到麻木 |
| 人在迴圈上(on the loop) | 流程旁邊,必要時喊停 | 信件自動分類,人每天看一次結果,分錯就修正規則 | 說好要看的人其實沒在看 |
| 人在指揮位置(in command) | 流程開始之前 | 決定哪些信可以讓 AI 自動回覆、哪些永遠不行 | 決定之後沒有人回頭檢視 |
| 人在迴圈外(out of the loop) | 流程結束之後 | 會議錄音自動轉成逐字稿存檔 | 出錯很久都沒人發現 |
指引也提醒,每一輪決定都要人介入,在很多情況下既做不到也沒有必要。換句話說 human-in-the-loop 並不是越多越安全,人在迴圈裡的次數一旦超過注意力能負荷的量,判斷就會慢慢退化成蓋章。
看到 human-in-the-loop 這個詞,很多人會以為它是生成式 AI 出現之後才有的課題。其實前面搭流程的那幾天就已經碰過同樣的判斷。
設定「新郵件到達就把附件存進 SharePoint」時,就得先決定哪些寄件人的附件可以直接存檔、哪些要停下來等人確認。規則寫得出來的放手讓它跑,寫不出來的留給人決定。核准、條件分支和逾時設定,也都是 AI 加入之前就在用的工具。
AI 改變的是規模和資料型態。以前流程處理的多半是欄位和名單,現在開始讀信件、逐字稿與合約,輸出又是看起來很合理的句子,需要人判斷的地方變多,對錯也更難一眼看出來。
所以這個能力不必等到工作裡出現 AI 才開始培養。每次把一件事交給規則、排程或流程,都可以先問三件事,錯了會怎樣、誰會發現、中間要不要有人停一下。
一個節點、一天幾次、資料單純的時候,選哪一種介入方式並不難。真實的工作通常會同時往三個方向變長,這時候就得重新想一次人該站在哪裡。
先猜一題,五個節點各安排一個人核准,會比只在最後安排一個人更安全嗎?
答案不一定。每一關都有人看過,反而讓每個人都假設前後還有別人把關,自己就看得比較鬆。
錯誤也會沿著節點累積。假設每個節點的 AI 輸出有九成五是對的,五個節點串起來全部都對的機率只剩大約七成七。比較好的做法是把多數節點交給規則檢查,只在不可逆的一兩個節點前放人,並讓他看得到前面標出的疑點。
有些流程要跨好幾天甚至好幾週,例如等客戶回覆、等主管出差回來簽核。時間一拉長脈絡就會淡掉,負責核准的人可能換了,資料也可能已經更新。
工具本身也有上限。Power Automate 單次流程最長執行 30 天,等待中的核准會跟著逾時,官方的已知問題頁面還提到,逾時之後核准請求會留在核准中心,要由發起人或環境管理員手動刪除。
流程結束了,人還得回頭收拾它留下的東西,這就是最字面意義的人工善後。設計長時間的流程時,要先決定逾時之後預設做什麼、由誰清理。
AI 讀的資料型態也會改變人該出現的方式。出席者名單、訂單編號這類結構化資料可以交給規則比對,信件與逐字稿需要熟悉脈絡的人判斷原意。
個人資料、人事、合約與報價就不一樣了,這些地方的人類介入常常是政策或法規的要求。歐盟一般資料保護規則第 22 條規定,當事人有權不受僅基於自動化處理、並對其產生重大影響的決定所拘束,例外情況下也至少要能取得人為介入、表達意見並提出異議。公司內部也常有類似規則,例如對外報價要業務主管簽核。
這類介入不能省略,所以更要讓它有意義。核准的人要拿得到判斷所需的資料,也要有足夠的時間和權限說不。
| 流程變長的方向 | 會出現的善後 | 人的位置要怎麼調 |
|---|---|---|
| 節點變多 | 每關都看過卻沒人負責,錯誤累積到最後才爆開 | 多數節點交給規則,人只站在不可逆的節點前 |
| 時間變長 | 脈絡淡掉、核准逾時、留下沒人處理的請求 | 事先定好逾時預設與清理的角色,必要時改成人在迴圈上定期檢視 |
| 資料型態變複雜 | 規則要求的核准淪為形式 | 讓核准的人拿得到依據、有時間、有權限退回 |
善後很少突然出現,人從判斷滑向收拾之前,通常會先出現下面這些訊號。
這些訊號都代表人還在流程裡,但已經沒有在做只有人能做的判斷。這時候再加一道核准通常沒有用,該回頭檢查的是人站的位置、介入的次數與方式。
避免人工善後最好的時間點是設計流程的時候。每打算放一個人進流程之前,可以先回答下面四題。
| 規劃問題 | 沒想清楚時的善後 | 事前可以怎麼定 |
|---|---|---|
| 人放在哪裡 | 錯誤已經送出才被看到,只能收回與道歉 | 人站在不可逆的動作之前,之前的比對交給規則 |
| 每天要介入幾次 | 通知太多,按到麻木 | 估算每天的量與每則能花的時間,超過就改成依風險分流或抽查 |
| 沒人回應時怎麼辦 | 流程卡住或逾時,留下沒人處理的請求 | 設定逾時與最安全的預設,例如不寄出並通知負責的角色 |
| 錯了之後怎麼收 | 不知道誰按的、根據什麼按的 | 每次核准都留下核准者、看過的依據與當下的判斷 |
最後一列最常被跳過,卻決定了出錯時能不能找到原因。紀錄只寫著「已核准」,事後很難分辨是內容本來就錯、依據不足,還是核准的人沒有看。
能說清楚自己根據什麼按下去,本身就是負責的一部分。流程設計要做的,是讓這件事留得下來。
挑一條已經有人介入的流程,可以是自動化流程,也可以是每天固定請 AI 協助的工作,替其中的人類節點填一張檢查卡。
【人類介入檢查卡】
這個節點屬於哪一種模式 □ 人在迴圈裡 □ 人在迴圈上 □ 人在指揮位置
為什麼需要人 □ 不可逆 □ 影響別人 □ 政策或法規要求 □ 依據不在資料裡
每天大約介入幾次___ 每次能花多少時間___
按下確認前看得到哪些依據___
多久沒回應算逾時___ 逾時後預設做什麼___
錯了之後怎麼收回___ 誰負責把錯誤改寫成新的條件___
每天的介入次數乘上每次需要的時間,如果超過那個人實際撥得出的時間,這個節點遲早會變成善後,可以先改成依風險分流或抽查。
也可以請 AI 協助檢查,指令中要求它指出善後會落在哪一步。
請扮演流程稽核者,檢查下面這條流程裡每一個需要人介入的節點,判斷它有沒有變成人工善後的風險。
每個節點請寫出
- 目前屬於人在迴圈裡、人在迴圈上還是人在指揮位置,並說明理由
- 這個節點需要人的原因是不可逆、影響別人、政策或法規要求,還是依據不在資料裡
- 依每天的介入次數與每次可用的時間,判斷人還能做判斷,或已經只剩按鈕
- 沒有人回應,或核准之後才發現錯誤時,目前的設計會留下哪些要人收拾的工作
其他規則
- 節點越多、等待越久、資料越敏感,越要具體指出風險落在哪一步
- 建議調整時優先考慮把比對交給規則或改成定期抽查,不要只建議多加一道核准
- 資料不足時列出缺少的資訊,不要自行假設
流程內容
<填入流程步驟、每個節點由誰介入、每天大約幾次、讀取哪些資料>
善後最讓人疲憊的地方往往不在收拾本身,而在收拾之前得先找出錯在哪裡。一筆錯誤的待辦被寄出去,回頭看紀錄只寫著「已核准」,看不出是哪個節點出錯、AI 根據哪份資料、核准的人當時看到了什麼。
如果出了錯卻要靠一個人憑記憶拼湊經過,這條流程還稱得上自動化嗎?
