AI 許願池敲碗一下
🎮遊戲創作🤖AI 角色與 chatbot✍️內容創作與變現🏪小生意自動化🎨圖像影音生成工作效率與求職

我的聊天機器人剛開始好好的,用了幾週老用戶一進來就爆掉!

chatbot 剛上線時完美,幾週後老用戶一登入、聊個兩三句就整個報錯。你自己測都沒事。這不是隨機 bug——你缺的詞叫「對話歷史累積撞上限」。這頁講一個只有『真實用戶用久了』才會爆的隱形炸彈。

· 鴿寶
#chatbot#對話歷史#token#聊天app#上限

先說結論:你的機器人沒壞。它只是在等一個「用夠久的老用戶」來引爆。

這個坑最陰的地方在於——你永遠測不出來。

你剛做好機器人,自己開來聊個幾句,完美。上線,一開始的新用戶也都正常,你很滿意。

然後過了幾週,客訴進來了:某個從第一天就在用的老粉,說他一登入、聊個兩三句,機器人就報一個看不懂的錯,整個掛掉。你自己再開來測——一切正常。

你抓破頭:「同一支程式,為什麼只有他會爆?我怎麼複製不出來?」

因為引爆這顆炸彈的,不是「你做了什麼」,是時間

你缺的詞 = 對話歷史(conversation history)累積撞上限 / .slice 截斷


為什麼「用越久越會爆」?(人話版)

大多數聊天機器人的做法,是每次都把完整的對話歷史一起送給 AI(這樣它才記得你們之前聊過什麼)。

問題來了:你通常會給這個「訊息清單」設一個長度上限。開發初期,你隨手設個「最多 50 則」——因為那時候你自己測,最多聊個十幾句,50 綽綽有餘。

真實用戶不是這樣用的。一個老用戶累積幾週,對話歷史可能已經 200、300 則了。他一登入,程式把整段歷史載入——碰! 撞破那個 50 則的上限。

而且最靠北的是:他不是「聊到第 50 句」才爆,是一進來、載入舊歷史的當下就爆了。所以他感覺是「才聊兩句就壞」,其實那兩句背後拖著幾百句的歷史。

你自己測不出來,因為你的帳號沒有累積幾週的歷史。這是個「只有時間能養出來」的 bug。


正確做法:送出前,只留最近的 N 則

解法簡單又一石二鳥:在把歷史送給 AI 之前,先砍成「只留最近的 N 則」(例如最近 40 則)。

// 送出前,把歷史截斷成最近 40 則
const recentHistory = fullHistory.slice(-40);
// 然後只送 recentHistory,不送 fullHistory

這一刀下去,好處是雙份的:

  1. 永遠不會撞上限——不管用戶累積幾百則,送出去的永遠只有 40 則。
  2. 省錢——AI API 是按「送進去的量」(token)收費的。你每次送整段幾百則歷史,等於每句話都在燒錢;砍成 40 則,帳單直接瘦一大圈。

另外,把上限設寬一點(例如「最多 100 則」留安全邊際),別設得剛剛好卡在你的截斷值。

⚖️ 誠實說清楚:截斷歷史意味著 AI 會「忘記」很久以前聊的內容——如果你的應用需要它記得早期的事,就要另外做「摘要」(把舊對話濃縮成幾句重點再保留)。但對大多數聊天機器人,「記得最近 40 則」已經非常夠用。核心教訓是那句我最想你記住的話:做東西時要想像「幾週後真實使用」的樣子,不是只想「我現在測」的樣子。


你會搜錯的關鍵字 vs 該搜的正確詞彙

你崩潰時會打的(搜不到) 該搜的正確詞彙
「聊天機器人用久了會壞」 conversation history limit
「老用戶一進來就報錯」 message array max length
「AI 聊天很花錢」 token cost / history truncation / slice

把右邊那欄丟進 Google、或直接貼給你的 AI。這就是我們在幹的事——把你崩潰時打出來的髒話,翻譯成能找到答案的詞。

🎁 直接貼給你的 ChatGPT / Claude

這一段免費。複製、貼上、送出——先讓你的 AI 動起來。

我做了一個聊天機器人,會把完整的對話歷史送給 AI API。剛開始都正常,但用了幾週後,某些老用戶一登入、聊沒幾句就報錯(顯示成看不懂的通用錯誤)。我自己測試都沒問題。

請告訴我:
1. 為什麼「用久了、對話變長」會突然爆掉?(我聽說跟訊息陣列的長度上限有關)
2. 為什麼是老用戶先中、我自己測不出來?
3. 正確做法是什麼?請解釋送出前把歷史「截斷成最近 N 則」(slice)為什麼同時能省錢(token)。

想更進一步?

上面免費的三層已經能讓你動起來。如果你想要「照著做不迷路」甚至「我們幫你跑好」——往下看。

  1. 免費 這個坑是什麼、誰會踩
  2. 免費 人話解釋:錯在哪、正確的詞彙
  3. 免費 一段可直接貼給 AI 的 prompt

本文首發於 AI 許願池(https://kaowan.pages.dev/articles/chatbot-breaks-after-weeks/),發佈日 2026年7月5日。 轉載請註明出處——原創者不怕考古,只有小偷怕。🕳️