2026年8月10日 星期一

買得到的無人機,買不到的那個迴圈

 


這個部落格平常在寫職場、寫法規、寫金流、寫AI。今天換換風格,來談軍事。

昨天有人丟了這篇給我,我用翻譯的轉成中文, Kathleen J. McInnis 談烏克蘭的:所有人都從烏克蘭無人機戰爭中學到了錯誤的教訓。她說各國政府、軍工企業、將領一批一批跑去烏克蘭取經,回來以後問的都是同一組問題:哪一款無人機最好用?航程最遠?AI最先進?

然後她下了一個判斷:這些問題本身就是錯的問題。

我讀完在螢幕前坐了一陣子。不是因為它在談無人機,而是我越讀越覺得,這篇文章談的其實不只是戰爭。

她文章裡有一句話:我們記得的是坦克,不是撐起裝甲戰的那整套工業體系;我們記得的是精準導引武器,不是讓它變得決定性的指管網路。

你把「坦克」跟「精準武器」換成「ERP」、「資安設備」、「生成式AI」,這句話一樣成立。我們永遠盯著看得見的那一個,然後跳過讓它真正有用的那一整套。這不是軍事獨有的毛病,是所有組織共通的毛病。


我們一直在問「買什麼」,很少問「多久轉一圈」

McInnis 認為烏克蘭真正的優勢,不在於他們有幾百種機型,而在於操作員、工程師、製造商、軟體開發與採購人員被接成同一條線。戰場觀察直接回饋給廠商,改善在數天到數週內完成,升級後的能力再送回前線。這個迴圈不停地轉。

「數天到數週」。對照的是我們比較熟悉的另一組節奏:一年一標、三年一案、規格書在得標前十八個月就寫死、驗收的標準是「符合契約規格」而不是「符合現在的狀況」。

這不是誰的錯,這是制度長成的樣子。但對手不會照著我們的預算年度來。

台灣這幾年在這個題目上動作不少,無人機國家隊、研發聚落、產業媒合、各種標案,這些都該往前走。但如果我們讀完這篇只讀出「要趕快多買一點」,那就把最貴的一課讀掉了。

真正該問的是:從一線發現問題,到修正版本回到一線手上,我們的迴圈要轉多久?如果答案以「年」為單位,那買多少台都一樣。


台灣不缺技術,缺的是接口

我們常聽到一種說法,說台灣的優勢是製造。這句話只對一半。


台灣真正稀有的,是同一個島上同時具備IC設計、電源模組、通訊模組、機構件、韌體、雲端服務,以及數量可觀的軟體工程人力。這種密度全世界沒有幾個地方有。所以問題從來不是有沒有能力,而是這些能力跟需求端之間,缺少一個夠低摩擦的接口。

一家做飛控韌體的中小企業想把東西送進體系,第一關撞到的不是技術,是文件、是資格、是實績、是保證金、是最低標。政府採購法其實留了最有利標的空間(第52條),但實務上少有人敢用,因為要開評選會、要寫評選理由、事後還要面對審計與政風。最低標最安全,即使它買回來的常常是最不適合的東西。

於是就形成一個我很熟悉的循環:制度為了防弊而設計,結果把興利也一起防掉了。同樣的劇本我在企業端看過一模一樣的版本,差別只在於,在企業裡停下來,損失的是市佔率。

McInnis 提到一個台灣最該借鏡的觀念:戰場回饋要能直接回到廠商手上。這在台灣不是技術問題,是契約問題。使用端的觀測資料歸誰、能不能回饋、以什麼形式回饋、廠商改版之後要不要重新驗收,這些若沒有寫進契約,那條迴圈就永遠接不起來。

我們手上其實還有一個幾乎沒在用的工具:無人載具科技創新實驗條例。2018年就完成立法,是一部貨真價實的沙盒法,允許在限定範圍內排除法規適用進行實驗。這種法在亞洲並不多見。我們有法,卻多半把它當成一次性的示範計畫在辦。

沙盒不是拿來辦活動的,是拿來把迴圈縮短的。


韌性不是規模,是被打了還能不能站著

原文的第三個錯誤教訓,是我最有感的一段。西方一直在算產量、算成本、算單價,但烏克蘭示範的是分散式製造、快速軟體迭代,以及在持續遭受攻擊的狀態下維持創新的能力。

台灣對這件事並不陌生,只是我們平常不用「韌性」兩個字講它。我們講的是海纜,馬祖那次一斷,整座島的網路就回到上個世代。我們講的是電。我們講的是,如果通訊品質整體降級,日常會變成什麼樣子。

