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
最新
Onchain Agent 最壞情況防禦設計:如果你的 Agent 被完全攻陷,怎麼把損失限制在可接受範圍  ·  如何選擇加密 AI Agent 服務:五個評估框架,讓你不被行銷話術坑  ·  加密 Agent 上線前安全檢查清單:從測試網到主網的 12 個必做項目  ·  Agent 錢包怎麼設計:四種架構的風險與成本完整比較  ·  AutoGen vs LangChain vs ElizaOS:三大框架選哪個,加密 AI Agent 開發者的完整決策指南  ·  Agent 記憶系統設計:短期、長期、語意搜尋三層架構,以及加密場景的安全邊界
名詞解析 · onchain-agent

Slippage

滑點(Slippage)
onchain-agent 新手

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

滑點怎麼計算?什麼是「價格影響」和「滑點容忍度」?

理解滑點需要分清三個概念:

價格影響(Price Impact):你這筆交易本身對池子價格的影響。AMM 的定價公式(x * y = k)決定了:交易量越大、池子流動性越低,你的單對價格的衝擊越大。例如,在一個 TVL 只有 $100,000 的 USDC/ETH 池裡,你買入 $10,000 的 ETH,價格影響可能高達 9%——你的買單本身把 ETH 價格推高了 9%,最後幾筆成交的 ETH 比第一筆貴了 9%。

市場滑點(Market Slippage):你提交交易到交易被確認這段時間,市場本身的價格移動。在 ETH 主網,交易平均等待 12 秒(一個區塊)。這 12 秒裡,ETH 價格可能上漲或下跌。如果你在買 ETH 而 ETH 這 12 秒漲了 0.3%,你就多付了 0.3%。

滑點容忍度(Slippage Tolerance):你願意接受的最大滑點百分比。如果設定 0.5%,意思是:如果實際成交價格比你提交時的預期成交價格差超過 0.5%,交易自動 revert(回滾),不執行,你只損失 Gas 費。Uniswap 默認 0.5%,高波動期建議 1-2%,穩定幣對對建議 0.1%。

三者的關係:實際滑點 = 價格影響 + 市場滑點。你的滑點容忍度必須大於這個總和,交易才能成功,但設得越高,在 MEV 攻擊下損失越多。

02 · 為什麼存在?

AI Agent 執行交易時,滑點風險為什麼比人工操作更高?

AI Agent 的滑點風險比人工操作高,原因不是 Agent 更笨,而是 Agent 的操作模式讓滑點攻擊更容易成功:

原因一:Agent 的交易行為是可預測的。MEV 機器人分析鏈上的 pending 交易(mempool),找到「可以搶跑」的大額交易。人工操作的交易時間是隨機的,難以預測。但如果你的 Agent 每天固定在同一個時間點執行利率優化移倉(例如每天 UTC 00:00),MEV 機器人很快就會識別這個規律,提前布局等待。

原因二:Agent 沒有人工的「感覺不對就取消」機制。人工操作時,如果你看到市場在你下單前的一秒鐘突然大幅波動,你可能本能地取消這筆單等待市場穩定。Agent 沒有這個感知層——除非你明確在代碼裡設置「如果市場在過去 N 分鐘波動超過 X%,暫停交易」的熔斷邏輯,否則 Agent 會在最壞的市場時機繼續執行。

原因三:Agent 可能連續快速執行多筆交易。一個多步驟的 DeFi 策略(取出 USDC → 換成 ETH → 存入另一個協議)涉及多筆連續交易,每筆都有滑點。人工操作時你會在每筆之間觀察市場,Agent 可能以自動化速度連續執行,每筆都在最差的市場時機。

解決方向:在 Agent 的工具函數裡,加入交易前的市場狀態檢查(流動性、24h 波動率、當前 Gas 費);設置每筆交易的最大可接受滑點上限;加入隨機化的執行時間(防止 MEV 機器人預測 Agent 的操作規律)。

03 · 如何影響你的決策?

不同交易對的滑點容忍度應該怎麼設?有沒有通用的設定框架?

滑點容忍度沒有一個放之四海皆準的數字,需要按交易對的流動性、波動性、和你的交易量來動態設定。一個可操作的框架:

