Soulwise
4-Factor Response Engine
4 因子回應引擎
每一次每日簽到都會回給你一則簡短的小筆記。這則筆記來自 4 因子回應引擎——一套受限的生成系統,它的任務是在 60 到 100 個字之間給你實用的內容,而且絕不過度發揮。
四大要素
| # | 要素 | 來源 | 為何重要 |
|---|---|---|---|
| 1 | 籌碼(Chip) | 每日儀式中的 14 顆籌碼組合 | 點出今天的真實狀態 |
| 2 | 階段 | 貝氏週期推估 | 設定週期基準 |
| 3 | 行運脈絡 | 今日對你本命盤的行運(若有) | 增添當天的風味 |
| 4 | 原型 | 你的月經原型 | 跨越各週期的模式 |
這四項會以確定性的方式組合成一段結構化提示——而非自由發揮。生成模型會在一個嚴謹的模板中寫作,並依籌碼 × 階段的組合而有所變化。
為什麼剛好是四個
我們測試過兩個、三個、四個和六個因素。兩個因素(晶片+週期)產生的內容感覺太籠統。三個(晶片+週期+行運)容易過度偏向占星。六個(再加上情緒、天氣、社交負荷)則帶來不一致,並讓生成延遲超出每日儀式設定的 200ms p50 預算。
四個是最理想的平衡點,讓內容對你來說既精準,又不會變得雜亂。
生成的限制條件
模型輸出在寫入時會經過三道規則篩選:
- 長度 — 40 到 120 字。超出這個範圍的內容都會重新生成。
- 防誇大宣稱 — 讓輸出通過與部落格文章相同的防誇大宣稱檢查。請參閱 non-medical-cycle-tracking。
- 語氣校準 — 一個小型分類器會拒絕那些讀起來像在說教、批判或過度商業熱情的輸出。落在「溫暖而踏實」範圍內的輸出才能通過。
任何一道規則未通過的內容,最多會重新生成三次。如果三次都失敗,你會看到隨應用程式內建的精選備用內容。
模型看不到的內容
- 你每日筆記的內文(只看得到標籤)。
- 你過去的任何筆記。
- 其他使用者的資料。
- 你的姓名、帳號,或任何識別資訊。
生成過程使用的是經過精簡、匿名化的輸入。個人化來自結構化的因子,而非重新讀取你的文字。
程式碼的所在
引擎位於 Soulwise 程式庫中的 lib/responseEngine/。結構化提示模板是每組 chip × phase 配對一個 TypeScript 檔案(14 × 4 = 56 個模板),每一個都經過手動微調。所用模型是通過語氣校準測試中最小的那一個——一個 7B 參數的開放權重模型,運行於 Vercel Function 中,並設有 200ms 的 p50 預算。