昨天先把 Macaron 的基本規則處理完,今天終於可以開始做「占卜」本身了。
第一個問題是:
一篇大眾占卜,對 Macaron 來說到底是什麼?
對我們來說其實很簡單。
看到一個問題,下面有 A、B、C 三個選項,選一個,等 Macaron 把答案送過來。
但我要讓 Macaron 自己完成這件事,它就需要知道更多。
A 是哪一組牌?A 的答案是哪一份?這篇占卜現在還在修改,還是已經可以給大家玩了?
所以今天就從這裡開始。
我原本看到的「一篇占卜」,拆開之後其實有六個部分:
這裡最重要的,其實是最後兩個要分開。
因為我在準備占卜的時候,本來就會一直改。
可能覺得某一句太空泛,改掉。
覺得 AI 把牌講得太正向,再改。
整組牌沒有串起來,繼續調。
這些都很正常,所以編輯中的版本,本來就應該可以一直修改。
但當我確認:
「好,這份可以給大家看了。」
它就會變成正式發布的版本。
這一份就不再修改。
如果之後真的需要調整,我會另外做一個新的版本,而不是直接把原本那份蓋掉。
這樣 Macaron 才能一直知道:
當時真正送出去的,到底是哪一份答案。
把內容拆完之後,下一個問題是:
我要怎麼讓 Macaron 知道,這篇占卜現在做到哪裡?
所以我幫它安排了六個階段:
基本上就是一篇占卜產生的過程。
而且這六個階段是有時序,不可任意顛倒。
還在「生成中」,就不能突然跳去「已發布」。
已經發布了,也不能突然跑回「編輯中」偷偷改內容。
如果中間真的發現這篇有問題,前面幾個階段都還可以取消。
但一旦正式發布,它接下來就只會走到「揭曉結束」。
這樣我之後就不用靠自己記,Macaron 自己會知道。
今天也順便替這些資料加了一些基本規則。
例如 A 就是第一個選項、B 就是第二個,不能突然 A 排第三個。
時間也要合理,不能出現「最後修改時間比建立時間還早」這種穿越時空的資料。
另外:
這些事情單獨看都很小。
但如果沒有先限制,後面真的開始接 Discord、資料庫之後,我就可能遇到一些很奇怪的狀況。
例如:
使用者選了 B,結果系統找到的其實是 C。
或者文章顯示「已發布」,卻根本找不到可以送出去的答案。
我不太想等到真的有人使用時,才發現這些問題。
所以今天就先把相關的狀況處理掉。
規則寫完之後,我做的事情其實滿像在故意找 Macaron 麻煩。
正常的資料可以通過,這很基本。
所以我開始塞一些奇怪的東西給它。
不存在的階段、錯誤的選項順序、不合理的時間,或是明明說自己準備好了,卻沒有準備好正式內容。
然後看它會不會真的拒絕。
中間也真的抓到一些原本沒有想到的漏洞,再一個一個補起來。
最後今天的測試全部通過。
這至少代表目前訂下來的規則,Macaron 已經真的會照著走,而不是只有寫在我的文件裡。
所以今天結束之後,Macaron 還是不能真的占卜。
但跟昨天相比,它終於開始有一點「Macaron」的樣子。
它現在知道一篇大眾占卜裡面有哪些東西,也知道一篇占卜會從準備內容、修改、確認,一路走到正式發布和結束。
最重要的是,它開始分得出來:
什麼東西還可以改,什麼東西已經不能動了。
今天也把資料庫的設計圖一起畫好了。
只是目前真的只有「設計圖」。
還沒有任何資料庫(笑)。
所以 Day 04 要來做的事情很直接:
把今天設計好的這些東西,真的放進資料庫裡。
然後確認放進去之後,Macaron 還是認得它們。
馬卡龍預拌粉持續攪拌中……🍪