前陣子我有機會參與一場以「行動網路大幅降速」為前提的桌上推演。衝擊我的不是技術有多難,而是平常運作得好好的東西,在頻寬掉下來以後,會用你想不到的方式壞掉。不是壞在斷線,是壞在還連得上、但慢到逾時。這比整個斷掉更難處理,因為系統會以為自己還活著。

推演最大的價值也不是那份結論報告,而是那幾次「原來這一步沒人想過」的當場沉默。這就是 McInnis 講的迴圈,只是換了個場景。你要先在承平時期失敗一次,才知道要補哪裡。

那麼韌性該怎麼落地?我的想法只有兩件事。

第一,把韌性寫進評選項目,不是精神喊話,是實際變成分數。產線集中在哪裡?關鍵零件有沒有第二來源?資料有沒有異地備援?對外連線降級之後,服務還剩幾成?答不出來就該扣分。原文說採購官員應該要求廠商說明自己抵禦破壞的能力,翻成台灣的語言就是:韌性要進評選表。不進評選表的東西,市場不會生產它。

第二,不要迴避韌性的成本。McInnis 講得很清楚,韌性不便宜。但也不必把預算翻四倍,關鍵是把錢花在對的層次。同一筆錢,買第二套設備跟買一條可切換的替代路徑,防的並不是同一件事。

我們有資通安全管理法,有關鍵基礎設施提供者的分級,有全民防衛動員準備法。工具箱裡的東西不算少,缺的是把它們串成一句話:平時演練的密度,就是戰時能力的上限。

而且這不只是政府的事。金流、電信、物流、雲端、醫療、超商,這些每天在跑的民間系統,本來就是社會韌性的一部分。沒有人會希望到了那一天才發現,某個關鍵環節的備援方案上,只寫著一句「聯繫窗口」。


自動不等於可信,可信要能舉證

原文第二個錯誤教訓談自主性,處理得相當細膩。戰場經驗顯示,完全自主的系統在長時間交戰中難以區分敵我,士兵反而傾向把人留在迴圈裡。所以目標不是把人拿掉,而是在最關鍵的那一刻保留人的判斷。她的結論是:決定自主系統能不能被採用的是信任,不是自主程度。

這一段我讀了兩次,因為它跟我這幾年在做的事情幾乎是同一件事。

我做金流、做系統,也常在處理法遵。我很清楚一件事:一個系統要能被託付,靠的從來不是它有多聰明,而是它能不能事後把話講清楚。當時看到了什麼、依據哪一條規則、誰在哪個時點按下去、有沒有人可以中止。這些留不下來,那不叫自動化,那叫沒有人負責。

在軍事上,這叫交戰規則與指管紀錄。在企業裡,這叫內控與軌跡。名字不同,邏輯完全一樣。可課責性就是信任的價格。

台灣現在在談AI相關立法,也有各種指引在跑。我的立場一貫是兩邊都要顧:不要把不適用的規範硬套上去,讓能做的事情做不了;但也不要因為還沒有規範,就假裝這件事沒有風險。

真正該被寫進規格書的,其實不是「這個系統有多自主」,而是決策紀錄保留多久、誰能調閱;人工中止的介面在哪裡、反應時間多久;敵我識別失效時,預設行為是繼續還是停止;模型更新之後,舊的判斷邏輯還原不還原得回來。

這幾題答不出來的系統,不論展示時表現多好,前線都不會信任它。而不被信任的裝備,最後就是躺在倉庫裡。這才是最貴的浪費。


最難的一課,是允許犯錯

McInnis 最後那個「正確的教訓」,是整篇最誠實的一段。烏克蘭最了不起的軍事創新不是任何一款無人機,而是一個全社會參與的創新生態系。它能辨識問題、吸收技術、從回饋中學習,然後以傳統國防機構跟不上的速度,把改良後的能力送回前線。

她說,這是最值得學的一課,也是最難複製的一課。

為什麼最難?因為它的前提是允許失敗。

台灣不缺聰明人,不缺工程師,也不缺想做事的公務員。我們缺的是一條快速試錯的合法路徑。在審計、監察、政風三重目光之下,一個承辦只要做過一次沒成功的創新採購,職涯就可能留下痕跡;而一輩子照規矩走最低標,就算買到不好用的東西,也不會有人被追究。

在這種誘因結構下,任何人都會選擇慢。這不是道德問題,是設計問題。