按流動性層級設定:

  • 深度流動性(TVL > $100M)的主流交易對(ETH/USDC、BTC/USDC 在 Uniswap V3 主池):0.1-0.3%。這類池子流動性深,價格影響小,低滑點容忍度已夠。
  • 中等流動性(TVL $10M-$100M):0.3-0.5%。標準設定。
  • 低流動性(TVL < $10M)的長尾代幣或新協議:1-3%。流動性淺、波動大,需要更高容忍度,但這也意味著更容易被 MEV 攻擊,是否應該讓 Agent 操作這類資產需要額外評估。

穩定幣對的特殊規則: USDC/USDT、USDC/DAI 等穩定幣對的合理滑點應該非常小(< 0.1%)。如果你的 Agent 在穩定幣對上看到超過 0.5% 的滑點,這幾乎一定是異常——可能是 de-peg 事件、流動性危機、或 MEV 攻擊。建議設置:穩定幣對滑點超過 0.3% 時,Agent 自動暫停並告警,而不是繼續執行。

市場狀態的動態調整:

  • 市場正常(24h 波動率 < 2%)→ 使用基準滑點容忍度
  • 市場活躍(24h 波動率 2-5%)→ 基準 × 1.5
  • 市場劇烈(24h 波動率 > 5%)→ 暫停 Agent 交易,等待市場穩定

在 Agent 代碼裡實作:把滑點容忍度從硬編碼的常數改成函數——get_slippage_tolerance(token_pair, tvl, volatility_24h),讓 Agent 在每次交易前動態計算最合適的滑點容忍度。

04 · 你該怎麼辦?

MEV 機器人怎麼利用滑點攻擊 Agent?怎麼防禦?

三明治攻擊(Sandwich Attack)是針對滑點設定的最典型 MEV 攻擊,對 AI Agent 的影響比對普通用戶更大:

攻擊流程

  1. MEV 機器人掃描 mempool,發現你的 Agent 提交了一筆「買入 $5,000 USDC 換 ETH,滑點容忍度 1%」的交易
  2. 機器人在你的交易之前送出一筆買單(front-run),把 ETH 價格先推高
  3. 你的交易在更高的價格成交(在你 1% 的容忍度內,所以交易沒有 revert)
  4. 機器人在你的交易之後立刻賣出(back-run),把價格拉回,賺取差價
  5. 結果:你的 Agent 多付了最多 1% 的滑點,這筆錢進了 MEV 機器人的口袋

為什麼 Agent 比普通用戶更容易被攻擊:Agent 的滑點容忍度通常被設成一個固定值(「1% 應該夠用了」),攻擊者知道這個值,可以精確地「剛好在 1% 以內」完成三明治。普通用戶的滑點設定更多樣,攻擊成本更高。

