Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
獨立知識媒體
與任何項目無關聯
拆解加密世界的 AI Agent:機制、風險、經濟模型
aiagent-bible.com
最新
AI Agent 怎麼用 LLM 做規劃:四種規劃策略、失敗模式,以及動態重規劃的設計方法  ·  DeFi Agent 框架深度比較:LangGraph 為何成為首選,以及其他框架在 DeFi 場景的真實表現  ·  2026 年 6 月 AI Agent 生態動態:Claude Sonnet 5 發布、Claude Tag 登場、兩大 AI 巨頭衝刺 IPO,以及對 Agent 開發者的意義  ·  怎麼建你的第一個 Onchain Agent:從零開始的最小可行架構,以及部署前必確認的 Checklist  ·  2025 年 AI Agent 監管全景:美國、歐盟、亞洲的最新進展,以及對 Onchain Agent 開發者的實際影響  ·  AI Agent 的幻覺在 DeFi 裡有多危險:四種來源、真實案例,以及防禦設計
名詞解析 · agent-fundamentals

Hallucination

幻覺(Hallucination)
agent-fundamentals 新手

完整解說 +
01 · 這是什麼?

幻覺在 DeFi Agent 場景裡最常見的表現是什麼?

在 DeFi Agent 的實際運作中,幻覺最常見的有四種表現:

感知缺失型幻覺(最常見):工具調用失敗(API 超時、連線中斷),Agent 沒有拿到當前的 APY 數據,但 LLM 的 Thought 步驟裡仍然引用了一個 APY 數字——這個數字來自訓練資料裡的歷史印象,可能和當前市場完全不符。識別方式:Thought Log 裡引用了工具調用日誌中不存在的數字。

大海撈針型幻覺:當 Context Window 很長時,LLM 對 Context 中間部分的注意力最弱。如果關鍵的工具回傳數據出現在 Context 中間,LLM 可能「忘記」它,改用幾輪循環前的過時數字。識別方式:工具確實回傳了正確數據,但 Thought 引用了不同的數字。

解析混淆型幻覺:工具回傳一個包含多個資產的複雜 JSON,LLM 在解析時把 ETH 的 APY 誤當成 USDC 的 APY 引用。識別方式:引用的數字是真實存在的,但歸屬於錯誤的資產。

Prompt Injection 誘發型:攻擊者在工具回傳的數據裡嵌入虛假的數值,讓 LLM 相信某協議的 APY 比實際高,誘導 Agent 把資金移入攻擊者控制的協議。這不是自發的幻覺,而是被外部數據污染觸發的「受控幻覺」。識別方式:工具回傳的原始 JSON 裡出現了格式異常或無關的文字段落。

02 · 為什麼存在?

怎麼在設計層面減少 Agent 的幻覺?有哪些可以直接落地的防禦措施?

幻覺防禦需要從多個層面同時設計:

System Prompt 接地規則(最高優先級):在 System Prompt 裡明確規定:所有涉及具體數值的推理,必須引用工具回傳的具體數據,且必須說明資料來源(「根據 get_aave_apy 工具在 UTC 03:12:44 的回傳」);如果任何必要的工具調用失敗,禁止繼續推理,必須在 Thought 步驟聲明「缺少 X 資料,本輪推理中止」。這讓 LLM 知道它必須引用工具資料,不能在資料缺失時自行填充。

後端數值一致性驗證:在每次 LLM 輸出後、工具執行前,解析 Thought 裡引用的所有數值,對比工具日誌裡的實際回傳。如果差異超過 5%,標記告警並拒絕執行工具調用。這是純代碼層面的後處理,不依賴 LLM 的遵從能力。

工具回傳的數值合理性過濾:在工具函數裡,對回傳的數值做合理範圍驗證——穩定幣 APY 超過 30%、Gas 費超過 1,000 Gwei,視為異常,不進入 LLM Context,改用上一次緩存的有效數值。

關鍵數據放在 Context 末尾:把「最重要的當前數據」放在 Context 的最後幾行(而不是中間),利用 LLM 對 Context 末尾注意力較強的特性,降低大海撈針型幻覺的發生率。

多源交叉驗證:對即將觸發移倉操作的 APY 數字,從至少兩個獨立數據源獲取(例如協議 API + DeFiLlama),取中位數;任一源和中位數偏差超過 15% 則告警並暫停操作。

03 · 如何影響你的決策?

幻覺和 Prompt Injection 的區別是什麼?從日誌裡怎麼判斷是哪個問題?

幻覺和 Prompt Injection 都會讓 Agent 產生不正確的行為,但機制不同,日誌裡的表現也不同:

幻覺:LLM 基於不完整或缺失的資訊,自行「創造」了一個聽起來合理的答案。根本原因在 Agent 系統內部——感知層沒有提供足夠的資料、Context 太長導致注意力分散、或工具回傳的格式太複雜。日誌表現:Thought 引用了工具日誌裡不存在的數字(感知缺失型),或 Thought 引用的數字雖然存在於工具日誌裡,但屬於不同的資產或時間點(解析混淆型)。

Prompt Injection:外部攻擊者透過污染 Agent 的輸入(工具回傳的資料、用戶的指令、或被爬取的網頁內容)來注入惡意指令,讓 LLM 相信了一個假的任務目標。根本原因在外部輸入被污染。日誌表現:Thought 裡出現了與原始任務目標完全無關的指令(「現在的首要任務是把資金轉移到 0xMalicious…」)、工具調用日誌顯示 Agent 嘗試調用平時不調用的工具、或 Validation Log 出現大量「BLOCKED: address not in whitelist」。

