GSIT
深入解析

【揭密協議 之二】結合 Schema、Prompt 與 Validation:降低 AI 幻覺與錯誤回寫

發布時間 最後更新 作者 GSIT 編輯部

Schema 不能讓 AI 完全消除幻覺,但能大幅降低錯誤進入系統的機率。AI Ready 應把 prompt、資料 schema、輸出 schema、欄位白名單、驗證失敗處理與人工審核串成一套流程。

作者

AI 電商系統整合與內容治理團隊

GSIT 編輯部專注於 AI Ready 電商架構、跨平台整合、SEO/AEO 內容治理、資料保護與自動化工作流,協助企業以可審核、可稽核的方式導入 AI。

重點摘要

  • Schema 不能讓 AI 完全消除幻覺,但能大幅降低錯誤進入系統的機率。AI Ready 應把 prompt、資料 schema、輸出 schema、欄位白名單、驗證失敗處理與人工審核串成一套流程。
  • AI 提示詞工程師與系統整合規劃師。 需要讓模型輸出可回寫 JSON 的後端工程師。 正在處理商品、訂單、客服資料自動化的電商技術團隊。
  • Prompt 可以告訴模型「請回傳 JSON」或「不要編造商品資訊」,但模型仍可能: 回傳不存在的欄位。 把價格、庫存或材質改錯。 產生無法解析的 JSON。 在客服回覆中做出未授權承諾。 把建議內容寫成正式決策。 因此 AI Ready 需要把 prompt 後面接上 val…

直接答案:Schema 不能讓 AI 完全消除幻覺,但能大幅降低錯誤進入系統的機率。AI Ready 應把 prompt、資料 schema、輸出 schema、欄位白名單、驗證失敗處理與人工審核串成一套流程。

這篇文章適合誰?#

  • AI 提示詞工程師與系統整合規劃師。

  • 需要讓模型輸出可回寫 JSON 的後端工程師。

  • 正在處理商品、訂單、客服資料自動化的電商技術團隊。

為什麼單靠 Prompt 不夠?#

Prompt 可以告訴模型「請回傳 JSON」或「不要編造商品資訊」,但模型仍可能:

  • 回傳不存在的欄位。

  • 把價格、庫存或材質改錯。

  • 產生無法解析的 JSON。

  • 在客服回覆中做出未授權承諾。

  • 把建議內容寫成正式決策。

因此 AI Ready 需要把 prompt 後面接上 validation。模型輸出不是流程終點,而是待驗證資料。

Schema Context:讓模型理解可用欄位#

在送出任務前,系統應提供必要 schema context:

{
  "resource": "product",
  "writable_fields": {
    "draft_short_description": "string, max 280 chars",
    "draft_long_description": "string, max 3000 chars",
    "meta_title": "string, max 70 chars",
    "meta_description": "string, max 155 chars"
  },
  "read_only_fields": ["sku", "price", "stock_quantity", "certifications"],
  "required_output_fields": ["draft_short_description", "meta_description"]
}

這讓模型知道哪些欄位可以寫、哪些只能參考。

Output Schema:讓系統能驗證#

{
  "type": "object",
  "required": ["draft_short_description", "meta_description"],
  "additionalProperties": false,
  "properties": {
    "draft_short_description": {
      "type": "string",
      "maxLength": 280
    },
    "meta_description": {
      "type": "string",
      "maxLength": 155
    },
    "faq": {
      "type": "array",
      "maxItems": 5
    }
  }
}

additionalProperties: false 很重要,因為它可以拒絕模型自行新增欄位。

驗證失敗時該怎麼辦?#

不要自動硬修所有錯誤。建議分級處理:

  • JSON 無法解析:要求模型重試一次,仍失敗則人工處理。

  • 欄位長度超過:可要求模型縮短。

  • 出現禁止欄位:拒絕輸出並記錄事件。

  • 商品事實不一致:進人工審核。

  • 高風險承諾:攔截並標記風險。

Prompt 設計範例#

你是電商商品內容助理。
只能根據 data.attributes 與 data.product_name 產生內容。
不得新增價格、保固、認證、醫療效果或庫存資訊。
輸出必須符合 output_schema。
如果資料不足,請在 notes 欄位列出需要人工補充的資訊。

Prompt 的目標不是讓模型「自由發揮」,而是讓它在系統邊界內完成特定任務。

人工審核仍不可省略#

即使 schema 驗證通過,也不代表內容一定正確。Schema 只能驗證格式,不能完全驗證商業事實。以下內容建議人工審核:

  • 高流量商品頁。

  • 法規敏感品類。

  • 價格、折扣、退款。

  • 醫療、食品、安全相關描述。

  • 多語高價值市場。

FAQ#

Schema 能完全消除 AI 幻覺嗎?#

不能。Schema 可以限制格式與欄位,降低錯誤進入系統的機率,但仍需要資料驗證、事實檢查與人工審核。

Prompt Engineering 還重要嗎?#

重要,但它應與 schema、validation、權限與審核一起使用。只靠 prompt 管控系統風險是不夠的。

什麼情況可以自動回寫?#

只有低風險、可回滾、欄位受限且驗證通過的內容適合自動回寫,例如內部草稿或圖片 ALT 候選。正式頁面仍建議審核。

參考資料#

Content Map

Series: AI Ready 協議深潛

Pillar: AI Ready 技術架構

常見問題

這篇文章適合誰?

AI 提示詞工程師與系統整合規劃師。 需要讓模型輸出可回寫 JSON 的後端工程師。 正在處理商品、訂單、客服資料自動化的電商技術團隊。

為什麼單靠 Prompt 不夠?

Prompt 可以告訴模型「請回傳 JSON」或「不要編造商品資訊」,但模型仍可能: 回傳不存在的欄位。 把價格、庫存或材質改錯。 產生無法解析的 JSON。 在客服回覆中做出未授權承諾。 把建議內容寫成正式決策。 因此 AI Ready 需要把 prompt 後面接上 validation。模型輸出不是流程終點,而是待驗證資料。

驗證失敗時該怎麼辦?

不要自動硬修所有錯誤。建議分級處理: JSON 無法解析:要求模型重試一次,仍失敗則人工處理。 欄位長度超過:可要求模型縮短。 出現禁止欄位:拒絕輸出並記錄事件。 商品事實不一致:進人工審核。 高風險承諾:攔截並標記風險。

Next Step

延伸閱讀與下一步

從相關分類、產品頁與 Docs 中繼續完成主題研究與實作評估。