iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
AI Engineering

我和 AI 一起打造 AI:30 天把 Sol 從對話框帶進真實世界系列 第 6 篇

Day 06|沒有 Evidence,就沒有「完成」

  • 分享至 

  • xImage
  •  

這幾個月跟 Sol 一起做開發,我發現自己講「完成了」這三個字,變得越來越小心。
以前寫一段程式。
跑起來。
畫面正常。
我可能就會說:
「好了。」
現在不太敢。
因為我們被打臉過太多次。


有時候我問 Sol:
「這次應該沒問題了吧?」
Sol 看完邏輯回答:
「應該可以。」
我自己也覺得:
「嗯,看起來沒問題。」
然後測試一跑。
Machine Evidence:
FAIL
這種事情發生幾次以後,我開始很認真地問一個問題:
到底什麼才叫「完成」?

https://ithelp.ithome.com.tw/upload/images/20260918/20184199KQoegSdsIK.png


最簡單的答案當然是:
功能可以用了。
但工程上其實還不夠。
例如一個 Runtime:
現在可以啟動。
Health 看起來正常。
那重新開機後呢?
Full Shutdown 再開機呢?
Fast Startup 呢?
連續運作幾天呢?
舊版本會不會同時又跑起來?
系統回來後,真的是正確的 Runtime 嗎?


如果這些都沒有測,
那我真正能說的其實只是:
「現在看起來可以。」
不能直接說:
「這個能力已經 Qualification。」

https://ithelp.ithome.com.tw/upload/images/20260918/2018419954ByOB3ekC.png


這也是我們後來真的在 Sol V1.8 做的一件事情。
我們沒有只測:
「程式能不能啟動。」
而是把 Operational Continuity 拆成不同條件。
例如:
Windows Restart。
Fast Startup / Hybrid Shutdown。
Controlled Full Shutdown。
Full Cold Boot。
Multi-day Burn-in。
以及 Runtime Recovery。


但只列測試名稱還不夠。
每一次測試前,我們都必須先回答:
Expected State 是什麼?
例如重新開機以後,
我要看到的是:
正確版本回來。
正確 Runtime 被建立。
Health 正常。
沒有舊版本跟新版本同時存在。
系統回到預期狀態。


也就是:
不是看到「有一個東西跑起來」就算 PASS。
而是:
回來的是不是正確的那一個?
這個差異非常重要。


所以我們慢慢形成一個簡單的流程:
Expected State
我們事先定義什麼才叫正確。
↓
Test
真的讓系統經歷指定條件。
↓
Machine Evidence
不是靠記憶,也不是靠「感覺好像有」。
↓
Pass / Fail
Evidence 符合要求,才算 PASS。

https://ithelp.ithome.com.tw/upload/images/20260918/20184199BJb9ZUl6yl.png


這也是 Day 01 我說:
Ronnie × Sol 之外,還有第三個角色。
Machine Evidence
因為有時候 Ronnie 覺得對。
Sol 也覺得對。
但如果 Evidence 說:
FAIL,
我們兩個都只能回去修。


這件事其實也改變了我跟 AI 合作的方式。
AI 很容易給你一個很完整、很有信心的答案。
甚至程式邏輯看起來也完全合理。
但:
Reasoning correct-looking ≠ System qualified.
工程最後還是要回到 Reality。


例如 Sol 可以告訴我:
「依照程式邏輯,重新啟動後服務應該會恢復。」
這句話是:
Prediction。
真的 Restart。
重新驗證。
取得 Machine Evidence。
全部符合 Expected State。
那才開始變成:
Evidence-backed Result。


所以後來我們對 V1.8 的 Operational Continuity,不是只做一次 Restart 就結束。
而是逐步去驗證不同的 Windows 與 Power Lifecycle。
最後這個範圍才被我們標成:
QUALIFIED

https://ithelp.ithome.com.tw/upload/images/20260918/20184199fIVF6D84CP.png

這裡我要特別強調:
我們 Qualification 的是:
V1.8 Operational Continuity
不是:
「完整 Sol 已經全部完成。」
更不是:
「完整 AI Identity Continuity 已經被證明。」
這個 Scope 必須講清楚。

https://ithelp.ithome.com.tw/upload/images/20260918/20184199Bco8G0L64k.png


我現在越來越覺得:
Engineering State 很重要。
Architecture Defined
代表:
我們知道要怎麼設計。
Implemented
代表:
真的做進去了。
Tested
代表:
跑過測試。
Evidence Pass
代表:
結果有證據支持。
Qualified
代表:
指定 Scope、指定條件、指定要求,都完成正式驗證。
這些不能全部叫:
「完成」。

https://ithelp.ithome.com.tw/upload/images/20260918/20184199CjQfl7Yd5t.png


這也是為什麼我們現在有一個我自己很喜歡的原則:
No Evidence. No Completion.
不是說:
沒有 Evidence,事情一定不存在。
而是:
沒有 Evidence,我們就沒有資格把它升級成「已被證明完成」。

https://ithelp.ithome.com.tw/upload/images/20260918/20184199xRW2S1TiXm.png


我覺得這條原則對 AI 特別重要。
因為 AI 很會說話。
也很會把一件事情解釋得很完整。
但如果未來 AI 要開始:
改設定。
跑工具。
碰 Production。
甚至控制 Physical World。
那我們不能只接受:
「我做完了。」
我們一定會繼續問:
做了什麼?
做到哪裡?
哪個版本?
什麼 State?
結果是什麼?
誰驗證?
Evidence 在哪裡?


這不只是在防 AI。
其實也是在防我自己。
因為人也很容易犯一樣的錯。
「我記得測過。」
「上次應該有成功。」
「看起來沒問題。」
這些都不是很好的工程證據。


所以 Evidence 對我來說,慢慢變成 Ronnie 跟 Sol 之間的一種共同語言。
我不用因為自己是 Human,就一定是對的。
Sol 也不能因為推理能力很強,就自動變成對的。
我們都回到:
Reality。


而這也帶到明天的問題。
有了 Evidence,
下一步我們開始處理一件更麻煩的事情:
資料明明存了,
AI 明明「記得」,
為什麼需要的時候還是可能:
找不到?
Day 07,
我們來談:
Context 不等於 Memory。

https://ithelp.ithome.com.tw/upload/images/20260918/20184199zxZjvFjEVR.png


上一篇
Day 05|我跟 Sol,到底誰說了算?
下一篇
Day 07|Context 不等於 Memory:聊天很久,不代表 AI 真正記得
系列文
我和 AI 一起打造 AI:30 天把 Sol 從對話框帶進真實世界 共 20 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言