昨天做完第一個真的可以跑的 Workflow 之後,我讓 AI 負責把收到的文字整理成固定格式。
它會從原始內容裡抓出標題、摘要、待辦事項、截止時間,以及這件事情需不需要回覆,最後再把結果交給下一個節點。
做到這裡其實已經可以省掉一些複製整理的時間,但整個 Workflow 還是很笨。
因為不管收到什麼內容,它最後走的路都一樣。
所以今天想讓 AI 第一次真的參與「下一步要做什麼」。
昨天的流程大概是:
收到內容
↓
AI 整理
↓
轉成固定 JSON
↓
儲存
這個流程的好處是穩定,而且很好理解。
但實際收到的資訊不會全部一樣。
有些只是通知,看完就好;有些有 Deadline,要變成待辦事項;有些需要我回覆;有些可能根本不重要,不需要再做任何事情。
如果全部都送到同一個地方,最後還是我要自己重新分類一次。
所以今天多加了一個欄位:
{
"category": "",
"title": "",
"summary": "",
"task": "",
"deadline": "",
"need_reply": false
}
category 先不弄得太複雜,只分幾種:
notification
task
reply
reference
接著真正有趣的地方才開始。
以前 AI 回答完,結果只是拿來看。
今天它回傳的 category 會直接進到下一個判斷節點。
AI 分類
↓
category
↓
Switch / If
├── notification → 留存
├── task → 建立待辦
├── reply → 進入待回覆區
└── reference → 存成參考資料
這樣看起來其實沒有很複雜,但對我來說差別滿大的。
因為 AI 現在不只是處理資料,它的輸出開始影響後面的程式怎麼跑。
也就是從今天開始,如果 AI 判斷錯,問題不會只是一段摘要看起來怪怪的,而是真的可能把資料送到錯的地方。
我拿幾段自己平常可能收到的內容測試。
簡單的都沒什麼問題,例如:
明天下午三點前請繳交報告。
很容易被分類成 task。
但只要內容開始有一點模糊,問題就出現了。
例如:
教授提醒,下週可能會討論目前進度,
有新的內容可以先整理。
這到底算通知還是 Task?
人看到這段話可能會根據上下文決定,但 AI 如果只看到這幾句,也只能猜。
第一次測的時候,它就把一些我認為只是通知的東西分類成 Task。
這時候我才發現,昨天那種「輸出格式錯了」其實還算很好處理,因為 JSON Parse 失敗可以直接抓到。
分類錯誤麻煩很多。
格式完全正確、Workflow 也正常執行,資料只是被送錯地方而已。
整個系統甚至不會知道自己做錯了。
原本的 Prompt 很簡單:
請判斷以下內容屬於 notification、task、reply 或 reference。
後來發現這樣太模糊,我就開始補每個 Category 的定義。
task:
內容中有明確需要使用者完成的行動。
reply:
內容需要使用者提供回覆或確認。
notification:
主要提供資訊,目前沒有明確行動。
reference:
主要內容適合保存,供未來查詢或使用。
接著又補了一條我覺得很重要的規則:
如果無法確定分類,不要自行猜測,
輸出 category = "uncertain"
然後 Workflow 多一條:
uncertain → 等待人工確認
這個節點加下去之後,整個流程反而讓我安心很多。
我一開始想做 AI 自動化的時候,很容易把目標想成:
最好我什麼都不用管。
但今天真的讓 AI 開始決定 Workflow 之後,我反而覺得這個方向不一定對。
如果一件事情 AI 有 95% 把握,那自動往下跑可能沒問題。
但如果它自己都不確定,硬要逼它四選一,最後只是把原本需要我判斷的事情變成「我之後還要去找它哪裡判斷錯」。
所以現在我的流程比較像:
明確
↓
自動處理
不明確
↓
交給我
這樣 AI 真正幫我省掉的是那些沒有必要每次都重新判斷的事情,而不是為了追求 100% 自動化,連模糊情況也硬塞給它。
既然有 uncertain,我就順便開始想能不能把 AI 對自己的判斷程度也留下來。
所以輸出又多了一個欄位:
{
"category": "task",
"confidence": 0.92,
"title": "...",
"summary": "...",
"task": "...",
"deadline": null,
"need_reply": false
}
目前我還不打算直接相信這個數字。
LLM 說自己有 0.92 信心,不代表真的有 92% 機率答對。
但它至少可以先拿來當 Workflow 的一個訊號。
例如:
confidence >= 0.8
↓
自動處理
confidence < 0.8
↓
人工確認
之後如果真的累積很多資料,再回頭看高 Confidence 的分類到底有多常答對,門檻才有機會慢慢調整。
昨天以前,我做的其實都還是:
A → B → C → D
今天第一次變成:
┌→ A
輸入 → AI ├→ B
├→ C
├→ D
└→ 人工確認
只是多了一個分類,整個 Workflow 的感覺就差很多。
因為從這裡開始,我不能只想「這個節點能不能跑」,還要開始想「如果 AI 判斷錯會發生什麼」。
如果只是把通知放進 Task,頂多有點煩。
但以後如果 Workflow 真的接到寄信、修改資料、建立行程,甚至其他會直接產生動作的工具,那錯一次的成本就完全不一樣。
所以今天做到最後,我沒有急著把更多服務接進來。
反而先留了一條 uncertain,讓 AI 可以說它不知道。
目前這個 Workflow 還很小,但已經開始有一點我原本想做的感覺了。
前幾天 AI 只是幫我整理資訊,今天它第一次開始決定資訊接下來要去哪裡。
明天我想繼續碰更危險一點的部分:如果 AI 判斷「這封訊息需要回覆」,能不能讓它直接幫我產生回覆草稿?
先從 Draft 開始,不讓它真的送出去。
我還沒有勇敢到第五天就把寄信按鈕也一起交給它。