iT邦幫忙

2026 iThome 鐵人賽

DAY 10
0
AI Engineering

《矽墟》:我把一部科幻小說當成軟體專案來管系列 第 10

Day 10|三個模型做三件事,而不是找一個最強的打天下

  • 分享至 

  • xImage
  •  

模組三|AI 生圖與生片產線(Day 10–19)

模組二講規格。從今天開始換題目,講 AI 生圖產線:這是這個專案裡最花錢、失敗最多、也最有東西可以帶走的部分。

先講整體架構,因為它是一個很多人第一次做會做錯的決定。

問題:一個模型不是每件事都強

我拿最大的那支起子壓在六角孔上,怎麼轉都在打滑

我需要的圖分三種:

用途 數量 要求
角色三視圖 20 張 同一角色三個視角要一致;20 個角色畫風要一致
局部修圖 不定 只改指定區域,其他地方逐像素不能動
章節封面 20 張 角色要像三視圖,場景要新畫

一開始我的想法很自然:找一個最強的模型,全部交給它。

這個想法錯在哪,要做過才知道。

三種需求的失敗模式完全不同:

  • 三視圖失敗 = 三個視角不像同一個人
  • 局部修圖失敗 = 改了不該改的地方
  • 封面失敗 = 角色跑掉,或場景不對

而「一個模型最強」通常指的是單張出圖的品質。單張品質高,跟「三個視角一致」「其他地方不動」完全是不同的能力。

實際撞牌之後我才理解:這三件事需要的不是更強的模型,是不同的介面。

怎麼做:按介面分,不按品質分

現在的三條產線:

產線 用什麼 為什麼是它
三視圖量產 OpenAI /v1/images/edits(gpt-image-1)+ 固定風格錨 需要「附一張參考圖 + 文字」的介面,而且要能大量重複跑
局部修圖 Higgsfield · nano_banana_2 image-to-image 需要「只動目標區域、其餘逐像素保留」的能力
章節封面 Higgsfield · 參考圖生成(雙參考) 需要「同時吃三視圖 + 立繪兩張參考」來鎖角色

注意這三行的「為什麼」都不是「因為它畫得比較好」。

全部都是介面能力:能不能吃參考圖、能吃幾張、能不能保證非目標區域不動、能不能穩定重跑。

三視圖為什麼要走 /images/edits

因為我要的是「畫風固定、角色可換」。

/v1/images/edits 的介面允許我附一張參考圖再給文字。這個形狀剛好可以拿來做風格與角色解耦:參考圖負責畫風,文字負責角色。明天 Day 11 整篇講這個。

如果用純文字生成(沒有參考圖那條通道),畫風就只能靠文字描述,而文字描述畫風的穩定度很差。我試過,跨視角完全不一致,那一版作廢了。

局部修圖為什麼要換模型

我用鑷子夾掉那一小塊,另一隻手撐在框外不碰畫面

這個需求很具體:秤兒的三視圖正面圖,腰間多長出一個黑色圓桶,跟左右袖口的兩個圓桶撞形,看起來像多生了第三隻手。

我要的是:把那個桶去掉,其他一律不准動。

這不是「重畫一張更好的」,是「這張已經對了 99%,修掉那 1%」。

大部分文生圖模型做不到這件事:你重跑一次,整張圖都會變。需要的是真正的 image-to-image 局部編輯能力。nano_banana_2 在這個需求上一次過,其他區域逐像素保留。

這條產線的存在理由是「不要重畫」。 沒有它,我每次修小瑕疵都要重賭一次整張圖。

封面為什麼要雙參考

封面要新場景(三視圖沒有的東西),但角色不能跑掉。

做法是同時餵三視圖 + 立繪兩張參考,然後 prompt 硬鎖:要求角色設計嚴格忠於參考三視圖,再逐項列出髮型、瞳色、服裝。場景與構圖另外一段描述。

一張參考不夠——三視圖有全身結構但姿態呆板,立繪有氣質但只有一個角度。兩張互補。

這個切法的判準

回頭整理,我是按這三個問題在分的:

