iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
AI 自動化

我以為我保留了五道閘門系列 第 6

Day 6|438 則新聞,只有兩個欄位是 100% 填滿的

  • 分享至 

  • xImage
  •  

模組二|選題與素材庫(Day 6–11)

模組一講產線的形狀,從今天開始進裡面。第一站是最前端:新聞要怎麼存,才能直接拿來口播。

我的答案是一個 438 則的結構化條目庫。單則平均 7,523 個字元,全庫用過 36 個不同的欄位。

而這一篇真正的內容是一組填充率數字,因為它們是一場沒有人設計的自然實驗。

為什麼新聞本身不是素材

一則新聞抓下來,它是給人「讀」的。

口播需要的是給人「唸」的,而這兩件事的結構完全不同:

  • 讀者可以回頭看上一段,聽眾不行——所以資訊必須是線性的
  • 讀者會跳過導言,聽眾在導言就決定要不要繼續聽——所以開頭要抓人
  • 讀者可以自己判斷可信度(看到「據傳」會自動打折),聽眾聽到的是我的聲音——所以未定的事實必須在句子裡就標好

新聞原文一項都不滿足。所以中間需要一層轉換,而那層轉換的產物就是條目。

那組數字

https://ithelp.ithome.com.tw/upload/images/20260811/20183479U0o8eI8bi7.png

整排抽屜裡,只有兩格的把手被我摸得發亮

438 則裡,欄位填充率長這樣(節選):

欄位 有內容 填充率
開場鉤子 438 100%
事件核心 438 100%
事實查核 437 99.8%
深度分析 434 99.1%
事件故事 419 95.7%
常見問答 181 41.3%
時間軸 182 41.6%
人物 142 32.4%
金句 19 4.3%
追蹤更新 20 4.6%

從 100% 一路掉到 4.3%。

唯二 100% 全覆蓋的,是開場鉤子與事件核心。

沒有任何程式強制它們必填。Day 7 會講模板規格的落實率只有 8%,也就是說,規格根本沒在執行。

那這兩個欄位為什麼會滿?

因為它們每一集都要用。少了鉤子,這一段沒有開場;少了核心,這一段沒有內容。其他欄位是「有就好」,這兩個是「沒有就播不了」。

需求執行了規格沒能執行的東西。

它們的格式差異也很誠實

更有意思的是這兩個欄位的內部形狀:

平均字元 含條列的則數
開場鉤子 367 5 / 438
事件核心 661 276 / 438(63%)

鉤子幾乎不用條列,核心大量用條列。

這不是巧合,它剛好對應規則書裡對這兩個欄位的要求:

  • 鉤子:先給一個「畫面」或一句可轉貼的 punchline,避免抽象開場
  • 核心:用 4–6 點條列,把事件講成「一張表」:主題、爭點、責任、影響、後續

鉤子是一句話,要點是一張表。 而這件事在寫的時候沒有人檢查,是資料自己長成這樣的。

再看兩個小樣本的欄位:常見問答 181 則、追蹤更新 20 則,兩者的條列率都是 100%。

規律很清楚:凡是為口播設計的欄位,格式都會自己收斂。 因為唸的時候格式不對就會卡住,卡住就會回頭改。

那金句為什麼只有 4.3%

https://ithelp.ithome.com.tw/upload/images/20260811/20183479avuntfriLx.png

這一格我只能淘,不能填

這是我看這組數字時最不舒服的一格。

金句欄位(一句可以直接朗讀、可以轉貼的引語)438 則裡只有 19 則有。

而它明明是最口播的欄位。

我想了一下,結論是:因為它不能被「填」,只能被「挑」。 鉤子跟核心我可以從新聞裡整理出來,金句必須是原文裡真的有一句夠好的話。多數新聞沒有。

這其實是個好消息,它代表那 19 則的金句是真的,不是為了填欄位硬湊的。

填充率低不一定是問題,要看那個欄位是「整理得出來」還是「碰得到才有」。 整理得出來的欄位填充率低,代表流程有漏;碰得到才有的欄位填充率低,那叫誠實。

欄位是怎麼決定的

回頭看這 36 個欄位,它們不是一次設計出來的。

看得出來的痕跡是:先有幾個核心欄位,然後每遇到一種講不清楚的新聞,就長一個欄位出來。

法律爭議講不清楚 → 長出法律分析欄位。
經濟影響講不清楚 → 長出經濟欄位。
某類議題需要特定視角 → 長出對應的視角欄位。

這個成長方式跟 Day 2 講的產線一模一樣:痛一次,長一個。

好處是每個欄位都對應一種真實的表達需求;壞處 Day 7 整篇講:36 個欄位裡,有一半以上的填充率在 10% 以下,而它們全部都還在 schema 裡。

一個實作細節

條目是 JSON,一則一個物件,全部塞在同一個檔案裡。

這個決定在 Day 10 跟 Day 13 各爆炸一次:單一巨型 JSON 檔在兩台機器上同時寫,必然衝突;而有一次衝突標記被直接 commit 進檔案,瀏覽器整個載不動,還在解衝突時掉了 6 則資料。

如果重來,我會拆成一則一個檔。當時沒拆的原因很單純:一開始只有幾十則。

「一開始只有幾十則」是所有單檔資料庫的墓誌銘。

代價

這套 schema 最大的代價是它讓「收一則新聞」變成一件有摩擦的事。

一則新聞要進庫,我得填鉤子、填核心、填查核、標可信度。這比「存個連結」貴太多了。

結果是:有些該收的新聞我沒收,因為當下沒力氣填。 我沒辦法量化這件事(沒進庫的東西不會留下痕跡),但我知道它發生過。

結構化的成本是即時的,收益是延後的。 而人在累的時候會選擇便宜的那個。

第二個代價:36 個欄位裡有一半以上是低填充率的長尾,它們讓每次填條目都要面對一長串「這個要不要填」的判斷。選項多本身就是成本,這件事 Day 5 講過:AI 省的是產出時間,而選項多消耗的是決定時間。

帶走什麼

看填充率,不要看 schema。

schema 告訴你「你當初以為需要什麼」,填充率告訴你「實際上什麼被需要」。這兩份清單的差距,就是你的規格跟現實的距離。

具體怎麼做:把你的資料表每個欄位的非空比例算出來,然後分三堆:

  • 接近 100% 的:這些是真需求,值得為它們寫檢查
  • 中段的:看它是「整理得出來但沒整理」還是「本來就不常有」,前者是流程漏洞,後者正常
  • 10% 以下的長尾:問自己「拿掉會怎樣」。多數答案是不會怎樣,而它們正在消耗每一次填表的注意力

第二條,關於為什麼有些規則不用執行就會被遵守:

當一條規則對應到一個「不做就完不成工作」的需求時,它不需要被執行。 開場鉤子沒有任何程式在檢查,但它 438/438,因為少了它,那一段就開不了口。

這是這個系列的主軸(規則怎麼才不會懸空)的第三種答案。前兩種是「寫成程式的斷言」跟「執行者是人的文件」,這一種是把規則綁進工作流程本身,讓不遵守變得不可能完成。

明天講那些沒有這個特性的欄位,以及為什麼 438 則裡只有 35 則符合我自己定的模板。


上一篇
Day 5|那 AI 到底省了什麼
下一篇
Day 7|438 則資料,只有 35 則符合我自己定的規格
系列文
我以為我保留了五道閘門8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言