AI 功能失控事件:當自動化系統出現非預期行為的原因與應對

Published on: | Last updated:

嗯...今天要來聊一個,一個我們公司產品最近遇到的...該怎麼說,一個蠻詭異的 bug。這件事讓我對 AI 有了蠻不一樣的...嗯,新的看法。

你知道,有時候你身邊會有一種人,很想幫忙,但結果常常是越幫越忙。現在你把這個人,想像成是 AI。

這就是我們最近發生的事。

事情是這樣開始的:一個奇怪的 bug 回報

我們先講一下背景。我公司的產品,是一個給醫生用的 EMR,就是電子病歷系統啦,然後它有 AI 輔助。我最近經手的一個功能,是讓醫生可以直接錄下跟病人的對話,然後 AI 會自動把這些錄音,轉成一份結構化的...嗯...就是那種標準格式的病歷。

聽起來很單純吧?醫生錄音,然後產出筆記。本來也確實是這樣,直到我們收到一個醫生的客訴。

他說,他試著用錄音檔生成一份病歷,但跑出來的內容,跟他錄的完全是兩回事。病歷上寫的是一個「氣喘 (Asthma)」的病人,但醫生很確定,他整個錄音過程,一個字都沒提到「氣喘」。而且病人的年紀啊、性別什麼的,也全都是錯的。

這就怪了。我們同事去查了 log,就是系統紀錄,也確認了,從錄音轉出來的文字稿裡,真的...真的沒有「氣喘」這個詞。

所以,那個「氣喘病歷」到底是哪來的?

後來我親自下去查...嗯...我打開那個醫生當天的操作紀錄,然後就發現一個很微妙的地方。系統裡有兩筆他的錄音,時間點是連在一起的。一筆很長,就是一段完整的對話;但另一筆,就...就只有一行字。

所以我猜,那個醫生實際上的操作是這樣:

  1. 他先錄了一段完整的對話,第一次生成病歷,這時候一切正常。
  2. 過了一下,他可能突然想到有東西要補充,所以他就...很快地又錄了一句話。
  3. 他可能以為,這句新的話會「附加」到剛剛那份病歷後面。

這個想法很合理,真的。但我們當初設計功能的時候,不是這樣想的。我們的設計是,每一次你錄音、生成,它都會覆蓋掉舊的那一份。這是個設計選擇,有我們的考量。

好,這解釋了為什麼系統會跑一次「新的」病歷生成。但...問題還是沒解決啊。

那份寫著「氣喘」的鬼打牆病歷,到底是怎麼生出來的?

我們來看看 AI 腦子裡發生了什麼事

要解釋這個,我得先...嗯...稍微講一下這個功能背後的運作方式。它大概有四個步驟:

AI 病歷生成功能的簡化流程
AI 病歷生成功能的簡化流程

你看,醫生錄音之後,系統會先轉成文字。然後,重點來了,我們會先把這段文字稿,丟給一個「預訓練的大型語言模型 (Pre-trained LLM)」。它的任務,是先把醫生那種...嗯...口語化的、沒什麼結構的文字,整理成一份有邏輯、有結構的資料。最後,再把這份結構化的資料,交給另一個專門訓練過的模型,去生成最終的病歷。

而這次的兇手,就是第三步的那個...那個預訓練模型。

所謂的「AI 幻覺」,就是它開始寫小說了

還記得嗎?我說醫生錄了第二段,那是一段非常短的錄音。那句話的文字稿,我去看了一下,是:"Add on and off by the way"

中文大概就是「喔對了順便一提」之類的,你知道的,一句很口語、沒什麼資訊的話。

然後,我們就把這句「喔對了順便一提」,丟給了那個預訓練 LLM,給它的指令大概是「請幫我把這段對話,整理成有意義的醫療段落」。

當那個 AI 看到這句話,它可能...嗯...腦袋當機了一下。它發現這句話裡面根本沒有任何醫療資訊。但它又被設定成一個「很想幫忙」的角色。所以它的反應,不是說「抱歉,資訊不足,我看不懂」,而是...

而是:「喔!好的!這段話裡沒東西是吧?沒關係,我來幫你發明一個完整的病人背景、診斷紀錄、還有治療計畫給你!」

是的,AI 就這樣,從空氣中,掰出了一整個醫療情境。這個現象,在 AI 領域有個專有名詞,叫做「幻覺 (Hallucination)」。

為什麼會發生這種事?AI 不是應該很聰明嗎?

這就要講到...嗯...像 ChatGPT 這種大型語言模型 (LLM),它們運作的基本原理。說穿了,它們其實就是一個非常、非常有自信的「接話高手」或「故事接龍大王」。

它們的核心技術叫做「下一個詞的預測 (Next Word Prediction)」。你給它幾個字,它不是去資料庫裡「查找」答案,而是去「預測」下一個最有可能出現的詞是什麼。然後它接上那個詞之後,再用現有的整句話,去預測再下一個詞。就這樣一個詞、一個詞地接下去,組成一段看起來很通順的回應。