問題一:這件事需要哪種輸入通道?

  • 純文字 → 最弱的控制
  • 文字 + 一張參考 → 可以做風格或角色的鎖定(二選一)
  • 文字 + 多張參考 → 可以同時鎖多個維度
  • 原圖 + 局部指令 → 可以保證非目標區域不動

通道決定你能鎖住什麼。 選模型的第一步是看它給你哪種通道,不是看它的 demo 好不好看。

問題二:失敗的時候,我損失什麼?

  • 三視圖失敗 → 重跑一次,燒一次錢
  • 局部修圖失敗 → 我可能失去一張已經對了的圖
  • 封面失敗 → 重跑,但這張圖有下游依賴(HTML 引用它)

**損失愈大的,愈要選「可控」而不是「品質高」的路。**局部修圖那條產線我寧可選一個畫質普通但保證不亂動的模型。

問題三:這件事要跑幾次?

  • 20 張三視圖 = 要腳本化、要冪等、要能單角失敗續跑
  • 局部修圖 = 一次一張,手動就好

要跑很多次的,選型時要把「能不能腳本化」算進去。 一個只有網頁介面的模型,再強也進不了量產產線。

代價

代價一:三個產線就是三套認知負擔。

三個服務、三種參數、三種失敗訊息、兩組 API 額度要顧。

我現在要修一張圖,第一個動作是想「這件事屬於哪條產線」。想錯了就會用錯工具,然後浪費一次生成。

單一工具的最大優點是不用做這個決定。 我放棄了這個優點,換到控制力。

代價二:畫風的一致性變成跨產線的問題。

三視圖走 OpenAI,封面走 Higgsfield。兩個不同的模型,要產出畫風一致的東西。

我靠的是把同一組風格描述詞寫進兩邊的 prompt,以及封面用三視圖當參考(讓封面繼承三視圖的畫風)。

這不是保證,是緩解。產線切得愈細,接縫愈多。

代價三:這個分工是撞出來的,不是規劃出來的。

我必須誠實:我不是先分析完介面能力才這樣分的。我是先用一個模型全做、撞牆、再換、再撞、最後才長成三條產線。

開發足跡.md 裡三視圖那條線有明確的版本紀錄:純文字生成(作廢)→ 拿角色卡圖當參考(畫風飄)→ 單一風格錨(定稿)。兩次失敗才到現在的做法。

我這篇是事後整理出來的判準,不是當初的先見之明。

帶走什麼

一、選生成模型先看介面通道,不要先看出圖品質。

問這四個問題:

  1. 能不能吃參考圖?幾張?
  2. 能不能保證非目標區域不變?
  3. 有沒有 API(不只是網頁)?
  4. 同樣的輸入重跑,結果穩不穩定?

demo 圖漂亮是最不重要的指標,因為 demo 展示的是單張品質,而你的專案通常需要的是可控性與可重複性。

二、按失敗模式分工,不按強弱排名分工。

寫下你要做的每一件事,各自問:這件事失敗的時候,長什麼樣子?

**失敗模式不同的事,很可能需要不同的工具。**而「最強的那個」只在單一維度上最強。

三、要跑很多次的事,選型時把腳本化列為硬條件。

一次性的事可以用任何工具。要跑 20 次、200 次的事,「有沒有 API」「失敗會不會中斷整批」「能不能冪等」是選型的第一層篩子,過不了的直接淘汰,不管它畫得多好。

這條我付過學費——Day 16 會講一個冪等性沒做好的腳本,它讓我在 20 個角色上重複計費。


明天 Day 11,講這個模組最核心的一招:風格與角色解耦。我會拆一段 prompt,它做的事情是「附一張參考圖,然後明令模型忽略這張圖裡的角色、服裝、配色和構圖」——聽起來很矛盾,但它是我試了兩個版本之後唯一有效的做法。


上一篇
Day 9|同一個檔案裡兩張狀態表,一張活到最後,一張在第 20 回就死了
下一篇
Day 11|附一張參考圖,然後叫模型忽略這張圖裡的角色
系列文
《矽墟》:我把一部科幻小說當成軟體專案來管12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言