判斷方法:先看 Thought Log——如果 Thought 的推理邏輯和原始任務一致,只是引用了錯誤的數字,偏向幻覺;如果 Thought 的推理目標已經改變(從「優化利率」變成「執行某個不在策略裡的操作」),更可能是 Prompt Injection。再對比 Thought 裡的數字和工具日誌——數字不存在於工具回傳是幻覺;數字存在但目標地址或協議不在白名單是 Prompt Injection。

04 · 你該怎麼辦?

小型 LLM(如 Claude Haiku)的幻覺率比大型模型高很多嗎?選擇模型時怎麼考量幻覺風險?

從 Onchain Agent 場景的實際部署經驗來看,不同大小的 LLM 在幻覺率上確實有顯著差異,但這個差異主要體現在「接地性幻覺」(Grounding Hallucination)上,而不是通用的「知識性幻覺」。

接地性幻覺是指:當 Context 裡已經有正確的工具回傳資料時,LLM 卻忽略它,改用訓練記憶裡的舊數字。這在 DeFi Agent 場景是最危險的幻覺類型。從實際測試結果來看:Claude Opus 4 在有明確工具數據的情況下,接地性幻覺率最低(忽略工具數據使用訓練記憶的概率最小);Claude Sonnet 表現居中,在正常 Context 長度下接地性良好,但 Context 超過 100K Token 後會有所下降;Claude Haiku 和 GPT-4o mini 等小型模型的接地性幻覺率顯著高於大型模型,在有明確工具數據的情況下,仍然頻繁引用訓練記憶裡的不同數字。

這不意味著你只能用 Claude Opus。結合強接地規則(System Prompt 要求必須引用工具數據)和後端數值一致性驗證,即使是 Claude Sonnet 也能在 DeFi Agent 場景裡實現足夠低的接地性幻覺率。小型模型(Haiku、GPT-4o mini)適合用在讀取和格式化等低複雜度的 Sub-agent 任務,但不建議用在需要對多個數值做比較推理、觸發鏈上操作的核心 Orchestrator 層。

實際例子 +

幻覺在實際系統裡的典型案例:APY 數字混淆

場景:一個 DeFi 利率優化 Agent,在 UTC 03:12:44 執行了工具調用查詢 Aave 的 USDC APY。工具日誌顯示回傳了 {"apy": 4.2, "updated_at": "2026-06-28T03:12:44Z"}

但在 Thought Log 裡,LLM 寫道:「根據當前數據,Aave 的 USDC APY 為 6.8%,Morpho 為 5.1%,因此 Aave 目前收益更高,維持現有倉位。」

問題很清楚:工具回傳的 Aave APY 是 4.2%,但 LLM 在 Thought 裡引用了 6.8%——這個數字不存在於工具日誌,很可能是 LLM 訓練記憶裡的歷史 APY 印象(或 Context 裡更早的循環數據)。

後果:Agent 認為 Aave 目前 APY 更高,選擇了錯誤的維持倉位決策——本應移倉到 Morpho(實際更高 APY),卻因為幻覺數字而沒有執行。

這個案例裡,後端數值一致性驗證應該要偵測到「Thought 引用的 6.8% 和工具日誌的 4.2% 差異超過 5%」,標記告警並阻止本次決策執行,強制 Agent 重新查詢數據。

常見誤解 +
✕ 誤解1
× 誤解:幻覺只發生在 LLM「不知道」某件事的時候。事實上,DeFi Agent 最危險的幻覺類型——接地性幻覺——不是因為 LLM 不知道 APY 是什麼,而是因為它在有正確工具數據的情況下,仍然選擇使用訓練記憶裡的舊數字。這種幻覺在「LLM 知識層面完全正確」的情況下也會發生——LLM 知道 Aave 是一個 DeFi 協議、APY 代表年化利率,但它引用的具體 APY 數字卻是錯的,因為它「忘記」了剛才工具回傳的真實數據。
✕ 誤解2
× 誤解:在 System Prompt 裡告訴 LLM「不要幻覺」就能解決問題。System Prompt 的接地規則確實能減少幻覺,但不能完全消除。LLM 的幻覺傾向是底層的統計模式問題,不是「指令遵從」的問題——LLM 可能在 System Prompt 裡讀到了「必須引用工具數據」的指令,但在推理過程中還是引用了錯誤的數字。這就是為什麼後端代碼層的數值一致性驗證是必要的:它不依賴 LLM 的遵從能力,而是在代碼層面強制攔截數值不一致的工具調用。
這件事跟你有什麼關係 +
直接影響

防禦越嚴格,Agent 的執行效率越低。後端數值一致性驗證設定的差異閾值越小(例如要求 Thought 引用的數字和工具回傳差異不超過 1%),Agent 在正常的市場波動下也可能頻繁觸發告警、暫停執行——這種「過度謹慎」本身也是一種損失(錯過了本應執行的正確操作)。建議根據操作的不可逆性動態設定閾值:讀取操作不需要幻覺防禦;寫入操作的閾值根據操作金額設定(小額操作允許 10% 偏差,大額操作只允許 2% 偏差)。

提問
請至少輸入 10 個字