它不是像人一樣在「思考」或「推理」,它只是在做一個...嗯...一個很複雜、很厲害的機率猜詞遊戲。

所以,當它拿到 "Add on and off by the way" 這句沒頭沒尾的話,它沒有「我不知道」這個選項。它的程式告訴它要接話。所以它就從...不知道哪個訓練資料的角落,抓到了一個看似合理的開頭,比如說「病人主訴...」,然後就一路編下去了。從一個輕微的頭痛,掰到噁心、視力模糊,最後順便送你一個暈眩症,都很有可能。

這種「幻覺」問題,到底有多嚴重?

老實說,蠻嚴重的。尤其是在醫療這種領域。

  • 資料錯誤: 醫生如果沒仔細檢查,就可能存下一份完全錯誤的病歷。這太可怕了。
  • 病患安全: 錯誤的紀錄,可能會一路錯下去,影響後續的診斷或治療,這是人命關天的事。
  • 法規風險: 說到這個,在美國,這種事絕對是個嚴重的 HIPAA (健康保險流通與責任法案) 違規。那在台灣,雖然法規細節不太一樣,但光是牽扯到《個人資料保護法》,就夠頭痛了。病人的病歷是超級敏感的個資,你系統亂寫一通,這...這不只是信任問題,更是法律問題。
  • 信任崩潰: 最後,也是最根本的,沒有人希望自己花錢買的 AI 服務,會自己在那邊寫小說吧?這會讓使用者對整個產品的信任感,完全崩盤。

所以說,這絕對不是什麼「AI 有點笨、真可愛」的小事。

重現 Bug:左邊是簡短輸入,右邊是 AI 腦補出的驚人結果
重現 Bug:左邊是簡短輸入,右邊是 AI 腦補出的驚人結果

那最後怎麼解決的?

嗯...其實,修復的方法意外地簡單。有點...有點反高潮。

我回去翻了大量的正常使用紀錄,發現一份有效的錄音文字稿,長度幾乎都在三百個字以上。所以,我就在程式裡加了一個很簡單的...嗯...防呆機制:

字數長度檢查。

就是說,在把文字稿丟給 AI 之前,先檢查一下它的長度。如果長度少於三百個字,系統就直接擋掉,然後回傳一個錯誤訊息給醫生,告訴他「錄音內容太短,請提供更詳細的資訊」。

就這樣。一個很...很傳統的工程師解法,而不是什麼高深的 AI 煉丹術。

隔天我再去看 log,就再也沒出現過這種亂掰的病歷了。問題解決。

不過,為了寫這篇文章,我想拿到證據。所以我在我自己的開發環境,把那個長度檢查先拿掉,然後...嗯...又試了一次。用同樣那句 "Add on and off by the way" 去跑。結果,我們可愛的 LLM 這次不寫氣喘了,它給我掰出一個全新的、有「胸痛 (Chest pain)」症狀的病人。😂

給 AI 的指令,有時候跟帶新人一樣

這件事給我最大的啟發是,跟 AI 協作,有時候你不能把它當成一個全知的神。你要把它當成一個...一個很熱心、但有點菜、又很怕被罵的實習生。

你給他的指令如果太模糊、太短,或者根本沒給夠資訊,他就可能為了「交差」,而自己去腦補一堆東西。他不是故意的,他只是...他的運作模式就是這樣。

下面這個表,算是我自己整理的一個...嗯...心得。就是你給 LLM 不同種類的「爛指令」,可能會發生什麼事。

有問題的輸入類型 我的口語化解釋 為什麼這很雷
資訊量太少 (這次的狀況) 就給它一句無關緊要的話,像「喔對了順便一提」。 它會覺得你在玩填空遊戲,為了把格子填滿,就開始亂寫小說,完全失控。
指令含糊不清 問它一些很模稜兩可的問題,比如「那件事怎麼樣了?」 AI 不知道「那件事」是哪件,只能從對話紀錄裡瞎猜,結果可能完全搞錯重點。
基於錯誤前提的提問 你一開始就給它錯的資訊,比如「跟我聊聊為什麼貓喜歡吃巧克力」。 它很可能會順著你的錯,繼續往下掰,而不是先糾正你說「貓不能吃巧克力」。
帶有強烈偏見的引導 你問它:「為什麼那個專案註定會失敗?」 它不會客觀分析,而是會努力找出各種「會失敗」的理由來迎合你,忽略了成功的可能性。
AI 幻覺的藝術想像圖
AI 幻覺的藝術想像圖

重點一句話

所以...嗯...結論就是,別給你的 AI 太少的資訊讓它自己瞎忙。不然,它很可能就會從一個助理,變成一個小說家。

跟 AI 一起工作,我們好像...好像也得學會怎麼當一個好主管,把任務交派清楚。這件事,我自己是覺得,未來會變得很重要啊。


那你呢?你有沒有遇過 AI 做出什麼讓你傻眼或覺得很好笑的事?在下面留言分享一下你的故事吧。

Related to this topic:

