有人附上一張圖片——一張帶俄語文字的卡片——並用俄語要求生成同一張土耳其語版本的卡片。回傳的是兩張圖片,都被計費,背景不同,上面的字母在任何語言裡都不是單字。回覆用土耳其語把它們描述為「來自下方連結」。
一次投訴,三個獨立故障。任何一個單獨出現都不會造成這樣的結果。
低成本通道不會拼字
影像工具預設要求「中等」品質,一個沒有品質偏好的中等請求會落入路由器按成本排序的分支,最終選中最便宜的活躍影像模型。那個模型是一個擴散模型。擴散模型在影像方面非常出色,但在文字方面出了名地差——拉丁字母以外的文字更是雪上加霜。
這對於「森林裡的一隻狐狸」來說是個不錯的預設值,但對於海報、請帖、菜單或卡片來說很糟糕,因為在這些情境中文字本身就是交付成果。此類請求現在會離開低成本通道。系統會讀取提示詞,尋找這類跡象——帶引號的措辭、全大寫的行、項目符號清單、一份針對以文字為主內容的有限詞表,涵蓋多種字母系統——同時該工具也有一個模型知道時可以明確設定的旗標。否定詞會先被剔除,這樣「不要文字」就不會誤觸發。這兩個訊號中的任何一個都會把呼叫送到品質層級。你最終獲得哪個影像層級仍由你決定;這只決定哪個模型有資格嘗試。
一個看不到圖片的模型
第二個故障更糟,因為正是它產生了亂碼,而不只是平庸的文字。識別「幫我做一張圖」和「改一下這張圖」的偵測器是為英語和土耳其語寫的。一句俄語兩者都不匹配,因此這一輪從未被標記為需要視覺能力,結果被交給了一個沒有視覺能力的文字模型。那個模型帶著這句話作為提示詞呼叫了影像工具,憑空繪製了一個它從未看過的東西。
為兩者都加入了俄語模式。更重要的是,為引發這一切的那句話加入了防護:「一樣的」「aynısını」「такую же」「像我傳的那張」。當一個請求指向已附上的圖片時,強行觸發一次全新生成不是一個小疏漏。這是錯誤的,而且會被計費。
工具對自己的描述是錯的
第三個故障以最簡單的方式令人尷尬。影像工具的描述仍然寫著編輯工具「尚未接上」,結果會以連結形式回傳。這兩點其實早已不再屬實。於是模型迴避了本該使用的編輯工具,轉而把一張內嵌圖片描述為一個連結。
描述已被重寫——每個工具真正的作用是什麼、「同一張卡片換種語言」是一次編輯、結果是一張圖片而絕不是連結、模型無法看到它,以及描述應使用使用者的語言。現在每個影像結果都帶有關於如何談論它的提示。
這三處修復都由測試固定下來,這些測試逐字重播了最初的對話,包括那些必須繼續走低成本通道的邊界情況。