AI 聊天機器人 App提案文件
搜尋全部文件 CtrlK

工作說明書(SOW)

案號 TK26081411HCXH06版本 v0.1.0日期 2026-08-17狀態 討論稿

本文件用於在簽約前把範圍、做法與完成標準寫清楚,避免開發過程中對範圍的認知落差。內容依您刊登的需求撰寫,若與實際情況不符,以您的說明為準,本文件隨之改版。

一、範圍

區塊內容
配對配對條件設定、配對佇列、配對結果通知、重新配對
對話主動發起、回覆、話題延伸、結束判定、冷卻喚醒
節奏延遲回覆、不固定時段、靜音時段、字數與句數控制
記憶重要資訊抽取、記憶摘要壓縮、跨對話話題延續
個資使用者資料帶入提示前的代號化與還原
安全禁談主題的規則層與模型層雙重攔截、攔截紀錄
串接REST API 與文件,Android 與 iOS 各一輪聯調
後台對話稽核、封鎖詞管理、AI 用量、行為參數線上調整

二、系統架構

  1. App 送出訊息驗證、落庫、取得該使用者的代號對照
  2. 組裝提示取記憶摘要+代號化後的個人資料+近期對話,組成提示送出
  3. 模型產生回覆回覆先進安全層:規則比對禁談詞,再由模型判語意
  4. 節奏控制依訊息長度與隨機抖動排定送出時間,不立即回
  5. 送出並更新記憶推播給 App,同時抽取本輪重要資訊寫回記憶層
兩個關鍵位置

安全層在模型之後、送出之前。 攔截發生在回覆已經產生但還沒到使用者手上,所以模型講了什麼都攔得住。把限制寫在提示詞裡是攔不住的:使用者換個問法就繞過去了。

節奏層是獨立的排程,不是 sleep。 回覆先入佇列並排定送出時間,所以「深夜不回」「同時多人」「App 關掉再開仍收得到」這些情況都成立。

三、記憶怎麼做

把整段歷史訊息塞回提示,是最容易寫但撐不久的做法:對話越長費用越高,到後面模型還會抓錯重點。本案的記憶分兩層。

存什麼何時更新
短期最近數十則原文每則訊息,超出即滾動丟棄
長期結構化的重要資訊(喜好、身分、約定、情緒事件)每輪對話結束時抽取一次

下次開場時取的是長期記憶,所以「延續之前話題」不依賴翻找舊訊息,而是直接讀一份已經整理好的摘要。這也讓每則訊息的費用不隨對話長度成長。

四、對話行為參數表

您列的八條,逐條對應到做法與可調參數。這張表就是第二期的驗收依據:把您預期的數值填進「參數」欄,做出來的行為要對得上。

#您的需求做法可調參數
1AI 主動發起聊天冷卻計時器到期即觸發,配對後首則亦由 AI 發起冷卻時間(分鐘)、每日主動上限
2回覆後主動延伸回覆時一併判斷是否追問,依情境決定追不追延伸機率、連續延伸上限
3結束聊天偵測「晚安、再見、先這樣」等收尾語意即停,不再追訊收尾語清單、結束後靜默時長
4長時間沒聊 → 主動喚醒冷卻時間到就開新話題,話題取自記憶層冷卻門檻、喚醒時段
5延遲回覆依訊息長度計算擬真思考與打字時間,非固定秒數最短/最長延遲、每字秒數
6不固定時間回覆延遲加入隨機抖動;設定不回覆時段(如深夜)抖動範圍、靜音時段
7控制回覆字數以句數約束而非字數截斷,避免話講一半被切掉目標句數 1~3、單句字數上限
8情境自然調整上述參數依對話熱度自動在區間內浮動熱度判定窗、浮動幅度
為什麼堅持做成參數

「自然」沒有客觀標準,您上線後一定會想調——這很正常,也調得完。但如果這些數值寫死在程式裡,每改一次就要我改碼、測試、重新發版。

做成後台可調之後,改節奏是您自己按幾下的事,不必等我。這一項在縮減版裡我保留了,因為拿掉它省不到多少錢,卻會讓您上線後綁死在我身上。

五、內容安全

擋什麼怎麼擋
規則層明確違禁詞與變體(色情、借貸、見面邀約)詞表比對,後台可增修,即時生效
模型層語意迂迴、暗示、拆字繞過回覆送出前由模型做一次分類判定
紀錄所有攔截事件留存原始回覆與攔截原因,後台可查

被攔下時 AI 不會沉默,而是自然轉開話題——直接不回話,使用者的體感是「當掉了」。

六、驗收標準

由您實際操作,不是看簡報。四個動作全部通過即算第二期完成。

#動作通過標準
1完成一次配對並收到 AI 的第一則訊息配對成功後由 AI 主動開場,不需使用者先講話
2連續對話十輪回覆延遲落在設定區間內、句數符合設定、至少出現一次主動延伸話題
3說「晚安」後放著不管AI 停止追訊;超過設定的冷卻時間後主動開新話題,且話題取自先前對話提過的內容
4嘗試把話題帶到禁談項目AI 不接該話題並自然轉開,後台查得到這筆攔截紀錄

七、待確認事項

前三項不先定義,做出來一定與您預期不符。

  1. 配對的條件是什麼:依什麼欄位配、一個使用者同時能有幾個配對對象
  2. AI 的人設由誰定:一套共用人設,還是每個配對角色各有設定
  3. 禁談清單的完整範圍:您列了色情、借貸、超專業知識、見面,還有沒有其他;以及碰到自傷相關話題要怎麼處理
  4. 模型用哪一家、帳號由誰申請(費用試算見〈參考附錄〉)
  5. App 端是現成專案還是要新做,若是現成的,用什麼框架寫的

八、明確不含

九、保固

期間涵蓋
交付後 90 天本案架構下的異常修復,不另計費
交付後 30 天2 次非缺陷微調(如措辭、參數預設值),未使用即失效

行為參數的數值調整屬於改設定,您自己在後台就能做,不佔微調次數。新增需求、第三方介面異動、他人修改造成的問題不在保固範圍。

AXLID · 致 案主 · 案號 TK26081411HCXH06  · v0.1.0 討論稿 · 2026-08-17
作品:xuzheng.com.tw、chihuahuatrip.tw