所以,如果只能從這篇文章帶走一件事,我會帶走這個:與其花力氣去問要買哪一款,不如花力氣去設計一條讓人敢快的路。小額、限時、明確允許失敗的實驗預算;把沙盒條例當成日常工具而不是活動;把資料回饋權寫進契約;把韌性寫進評選表;把可課責性寫進規格書。

每一項單獨看都不起眼,也不會上新聞。但它們加起來,就是那個迴圈。

無人機誰都買得到,鄰國也買得到。買不到的是那個迴圈,它只能自己養。

那麼,我們的迴圈,現在多久轉一圈?

原文:Kathleen J. McInnis,〈Everyone is learning the wrong lessons from Ukraine's drone war〉, Breaking Defense, 2026.08.05

2026年4月12日 星期日

給所有開發者的一段話

 


原文放在:https://github.com/chenmitchell/omg-payment-skill

給所有開發者的一段話

現在的開發是靠腦袋、靠執行力,而不是拘泥。有想法,就交給 AI。我從不會寫程式,到今天可以做出這樣的東西,靠的就是運用 AI。

千里之行,始於足下;見賢思齊,見不賢而內自省。

「不要抱怨沒有人,因為你就是那個人。」 — 取自 g0v 零時政府宣言


不創新,就是死亡

不創新,就是死亡。跟不上腳步,就是慢性自殺。

透過 AI 輔助,我們可以快速地生成,所以如果不快速迭代,就會在這速度當中,被取代。這不是危言聳聽,這是 2026 年的日常。

過去一個 feature 從想法到上線,要經過 PM 寫 PRD、設計師畫稿、工程師估點、sprint planning、code review、QA、上線。現在一個人用一個週末就能做出原型,一週就能上線測試。瓶頸不再是技術,而是想法產生的速度,以及迭代的決心。

如果你還在觀望,覺得「AI 還不夠成熟」、「我等它更好再用」,請記住:觀望的每一天,別人迭代一次;觀望的每一週,別人上線一個新 feature;觀望的每一個月,別人的產品已經比你領先三個版本。

AI 不會等你準備好,市場也不會。

快,不是為了贏過別人,是為了不被時代遺留在原地。


關於任務與責任

上級叫你從 A 撤離到 B,兩個小時直升機就要到了。然後咧,你們要慢慢跑?你以為直升機會等你們喔?任務有時間,你們就是要不擇手段。你們給我跑到吐,也要給我完成。這裡是作戰單位。你要是活下來就一直活著,不然就是死在戰場上。

做產品也一樣。

Deadline 不是建議,是物理事實。競品下週上線,合規文件月底要交,客戶下個月要驗收,時間不會因為你準備不完就延後。任務有時間,你就是要想盡辦法在時限內把它做完。

想盡辦法不是亂搞。該砍的功能就砍,該用半成品先上就先上,能找 AI、能找社群、能抄現成的就絕對不從頭自己寫。不完美但能跑,永遠勝過完美但沒上線。今天交六十分,明天補到八十分,下週再修到九十五分,永遠勝過三個月後交一份一百分但已經錯過時機的版本。

你活下來,產品活下來,就一直活著。不然,就是死在市場上。沒有第三條路。


努力不保證成功,不努力保證失敗

努力不一定會成功,但是不努力就一定會失敗。

這句話看起來像廢話,但它是整份心得裡最重要的一句。

很多人不動手,是因為怕失敗。怕寫的 code 被笑,怕文件被挑毛病,怕 repo 沒人 star,怕公開以後被發現自己其實也不懂。所以選擇觀望,選擇再研究一下,選擇等一個「更好的時機」。

但不動手本身,就是一種失敗。它是一種靜悄悄的、不會被人發現的、每天都在發生的失敗。你心裡那個想解決的問題,每天都還在困擾你和你身邊的人,你知道自己可以動手,但你沒有。

動手了,成功機率從零變成某個大於零的數字。不動手,成功機率永遠是零。

本 Skill 也可能失敗。可能沒人 fork,可能被官方出個更好的版本取代,可能幾個月後就沒人在乎。但那都是努力過之後的失敗,跟沒動手的失敗本質不同。前者讓你學到東西,留下作品,累積聲譽;後者只讓你晚上睡不著。

所以今天就動手。不完美沒關係,慢也沒關係,只要是往前走的。


三句話,送給正在猶豫的你

千里之行,始於足下。這是老子《道德經》第六十四章的話。不必等準備好,走出第一步就是進度。

