
今年上半年我陸陸續續和十幾位負責 AI 落地的技術負責人聊過同一個話題你們最擔心的風險是什么答案出乎意料地一致——不是模型能力不夠不是算力成本太高也不是缺乏應用場景而是團隊開始無腦信任 AI 的輸出。有人把大模型生成的錯誤數據直接寫進了周報有人讓 AI 自動回復了客戶投訴郵件然后又生成了一個看起來很有道理的道歉還有人基于 AI 的面試評價真的發了一封拒信。更麻煩的是這些動作在發生時幾乎沒有人覺得有問題。大家都默認了一個前提AI 給出來的東西應該是對的。我把這種現象稱為AI psychosisAI 精神病態。它不是指某個模型出了故障而是指一個組織——從管理者到執行層——在不知不覺中建立了一套“AI 輸出默認正確”的決策機制。這是當前 AI 落地過程中最隱蔽也最危險的一個領導力盲區。這篇文章不是來說教的更不是要勸大家放棄 AI。相反我認為 AI 能帶來的效率提升是實實在在的。但技術負責人要想避免翻車就必須先看清這個盲區是怎么形成的然后在工程層面和組織層面同時建立防線。后面我會給出判斷依據、可落地的審查機制、最小示例代碼以及一套可以直接抄走的排查清單。1. 先定義清楚AI psychosis 到底是什么關于“AI psychosis”這個詞目前并沒有一個嚴格的學術定義。在技術語境里它更多是一種比喻用來描述當 AI 輸出被大規模、無差別地采信時組織逐漸喪失對信息真實性的判斷力。從技術層面拆解它至少包含三個遞進的現象。第一個現象是“AI 幻覺”。這是大模型的已知缺陷指模型生成了一段流暢、自信、但事實上錯誤的內容。幻覺不是 bug而是當前語言模型的工作方式決定的。第二個現象是“AI 灌裝”AI slop。指組織內部大量出現由 AI 生成、但沒有人真正復核的中低質量內容。這些內容看起來格式工整、邏輯通順但細節經不起推敲。它們會進入文檔庫、知識庫、郵件、周報甚至產品代碼里形成事實地層。第三個現象是“自動決策疲勞”。當 AI 承擔了越來越多的事實核查、初步判斷、客戶回復甚至代碼審查工作人的警覺性會逐步下降。管理者看到 AI 給出的結論越來越“合理”就會越來越不愿意花時間做二次驗證。這三個現象疊加結果就是一個組織開始在錯誤的事實上做正確的決策。這可能比模型崩潰更可怕。模型崩潰你能發現系統不可用你能報警但一份語法完美、邏輯自洽、唯獨關鍵數字完全錯誤的 AI 報告會在組織內部流傳很久直到某個環節因此產生真實損失。這里要特別強調AI psychosis 不是技術故障而是治理問題。它發生在模型輸出進入人類決策流程之后。所以解決它的手段不能只在模型層更要在流程層和權限層。2. 為什么大模型會“自信地胡說”技術機制不可回避要設計防線先得理解模型為什么會產生幻覺。很多管理者把幻覺當成“偶爾出錯”但實際上幻覺是由大模型的生成機制決定的無法被徹底消除只能被約束和檢測。大模型本質上是一個“依據統計規律預測下一個 token 的機器”。在生成回復時它做的不是查數據庫也不是執行規則而是從訓練時學到的概率分布里采樣一段最合適的文本。這個機制有兩個直接后果。第一模型沒有內置“我知道自己不知道”的能力。它只會根據上下文生成一個看起來最合理的續寫至于這段續寫是否對應現實世界的事實模型內部其實沒有驗證通道。當訓練數據里關于某個問題的信息不足、過時或者互相矛盾時模型多數情況下不會說“我不確定”而是會編造一個最通順的答案。在信息缺失時通順往往比正確更容易做到。第二模型的優化目標是“讓人類滿意”而不是“精確匹配事實”。在 RLHF基于人類反饋的強化學習階段模型會被調整得更順從、更有幫助。一個直接副作用就是當模型無法判斷正確性時“給出一個自信的答案”比“承認不知道”更容易獲得人類評分者的好感。這不是模型的責任而是訓練目標帶來的偏差。所以從工程角度看一個只靠“提示詞”無法根治幻覺的模型在一個允許它直接輸出給用戶的業務系統里本質上就是一桿沒上保險的槍。你只能通過技術手段把發生傷害的概率壓低壓到可控范圍。3. 組織里最典型的三種 AI 精神病態表現3.1 數字幻覺看起來精確實際全錯大模型對數字的處理能力非常不穩定。它擅長生成看起來很專業的統計格式比如“同比增長 17.3%”“用戶滿意度達到 92.1%”但這些數字往往沒有任何數據源支撐。真相是模型只是根據訓練數據里的常見模式拼湊出一組看起來合理的數字。如果一位管理者在周會上看到了格式完整、來源不明的統計數據并把它當成真實業務數據帶入決策這就成了典型的 AI 精神病態。更麻煩的是AI 生成的數字通常比人工編造的數字更精致它自帶“因為所以”的推理鏈讓人很難立刻反駁。3.2 事實幻覺編造案例、客戶和引用我曾見過一個團隊在做競品分析時用 AI 生成了報告里面詳細描述了一個“競品最近剛剛上線的功能”。后來聯系對方公司才發現這個功能根本不存在。這種情形的危害不在于“出錯”而在于出錯的方式。錯誤信息混在結構完整、表述專業的框架里識別成本極高。哪怕中間有明確標注“本報告由 AI 輔助生成”也沒有誰會逐條去核實每一段話。3.3 自我強化的反饋循環當 AI 生成的內容進入組織的知識庫再被另一個 AI 系統當作訓練語料或檢索資料時第二輪的輸出會把錯誤進一步放大。這不是科幻電影而是已經在發生的事有人用 AI 生成技術方案方案被同事復述進文檔文檔又被人用 RAG檢索增強生成系統當作權威知識源喂給下一個 AI于是模型對錯誤信息的置信度反而升高了。在這種循環里錯誤不是一次性的而是不斷沉淀、反復引用的。組織的“事實底座”開始由 AI 的生成結果——而不是真實業務事件——來填充。4. 為什么這成了一個領導力盲區而不是普通技術問題傳統軟件工程能治理掉大量故障是因為我們有變更控制、代碼審查、灰度發布和回滾機制。核心邏輯是任何修改進入生產環境前必須經過可驗證的審批環節。AI 的引入破壞了這條鏈路。原因在于AI 系統的“變更”發生得非常分散而且很難被定義為一個可回滾的版本。舉個例子。傳統下發一條優惠券規則要走配置審批改完有版本號上線后有監控。但 AI Agent 在回答用戶“當前有哪些優惠活動”時可能會自己從知識庫里挑選一段描述再補充一些它推測的細節組合成一個看起來不錯的回答。過程中沒有任何人下達“修改規則”的指令可系統的實際行為已經變了而且這個變化是不可預測的。管理者面臨的問題是他們過去擅長的審查手段全都建立在“對象可以被明確標識、可以被版本化”的前提上。而 AI 輸出的內容恰恰是動態生成、邏輯各異、無明顯版本邊界的。于是管理者很容易出現兩種極端反應要么過度信任 AI 的“平均正確率”要么走另一個極端干脆禁用 AI。過度信任等于把決策權悄悄交給了概率模型全面禁用等于拒絕了效率紅利。真正的領導力是在兩者之間建立一套針對 AI 輸出的新型審查機制。這套機制不要求管理者變成模型專家但必須督促團隊建起四個東西高質量的知識邊界、可靠的事實核查節點、可觀測的日志鏈路、以及人工抽檢制度。下面逐個拆解。5. 工程側防線用可控約束和人工節點給 AI 系上安全帶5.1 知識邊界盡量讓 AI 回答“有參考答案”的問題實踐中最有效的幻覺抑制手段不是更長的提示詞而是用 RAG 把一個“事實狹窄但可靠”的知識庫交給模型。當模型被強制在給定文檔里找答案時它編造的空間會小很多。這里需要明確一個原則讓 AI 負責組織語言不要讓 AI 負責創造事實。事實必須來自檢索到的文檔語言組織可以交給模型。關鍵操作是為每個知識片段加上源標識例如文檔 ID、段落編號或更新時間。為了便于理解我寫一個最小示例演示“無 RAG 的空白回答”和“有 RAG 的受限回答”之間的差異。以下代碼使用 Python 和 OpenAI SDK 風格的接口實際項目以你使用的 SDK 為準。# 文件路徑rag_demo.py from openai import OpenAI client OpenAI() knowledge_base [ { source: 內部產品手冊 v2.3, content: 企業版套餐付費后支持 90 天無理由退款但僅限尚未超出上傳流量配額的用戶。, }, { source: 內部客服手冊 v1.8, content: 退款請求需在 48 個工作小時內處理超過時限需升級至值班負責人。, }, ] def retrieve(query: str) - str: # 這里簡化檢索邏輯實際項目建議用向量檢索 for doc in knowledge_base: if 退款 in query or 退 in query: return doc[content] return def ask_without_rag(prompt: str) - str: response client.chat.completions.create( modelgpt-4o-mini, messages[{role: user, content: prompt}], ) return response.choices[0].message.content def ask_with_rag(prompt: str) - str: context retrieve(prompt) system_prompt ( 你是一個客服助手。只能根據以下內部資料回答問題。 如果資料中找不到答案請直接回答未找到相關資料請轉人工處理。\n f內部資料\n{context} ) response client.chat.completions.create( modelgpt-4o-mini, messages[ {role: system, content: system_prompt}, {role: user, content: prompt}, ], ) return response.choices[0].message.content question 企業版套餐可以退款嗎退款額度是多少 print( 無 RAG 回復 ) print(ask_without_rag(question)) print() print( 有 RAG 回復 ) print(ask_with_rag(question))這段代碼的核心邏輯并不復雜。ask_without_rag讓模型自由發揮它很可能編出“退款額度不超過訂單金額的 80%”一類沒有出處的規則。ask_with_rag則把內部手冊內容直接放進系統提示詞并要求模型“資料中沒有就轉人工”把生成的自由度約束在可控范圍內。在沒有 RAG 的情況下如果模型沒有在訓練數據里見過貴公司的退款政策它大概率會編一個看起來合理的政策。而在有 RAG 的情況下模型至少會引用你給定的原文即使它換了一種說法事實依據也基本可控。不過要注意RAG 不是萬能藥。如果檢索到的資料本身過時或者檢索命中錯誤文檔模型同樣會把錯誤信息當作權威來源。所以 RAG 的質量取決于知識庫的維護質量而不是單純的技術選型。5.2 引入事實核查節點在關鍵輸出上強制附加驗證RAG 能抑制一部分幻覺但不能攔截所有錯誤。尤其當 AI 生成的是代碼、數據摘要或客戶回復時你需要額外的規則層。以代碼生成為例現在不少團隊已經接受 AI 生成的代碼直接進入代碼庫。但如果沒有強制約束AI 寫出來的代碼很可能包含不存在的 API、錯誤的算法邏輯或者安全隱患。一個折中方案是所有 AI 生成的代碼必須通過靜態檢查和必要的單測才能進入人工審查環節。靜態檢查和單測在這里不是形式而是把“AI 的自信”翻譯成“可持續驗證的客觀證據”。再以數據摘要為例如果 AI 要基于業務數據生成報表最穩妥的方案是讓 AI 生成 SQL 語句而不是讓 AI 直接生成最終數字。SQL 可以被單獨執行和核對執行結果才是權威數字AI 只負責寫查詢邏輯不負責創造統計值。# 文件路徑guardrail.py import re def check_for_placeholder_number(text: str) - bool: 檢測文本是否包含模型可能編造的百分比數字 # 示例規則數字后緊跟百分號需要人工復核 return bool(re.search(r\d(\.\d)?%, text)) def filter_output(text: str) - str: # 如果檢測到數字強制追加復核提示 if check_for_placeholder_number(text): text \n\n[注意] 以上數字結果需要進行人工復核后方可對外發布。 return text這種規則層不需要很復雜它的作用是打破“模型輸出即終稿”的慣性。只要有明確的復核點存在管理者至少有機會在看到數字時多問一句“這個數怎么來的”。5.3 可觀測性讓 AI 的每一次決策都能被追溯組織和領導層面最需要補的是對 AI 決策路徑的觀察能力。傳統系統通過日志和監控能回答“發生了什么”AI 系統不僅要回答這個還要回答“它為什么這么說”。在技術層面建議至少記錄三件事第一輸入信息。用戶指令、模型版本、檢索到的知識片段、上下文窗口內容。第二輸出結果。全文內容、敏感信息標記、規則層是否觸發。第三抽檢結果。人工或自動評估員是否復核過復核結論是什么。下面的代碼演示了一個簡化的審計日志記錄示例。# 文件路徑audit_log.py import json import datetime def record_ai_call( user_prompt: str, context_sources: list, model_output: str, review_status: str none, ) - dict: log_entry { timestamp: datetime.datetime.now().isoformat(), user_prompt_hash: str(hash(user_prompt)), context_sources: context_sources, model_output: model_output, review_status: review_status, } with open(ai_audit_log.jsonl, a, encodingutf-8) as f: f.write(json.dumps(log_entry, ensure_asciiFalse) \n) return log_entry if __name__ __main__: record_ai_call( user_prompt企業版套餐可以退款嗎, context_sources[內部產品手冊 v2.3], model_output企業版套餐付費后支持 90 天無理由退款但僅限尚未超出上傳流量配額的用戶。, review_statuspending, ) print(審計日志已寫入 ai_audit_log.jsonl)有了日志后續的問題排查才有依據。如果某條 AI 回復引發投訴你可以快速回溯它參考了哪些文檔用了哪個模型版本當時有沒有規則觸發有沒有人工復核記錄。沒有這些日志你只能兩手一攤說“這個我也不知道它是怎么想的”。6. 完整示例為 AI 客服系統加上三重防線前面說的內容比較分散這里我把它們組合起來給出一個可運行的 AI 客服系統的簡化架構示例。這個示例不是生產級代碼而是用來展示三件事檢索約束、規則攔截、人工復核回調。# 文件路徑customer_service_demo.py import json from openai import OpenAI client OpenAI() knowledge_base { refund: { doc_id: KB-001, content: 企業版套餐付費后支持 90 天無理由退款但僅限尚未超出上傳流量配額的用戶。, }, invoice: { doc_id: KB-002, content: 發票通常在企業版套餐支付成功后 7 個工作日內開具支持電子發票和紙質發票。, }, } def retrieve_docs(query: str): if 退款 in query: return [knowledge_base[refund]] if 發票 in query: return [knowledge_base[invoice]] return [] def guard_check(text: str) - list: alerts [] if in text or ; in text: alerts.append(檢測到疑似 SQL 注入字符建議轉人工) if 100% in text or 永遠 in text or 絕對 in text: alerts.append(檢測到絕對化表述請人工復核) return alerts def reply_with_pipeline(query: str): sources retrieve_docs(query) if not sources: return { final_reply: 未找到相關資料請轉人工處理。, sources: [], alerts: [], needs_human: True, } context \n.join([doc[content] for doc in sources]) system_prompt ( 你是一個企業客服助手。只能根據以下內部資料回答不得補充資料之外的規則。\n f資料\n{context} ) response client.chat.completions.create( modelgpt-4o-mini, messages[ {role: system, content: system_prompt}, {role: user, content: query}, ], ) raw response.choices[0].message.content alerts guard_check(raw) needs_human len(sources) 0 and len(alerts) 0 return { final_reply: raw (\n\n[提示] 該回答命中風險規則已同步給人工客服。,) if needs_human else raw, sources: [doc[doc_id] for doc in sources], alerts: alerts, needs_human: needs_human, } if __name__ __main__: question 企業版套餐可以退款嗎之前有人說發票也要一起處理。 result reply_with_pipeline(question) print(json.dumps(result, ensure_asciiFalse, indent2))運行這個腳本后你會看到一個結構化的返回結果包含最終回復、命中的知識庫文檔 ID、風險預警列表以及是否需要人工介入的標記。這個結構本身就是對“AI 輸出默認正確”的最佳抵抗。你可以看到這里真正有價值的不是某一行代碼而是它背后體現的流程設計AI 生成內容規則層攔截風險技術手段不足以兜底時就把問題交回給人。7. 運行結果與效果驗證以customer_service_demo.py為例預期你會看到類似這樣的 JSON 輸出具體模型輸出可能不同但結構一致{ final_reply: 根據內部資料企業版套餐用戶可以在付費后 90 天內申請無理由退款但需確保尚未超出上傳流量配額。發票處理與退款流程相互獨立如需發票可聯系客服單獨處理。, sources: [ KB-001, KB-002 ], alerts: [], needs_human: false }如果查詢內容包含絕對化詞匯比如“有沒有絕對不被封號的方法”guard_check會命中“絕對”關鍵詞needs_human會被置為true提醒人工介入。這個機制可以讓管理者和開發者在驗證階段就確認AI 的輸出不是直接對外發布而是經過了一層可觀察、可干預的管道。如果你運行后遇到問題有幾點可以參考第一確保 Python 環境和 SDK 的版本兼容。代碼里的openai庫以及client.chat.completions.create調用以官方最新 SDK 為準如果接口有調整先查文檔再運行。第二確認模型有權限調用。如果使用公司內部部署的模型需要把base_url等參數配置好回調地址和密鑰也要核對。第三如果返回結果里沒有sources請檢查retrieve_docs里的中文匹配邏輯。中文關鍵字匹配在真實場景里不可靠建議替換為更健壯的檢索方案比如基于向量數據庫的語義檢索。8. 常見問題與排查思路問題現象可能原因排查方式解決方案AI 回復依然出現明顯幻覺知識庫內容缺失或檢索命中錯誤檢查命中的文檔 ID 和相關性擴充、更新知識庫優化檢索排序在 prompt 中約束“查不到就轉人工”規則層過度攔截正常內容正則規則過于寬泛查看審計日志中 rule 命中記錄縮小規則范圍增加白名單對規則做 A/B 測試人工復核環節形同虛設流程上沒有強制推動統計抽檢率檢查每個環境的狀態設置自動抽檢比例超過閾值自動提醒負責人新增“必須人工確認”的節點模型在輸出中給出錯誤引用訓練數據中不存在該引用RAG 檢索未命中核實檢索內容確認引用是否來自知識庫強制要求模型只引用給定文檔不在 prompt 之外開放自由引用團隊對 AI 輸出盲目信任缺乏“復核”意識抽查典型錯誤案例作為內部分享建立“AI 輸出可信度”培訓讓成員清楚 AI 生成內容的邊界如果團隊在實踐一段時間后發現錯誤率依然很高我建議優先檢查兩件事一是知識庫是否有專人維護二是審計日志是否真的有人在看。工具做得再好如果組織流程上沒有支撐它也只是擺設。9. 工程側之外的領導力動作之前講的都是工程手段但 AI psychosis 本質上是組織問題所以領導層還需要做三件“非技術”的事情。第一件事明確劃定 AI 的決策邊界。在哪些場景下 AI 可以自動執行在哪些場景下必須有人工審批應該被寫成書面規則而不是靠團隊成員各自判斷。比如“AI 生成的客戶回復只能作為草稿”“AI 生成的代碼必須通過 CI 和人工審查才能合并”這類邊界越清晰出事的概率越低。第二件事建立一個真實的錯誤案例庫。很多團隊把 AI 跑起來之后只關注準確率指標卻忽略了對錯誤樣本的收集和復盤。建議每周抽一次線上或測試環境的 AI 輸出挑選幾個典型錯誤組織團隊一起討論錯誤為什么發生哪條鏈路沒攔住怎么補。錯誤庫的價值不是懲罰模型而是幫助組織建立對 AI 局限性的共同認知。第三件事重新定義 KPI。如果團隊的目標只是“AI 回答的數量”那么大家會自然地傾向于讓 AI 多答、快答而不關心回答的質量。建議在指標里加入“需要人工介入的比例”“人工復核后的修正率”“高置信錯誤數”等質量指標因為當質量被量化時它才會被管理。10. 給不同角色的建議技術負責人和架構師重點做兩件事。第一把 AI 系統當成一種新的“外部依賴”來治理給它加上可觀測性、權限控制和審計日志第二主動向上級和管理層解釋 AI 的能力邊界讓決策者明白 AI 輸出不是天然可信的。產品經理和業務負責人重點做一件事在所有 AI 生成內容的界面上設計好用戶預期。不是所有內容都要標注“AI 生成”但高風險場景——比如醫療建議、法律建議、財務數據、客戶承諾——必須給用戶一個明確的“僅供參考”或“人工審核”的提示。普通開發者最需要做的是改變自己的默認思維。拿到 AI 生成的代碼時先問三個問題這段代碼依賴的 API 存在嗎它的邊界條件覆蓋了嗎它在真實數據上能跑嗎把這三個問題的答案寫進 PR 描述里而不是直接把 AI 輸出復制粘貼。11. 總結真正該警惕的不是 AI而是被放大的“信任慣性”AI 的幻覺問題會一直存在但一個組織如果能把 AI 輸出的驗證環節、可觀測性和人工審查節點建立起來幻覺造成的實際損失是可以被壓到很低的。真正的風險在于當 AI 的生成能力越來越像人組織的信任慣性也會越來越大。管理者會逐漸忘記追問數據的來源程序員會逐漸忘記驗證代碼的邏輯客服主管會逐漸默認 AI 已經把客戶安撫好了。回歸到開頭的那個判斷AI psychosis 是新出現的領導力盲區不是技術缺陷。應對它的方式不是抵制 AI而是用工程手段給組織裝上“冷靜裝置”——讓 AI 告訴我們它有多確定讓我們自己決定要不要采信它。這份警覺需要從每一個用到 AI 輸出的人做起。希望這篇文章里的框架、代碼和排查清單能幫你和你的團隊少踩一些坑。建議先挑一個風險最高的業務場景把最小防線搭起來跑通流程再逐步擴展。這樣比空談“AI 治理”要實用得多。