防禦方法

  • 使用私有 Mempool(Flashbots Protect / MEV Blocker):交易不進入公共 mempool,MEV 機器人看不到,無法搶跑。在 ethers.js 裡只需要把 RPC 端點換成 Flashbots 的端點(https://rpc.flashbots.net)。
  • 動態滑點容忍度:不用固定值,每次根據當前市場流動性計算最緊的合理滑點(參考 Q3 的框架)。攻擊者不知道這次的容忍度是多少,三明治攻擊的利潤空間縮小。
  • 隨機化交易時間:不讓 Agent 在固定時間執行交易,加入 ±30 分鐘的隨機偏移,讓 MEV 機器人難以預測。
  • 交易後的滑點審計:每次交易完成後,記錄「預期成交價 vs 實際成交價」的差值。如果連續 5 筆交易的實際滑點都接近容忍度上限(可能在被三明治),自動觸發告警和策略審查。
實際例子 +

實際計算:一個 Agent 在一個月裡因滑點設定錯誤損失了多少?

場景:一個 DeFi 利率優化 Agent,每天在 ETH/USDC 和 USDC/DAI 之間執行移倉,每次交易量 $5,000,滑點容忍度統一設為 1%(不區分交易對類型)。

問題所在:USDC/DAI 是穩定幣對,正常滑點應該 < 0.05%。設 1% 容忍度等於告訴 MEV 機器人「你可以三明治我,只要差距不超過 1% 就行」。

30 天的損失計算

  • 每天 2 筆交易(移入 + 移出)× 30 天 = 60 筆
  • 假設 MEV 機器人只在 50% 的交易裡成功三明治(另外 50% Gas 競爭下沒搶到)= 30 筆被攻擊
  • 每次三明治讓 Agent 多付 0.6%(在 1% 容忍度範圍內)
  • 每筆損失:$5,000 × 0.6% = $30
  • 30 天總損失:$30 × 30 = $900

修正後的對比

  • 穩定幣對改用 0.1% 滑點容忍度 + Flashbots Protect
  • MEV 三明治的利潤空間從 1% 壓縮到 0.1%,大部分攻擊不再有利可圖(Gas 費超過利潤)
  • 30 天的滑點損失估計下降到 $50-$100
  • 改一行配置,30 天省下 $800+

這個例子說明了為什麼滑點容忍度應該按交易對類型分開設定,而不是用一個「夠安全的大數字」統一設定——大數字正是給 MEV 機器人的利潤空間。

圖解
Slippage: Price Impact vs Market Slippage vs MEV Sandwich滑點三要素視覺化:價格影響(池子深淺決定)、市場滑點(等待時間決定)、MEV 三明治攻擊流程圖,以時間軸形式展示一筆交易從提交到成交的完整滑點構成。Slippage: Three Sources + Sandwich AttackSubmit txMempool wait (~12s)Block inclusionFinal fillPrice ImpactYour order size vs pool TVL$100K pool + $10K buy→ ~9% impactLarger pool = smaller impactMarket SlippagePrice moves while tx waitsETH price during 12s wait→ 0.1–0.5% typicalVolatile markets = more slippageMEV SandwichBot front-runs + back-runsUses your tolerance as target→ up to tolerance %Agent fixed tolerance = easy targetSandwich Attack FlowBot front-runsbuys ETH firstYour Agent txfills at higher priceBot back-runssells ETH, pockets spreadDefense: Flashbots Protecttx never enters public mempoolSlippage Tolerance Guide by Pair TypeStablecoin pairsUSDC/USDT · USDC/DAI → 0.1%> 0.3% = alert, pause AgentDeep pools (TVL > $100M)ETH/USDC Uniswap V3 → 0.3%Standard, low MEV exposureLow liquidity (TVL < $10M)Long-tail tokens → 1-3%High MEV risk — reconsider Agent useAI Agent Bible · aiagent-bible.com
歡迎截圖分享,轉載請註明來源
常見誤解 +
✕ 誤解1
× 誤解一:把滑點容忍度設得越高越好,交易更容易成功。高滑點容忍度確實讓交易不容易 revert,但同時給了 MEV 機器人更大的利潤空間進行三明治攻擊。0.5% 的容忍度讓 MEV 機器人可以拿走最多 0.5% 的交易金額;把容忍度調高到 3% 就是把 3% 的交易金額拱手相讓。應該按交易對流動性設置最緊的合理容忍度,不是越高越「安全」。
✕ 誤解2
× 誤解二:滑點損失只在市場波動劇烈時才重要。即使市場平靜,低流動性交易對的價格影響和 MEV 攻擊造成的滑點損失每天都在發生。對 Agent 來說,因為交易頻率高,微小的滑點損失會在 30 天內累積成顯著金額。滑點管理是日常運營成本,不是只在市場崩盤時才需要關心的問題。
這件事跟你有什麼關係 +
直接影響

低滑點容忍度(0.1-0.3%)→ 對 MEV 攻擊的抵抗力強、每筆損失小,但在市場波動時交易容易 revert,需要更多重試邏輯,Gas 費增加。高滑點容忍度(1-3%)→ 交易成功率高、重試少,但 MEV 三明治利潤空間大、在低流動性池子裡損失也大。最佳實踐:不是選一個固定值,而是動態設定——穩定幣對用極緊(0.1%),主流大池用標準(0.3-0.5%),低流動性資產用寬鬆(1-3%)並額外評估是否值得 Agent 操作。私有 Mempool 是幾乎零成本的 MEV 防禦,應該在任何 Agent 上優先採用。

提問
請至少輸入 10 個字
參照詞條