見賢思齊焉,見不賢而內自省也。這是孔子《論語・里仁》裡的話。看到好的 repo 就學起來,看到差的實作就回頭檢查自己是不是也犯一樣的錯。本 Skill 之所以存在,要特別感謝綠界科技的 ECPay-API-Skill(https://github.com/ECPay/ECPay-API-Skill),那是一份寫得極為用心的作品,啟發了我很多——從資料夾的分層、測試向量的寫法、法規範例的結構,到「把事實與意見分開」的敘事方式,都是從那份 Skill 上學到的。看完之後我就想,OMG 的 FunPoint 金流情境也需要一份這樣的東西,那就自己來寫一份。這份 Skill 是我個人以社群身分寫的,不是任何公司的官方資源,也沒有取得任何官方的背書。寫得不好的地方是我自己的責任,寫得還可以的地方則要感謝綠界那份 Skill 帶給我的啟發。

不要抱怨沒有人,因為你就是那個人。這句話取自 g0v 零時政府的精神。沒有人做 OMG 的 AI Skill,那就自己做一個。沒有人寫繁體中文的冪等性教學,那就自己寫一篇。沒有人測這個 API,那就自己測一次,把測試向量公開。每一個抱怨的背後,其實都是一個空缺的位置,填上去的那個人,就是你。


與 g0v 精神的連結

g0v 是一個致力於推動開放協作的社群。參與者來自四方,社群自由且多中心運作,每個參與者自主決定貢獻專案,或發起新專案,所以沒有強制性,各專案各自運作、決定治理模式。g0v 的座右銘是「不要問為何沒有人做這個,先承認你就是沒有人」,因為「沒有人」是萬能的。g0v 許多成員來自開放原碼社群,鼓勵成果開放授權(Open Source 或 Creative Commons 授權),讓知識流通刺激更多貢獻。這段話節錄自 g0v 零時政府宣言(https://g0v.tw/intl/zh-TW/manifesto/)。

本 Skill 的精神與 g0v 宣言一致,並且遵循它的核心原則。

這個 repo 沒有 gatekeeper,任何人 fork 之後就可以自行 iterate,不需要維護者的許可。不強制任何人貢獻,也不強制任何人使用,看到覺得有用就拿走,看到覺得不夠好就改掉。所有內容採 MIT License,包括測試向量、CI 腳本、bot 模板、法規範例,都可以自由 fork、修改、商用。沒有人寫 OMG 的 AI Skill,那本 repo 的維護者就是那個「沒有人」;沒有人把這份文件翻成英文,也許你就是下一個「沒有人」。本 Skill 之所以存在,就是因為看到 ECPay 做了,於是自己也來做一份。希望下一個看到這份 Skill 的人,也能被刺激去補上另一個生態系的缺口。


如果你也想開始做點什麼

不需要會寫程式,不需要唸過資工系,不需要在大公司工作過。你需要的只有三件事:一個想法(我想解決某個問題),一點執行力(打開 AI 助手,把想法講出來),加上不拘泥(不追求第一次就完美,願意 iterate,願意公開,願意被指正)。

AI 是所有人的放大器。過去一個想法從萌芽到上線需要一個團隊半年,現在一個人一個週末就能做出原型。瓶頸不在技術,在願不願意動手。

把這份精神傳下去。如果本 Skill 對你有幫助,請不要只收下就走。去做一件你身邊的人會感謝你的事,然後把它公開出來。不管是寫一份繁體中文的技術文件、翻譯一份英文指南,或是做一個小工具解決朋友的問題,都算。


給我自己的備忘

寫這個 Skill 的時候,我提醒自己幾件事。不要怕被笑,公開的東西一定會被人挑毛病,被挑毛病代表有人在看,被挑毛病是進步的開始。不要怕錯,錯了就改,改了就公告,公告了就記進 CHANGELOG。不要怕小,一個小小的 README 改動,一個小小的測試向量,也是貢獻。不要怕慢,從 0 到 1 永遠比從 1 到 100 難,已經在 1 了就不要回頭。


關於這份文件

本文件不是法律條款,不是技術規格,只是一段心得。讀完之後,希望你能像我當初看到 g0v 宣言與 ECPay Skill 一樣,產生「我也想做點什麼」的衝動。那個衝動就是起點。

— Mitchell Chen https://www.mitch.tw 2026-04-12


延伸閱讀

g0v 零時政府宣言:https://g0v.tw/intl/zh-TW/manifesto/

ECPay/ECPay-API-Skill(本 Skill 架構的致敬對象):https://github.com/ECPay/ECPay-API-Skill

omgtwhub(若未來出現的 OMG 官方 AI 金流 Skill):https://github.com/omgtwhub/