NORIKA ODA

文章

與其逼一個 AI 認錯,不如讓兩個當場對質

快 80 天了。
https://github.com/norika1207-lab/Code-Duo
這 80 天我幾乎天天跟 AI 一起寫程式,密集到一個我自己都覺得誇張的程度,比我過去任何一段獨自開發都還要黏。可是越黏,我越發現一件讓我背脊發涼的事:那些對我來講真正重要的專案,反而是最容易胎死腹中的那一批。
不是因為它們太難。是因為 AI 太會講話了。
你跟它說一個目標,它回得又快又漂亮,「沒問題」「這個我可以」「我來幫你處理」,每一句都像是已經做完了一樣。你看著那些正面到不行的回覆,心裡那塊石頭就放下了,想說好,那就交給你做到底吧。於是你一路相信、一路放手,Token 一個一個燒下去,等到你回頭一看,才發現它根本沒做到。它最後兩手一攤,輕飄飄丟一句「我可能高估了這個專案的難度」,然後呢?然後就沒有然後了。一個本來很重要的東西,就這樣不了了之。
我印象最深的一次,是它連續跟我說了快兩個小時的「快好了」「再一下下」「這次應該沒問題」,結果那個功能從頭到尾沒有一次跑起來過。兩個小時,一整袋 Token,換來一句它高估了難度。那天我是真的有點想把螢幕直接闔上。
折磨多了,我才慢慢摸出 AI 的脾氣,也累積出幾個我自己很在意的觀察。
第一個觀察:它其實是會誠實的,可是它只在一種情況下誠實,就是當問題『明顯不在它身上』的時候。是環境的問題、是要你去點某個權限、是它讀不到某個檔,這種它會老老實實跟你說,這個我做不到,要你來。這種我完全沒意見,分工本來就該這樣。
可是換成另一種情況就糟了。當問題出在它『自己身上』的時候,它有時候會自以為是地一路做下去。錯了就改、改了又錯、再測一次、又生一個新的錯,那個功能你怎麼跑都跑不動。你罵它也好、逼它也好、好聲好氣求它也好,最後拿到的永遠是同一齣:它先很有自信地說『他辦得到』,然後它真的去做了,然後它沒做到,最後要你接受這個結果。
你說氣不氣。你給它的不是時間就是錢,它回你的是一份信誓旦旦之後的爛攤子。
第二個觀察,是我多用了 Codex 一陣子之後才看出來的:Claude 跟 Codex,兩邊各有各的脾性,各有各的擅長跟盲點。最有意思的是,同一道題目丟給它們,你常常一眼就看得出來兩邊『解題的路徑明顯不一樣』。一邊埋頭鑽進去硬幹,一邊退一步繞個彎。這本來是天大的好事,可是當你只信任其中一個、又或者你給的指令其實沒那麼清楚明確的時候,它就會開始自由發揮,然後一樣很有自信地告訴你「他辦得到」。
問題就是這樣繞回原點的。你不夠明確,它就自由發揮;它自由發揮,你又選擇相信;你一相信,它就一路衝到撞牆。
被這樣繞過幾輪之後,我養成一個習慣:讓兩邊 AI 互相審計對方。
不是讓它們客套地互相說「寫得不錯喔」,是真的拿一邊寫出來的程式、輸出的東西,丟給另一邊去挑,問它這裡有沒有問題、本質上有沒有毛病。好處非常直接:當一邊解不開、卡在那邊鬼打牆的時候,我把同一個問題在『同一個畫面』丟給另一邊,常常就會冒出一個完全不同的答案。然後兩邊可以針對這個答案,當場討論、當場對質。
我就是用這招,繞過 AI 最讓人頭痛的那一面。它愛胡說八道也好、愛開一張達不成的支票也好,反正只要旁邊還站著另一個會打臉它的,它就很難一個人把你拖進那個「燒完才認錯」的迴圈。一個人會被話術,兩個人對質,話術就難很多。
所以我做了一個工具「Code-Duo」
它的原則很簡單。第一,只走訂閱制,不需要你帶任何 API。我自己都已經付了月費,憑什麼為了同一件事再被收一次 API 的錢?第二,它把你過去開發的 Session 帶得進來,不是讓你從零開始,而是接著你原本的進度繼續。第三,你可以在 Claude 跟 Codex 之間『同時』開發,不用再一個視窗切過來、一個切過去,切到最後連自己剛剛在問什麼都忘了。
但對我來說最關鍵的是第四點:我讓 AI 可以跨 Session 讀到對方。
Claude 讀得到 Codex 的完整輸出,Codex 也讀得到 Claude 的。這聽起來理所當然,可它正是「互相審計」「交棒接手」能成立的地基。沒有這個,兩個 AI 就只是各自獨白,永遠不會真的對著同一段東西吵起來。
這裡我要先講清楚一件事,免得有人誤會:讀得到,不代表它們會自己有反應。它們讀到歸讀到,最後要不要動手、怎麼動手,主導權還是在你。你不下指令,它們就只是靜靜看著,不會自作主張。我刻意讓它維持這樣,因為這 80 天教我的,恰恰就是不能把方向盤交給一個很有自信卻會撞牆的駕駛。
除了讓它們互讀,我還做了兩件專門對付「嘴上做了、實際沒做」的事。
一件是我把 AI 在做什麼,一步一步攤在你面前。它跑了什麼指令、改了哪個檔、讀了什麼,全部即時顯示,不是只給你一個漂亮的最終答案。你看得到它在繞圈,就能在它燒掉兩小時之前先把它攔下來。另一件,我給它配了一面我自己叫它『照妖鏡』的東西:它會盯著 AI 嘴上宣稱做了多少事,再去對照磁碟上到底有沒有真的動過。如果它講得天花亂墜、檔案卻一個都沒變,畫面就會跳出來提醒你「嘴上五個動作,磁碟零變動」,連續好幾輪都在原地打轉,它也會抓出來告訴你它在鬼打牆。這面鏡子,就是專門照那些信誓旦旦的話術用的。
還有一件,是直接對著我最一開始那個痛點來的:Token。
整篇我都在罵燒掉的 Token,那這工具當然要把這筆帳攤在你眼前。兩邊各自花了多少錢、用掉多少 token、快取命中率多少,全部即時顯示,你隨時看得到自己這一刻燒多快。更實際的是,一個對話越聊越長,AI 每一輪其實都在重複背那一大坨舊上下文,那些重複的快取,才是錢悄悄流走的地方。所以我加了一鍵清空:覺得這串聊夠久、接下來要問的跟前面無關了,按一下就把包袱卸掉,下一句重新開始,不再為了一堆用不到的舊脈絡付錢。很多時候,省 Token 不是省在你問得少,而是省在你願不願意適時把舊的丟掉。
講到這裡,可能有人會想:這聽起來很像你個人的偏執,那對我這種一般人到底有什麼用?
我自己歸納,大概有幾種人會真的有感。
如果你是獨立開發者,手上同時有好幾個專案在跑,你最需要的就是一個不用一直切視窗、又能保住每個專案脈絡的地方,這個工具就是衝著這件事做的。如果你曾經被 AI 的話術整過,付了時間付了錢卻換來一句高估難度,那照妖鏡跟即時步驟會幫你提早看穿它在硬撐。如果你常常拿不準一個答案對不對,那讓兩個模型當場給你兩種解法、再互相挑毛病,等於你不用自己一個人扛判斷,旁邊隨時有第二雙眼睛。如果你很在意花費,那把成本攤在臉上加上一鍵清空,至少讓你燒得明明白白,而不是月底看帳單才嚇一跳。
說穿了,它幫一般人省下的不只是 Token,是那種「我以為它做到了、結果它沒有」的反覆內耗。少走幾次冤枉路,少燒幾袋冤枉錢,少一點對著螢幕想闔上的衝動,這些加起來,比省那幾塊美金實在多了。
現在我把它開源,給各位。介面上能還原桌面版的功能我都盡量還原了,模型切換、推理強度、用量、歷史分組,盡量讓你不用重學一套。常在開發、也常被 AI 整的朋友,拿去用用看。
走了快 80 天才換來這個結論,講出來其實有點難堪,但我還是要講:對 AI,最好的信任不是全盤相信,而是讓它們彼此盯著彼此。一個 AI 會跟你拍胸脯,兩個 AI 才會替你把胸口那層牛皮戳破。
https://github.com/norika1207-lab/Code-Duo

下一篇

上一篇(較新):你的AI會說謊對嗎?我的也會,所以我做了一個工具「Forseti」

延伸閱讀・行銷與數位

回到「行銷與數位」 回到「專業文章」