昨天,比模型的計畫卡住了,只先畫好了跑道。
今天換個方向,回到使用者看得到的地方。一篇大眾占卜,總要有人先把題目出出來。
今天要固定下來的,是三件事:誰可以出題、在哪裡出題、出題的時候要留下什麼。
很多產品的第一步,是做一個管理後台:登入、填表單、按送出。
第一版的 Macaron 不做這個。我會在 Discord 裡開一個管理用的頻道,直接在那裡出題。
但這樣做,就要回答一個問題:Macaron 怎麼知道,出題的人真的是我?
第一道檢查,是看發出指令的人,在不在一份白名單上。這份白名單上,只有我自己的帳號。
但只有這一道,還不夠。
假設我在公開的頻道、甚至是別的伺服器裡,打了一句看起來像指令的話。如果 Macaron 只看「是不是 Tiffany」,它就會照做。
所以還有第二道檢查:這個指令,必須是從指定的那一個管理伺服器、那一個管理頻道發出來的。
兩道都通過,才算數。只對一道,都不行。
被擋下來的時候,Macaron 只會回一句固定的原因。它不會把我的帳號、伺服器、頻道的編號,或任何密碼講出來。
身分確認之後,我只需要告訴 Macaron 三件事:題目、要有幾個選項,以及時間(也可以先不填)。
選項的數量,只能是 2 到 4 個。
至於 A、B、C、D 的名稱、排列的順序,以及每個選項固定的編號,都由 Macaron 自己產生。外面不能塞一個「E」進來、不能打亂順序,也不能重複用一個已經存在的占卜編號。
這看起來是小事。但之後的留言、抽牌、寫草稿,都會用到這些編號。只要它在一開始是亂的,後面每一步都會跟著亂。
出題的時候,還有三個時間要分清楚:
| 時間 | 它回答的問題 |
|---|---|
| 留言截止時間 | 大家還能不能留言? |
| 內容有效期間 | 這篇占卜,適合被參考多久? |
| 資料保存規則 | 這些紀錄,要留多久? |
這三個時間,很容易被當成同一件事。但它們真的不一樣:留言可能兩天就截止了,這篇占卜的內容卻適合參考好幾個月,而紀錄要保存多久,又是另一回事。
所以它們是三個分開的欄位。有填的話,一定要帶時區;有效期間的開始和結束要成對出現,而且結束一定晚於開始。
出題的當下可以先不決定。但在進入後面「準備發布」的階段之前,就一定要補齊。
一篇占卜建立之後,會停在「生成中」這個階段,等著下一步。
Macaron 交出去的建立結果裡,只會有這一篇占卜、它的選項,以及抽牌方式。管理頻道的編號、這一次指令的編號、我的帳號,都不會跟著出去。
跟前幾天一樣,這一串東西也不接受長得像正版的仿製品;建立之後被偷改的,在要拿出來用的時候也會再被檢查一次。
今天這些,都還是用假的帳號、假的伺服器和頻道編號,在離線的狀態下驗證的。Macaron 還沒有真的連上 Discord,也還沒有資料庫。
今天的「生成中」,只是一個正確、而且查得到來龍去脈的起點,還不是一篇已經發布的占卜。
題目出好了,接下來就要準備每個選項的答案。
但這些答案,我只打算讓 AI 寫一次。使用者之後來領的時候,Macaron 絕對不會再回頭去問 AI。