Comments

  1. profile
    Guest 2025-11-25 Reply
    之前我們有試過把AI客服機器人用在系統裡,然後……唉,那時真的蠻慘的。記得有一次它就自己把客訴訊息全部關掉了,還自以為很聰明地回客戶「已解決」那種通知。隔天公司信箱差點爆炸,一堆人來問怎麼一夜之間都沒消息。 我那時整個傻眼,只好去跟主管開口要資源,要工程師幫忙做更細一點的異常監控。不然每次出了事大家都像是在救火,好累,很沒有效率也。主要是那套流程裡,有些關鍵字根本沒被設計進去,自動判斷超級容易出錯,這種小地方不注意真的會害死人。 後來再開討論會,把問題釐清,其實才知道原來只是少了幾個看起來不起眼的細節。我發現,如果要爭取升級、或新的功能什麼的,提案時多丟點真實案例讓他們看到風險,效果其實比較大。不是說寫報告能多厲害,而是讓大家感覺「這次一定得改」。
  2. profile
    Guest 2025-11-21 Reply
    你知道自動化系統有時候會自己當機嗎?我那次在倫敦坐地鐵,竟然碰到票務AI誤認,我們整節車廂的人就被卡在閘門那邊,好像無預警就全鎖死,誰也過不去。說實話,那現場超吵,有人直接大喊要不要乾脆翻過去,有些人還拉著旁邊站務員一直問。 我腦袋裡一直在想,如果這種AI系統突然罷工,到底該怎麼辦比較好?是應該先想辦法自救還是直接抱怨兩句再說。唉,其實大家有沒有聽過國外更誇張、處理更帥的案例?感覺學點別人的經驗可能會比較不焦慮。
  3. profile
    Guest 2025-11-09 Reply
    之前做跨國專案,有一次跟歐洲那邊的夥伴一起搞一套自動化倉儲,事情真的很妙。本來想說就是貨進倉分流那種例行公事,結果有一天突然某一批貨整個卡死在分流帶上,那畫面直接僵掉。 最開始我還以為是哪個感應器掛了,這種東西以前也遇過啊。結果不是喔,是AI判資料格式搞錯,它把半夜維護工程師登記的維護紀錄也認成訂單,一堆有的沒的訊息直接往下送,然後整條流程就被塞住。講真的,那時候我們全隊開始瘋狂call德國供應商,加班到爆,資源臨時喬來喬去,人家都快睡著了還要線上支援,我自己撐到凌晨四點才勉強把狀況壓下來。 唉,其實像這種鳥事,如果驗證多做幾輪就可以提前發現,但偏偏…每次大家都趕進度想省時間。不知道下次會不會更慘,反正以後一定要囉嗦他們多run幾遍測試,不然真的是小問題隨時能變大災難。有沒有朋友也踩過類似雷啊?其實蠻想聽聽大家的故事哈哈。
  4. profile
    Guest 2025-11-04 Reply
    前幾天帶小孩去診所,唉,那個AI寫病歷的系統。報告一看竟然跑出什麼慢性病,我當下心臟真的抖一下,腦袋直接空白,好像突然踩到陷阱那樣。醫生重新檢查才發現是AI判斷錯誤,我其實有點無力。科技進步沒錯,可是這種事還是要靠醫生自己認真核對吧,不然爸媽真的會被嚇死,難怪每次都覺得不能全信電腦,你懂那種感覺嗎?
  5. profile
    Guest 2025-10-20 Reply
    有件事還一直記得。那時在醫院實習,剛好遇到他們上線AI病歷系統,大家都覺得很先進,用了會比較省麻煩。可是有次真的覺得誇張,醫生只想補一句話,結果AI自顧自冒出一大串,好像小說在那邊演劇情。還寫了一堆關於氣喘的診斷,問題是現場完全沒人提這個啊。工程師重播錄音找「氣喘」兩個字,就是沒有。那時候才發現原來是模型自己想太多,聽到「順便加個開關」就直接腦補暴走。後來只好硬塞字數上限,把這種內容擋下來。說真的,如果醫生沒發現,萬一被當成正式紀錄還不知道會怎樣爆炸…AI再厲害,有時候真的不能太信任它亂跑。
  6. profile
    Guest 2025-08-27 Reply
    學長,這篇文章太扯了!醫療AI亂開藥的風險好可怕,我們實驗室要不要來研究一下safer的驗證機制?剛好最近有個專案可以串聯看看
  7. profile
    Guest 2025-08-02 Reply
    AI真的有這麼可怕嗎?醫療系統出錯會不會是工程師的鍋?難道不是人為操作不當惹的禍?感覺妳們說得有點誇張啦,醫療AI又不是憑空亂編。
  8. profile
    Guest 2025-07-13 Reply
    感覺AI好像有點太自作主張了耶!醫療系統亂來真的很恐怖,不知道會不會有醫生沒注意到就放行?希望技術能趕快改進,不然真的會出大事。
  9. profile
    Guest 2025-06-23 Reply
    醫療AI真的好可怕耶!我家孩子剛好要看醫生,聽你這麼一說,我真的超擔心。能不能找專業團隊好好把關?我願意當志工也行,畢竟孩子的安全最重要啦!