iT邦幫忙

2026 iThome 鐵人賽

DAY 28
0
佛心分享-IT 人自學之術

老爺爺練習VIBE CODING系列 第 28 篇

Day 28:別再讓 AI 寫出「溫馨提示」!台灣繁中 Prompt Engineering 與 Next.js 本地化應用

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20260830/20070969PJLCF1uGAX.png
來,大孫女、小孫女,快到爺爺身邊坐。這會兒風有些涼了,你們看,天邊那一抹晚霞暮紫多漂亮,像極了老天爺在天空中潑灑的彩色墨水。爺爺剛把院子裡那張老藤椅擦乾淨,給你們倒滿了溫熱的琥珀熱茶,快捧在手裡暖暖身子,一邊喝,一邊聽爺爺慢條斯理地給你們講今天的故事。

大孫女今天又抱著厚厚的筆記本過來了,小孫女則在一旁嘟著嘴,跟爺爺抱怨說:「爺爺,現在那些 AI 寫出來的廣告文案,怎麼老是有一股硬梆梆的『機器人味』?還動不動作為『用戶』收到什麼『溫馨提示』、『合同』、『反饋』之類的詞,讀起來真彆扭,一點都沒有我們台灣社群那種親切感!」

爺爺聽了呵呵直笑,摸摸你們兩個的小腦袋說:大孫女、小孫女,這就是我們今天第 28 天要講的核心——別再讓 AI 寫出「溫馨提示」!台灣繁中 Prompt Engineering 與 Next.js 本地化應用。

做軟體設計啊,不僅要把功能做出來,更要把「人情味」做進去。今天,爺爺就教你們怎麼用嚴格的在地化規則(Localization Rules),調教出最懂台灣社群溫暖語氣的 AI!


🚨 痛點場景:從「簡轉繁」到「文化失語」的社群文案災難

現在大家都很聰明,知道可以用 AI 來幫忙寫 Facebook、Instagram 的貼文。但是,如果只是隨便寫個 Prompt 叫 AI「產生繁體中文文案」,AI 往往只是把簡體中文的辭彙進行了字面上的「簡轉繁」。

這會帶來什麼後果呢?

  • 字詞不道地:文案裡充斥著「合同」(台灣習慣用「合約」)、「反饋」(台灣習慣用「回饋」)、「用戶」(台灣習慣用「使用者」)、「菜單」(在系統介面上,台灣習慣用「選單」)、「信息」(台灣習慣用「訊息」)。
  • 語氣僵硬突兀:最常見的就是開頭來一句「溫馨提示」,這在台灣社群的閱讀習慣裡顯得非常刻板、官僚,讓人一看到就覺得是罐頭廣告,立刻滑過去。
  • 失去本土共鳴:沒有台灣特有的社群梗、口語化的語尾助詞(如「啦」、「喔」、「哈」),無法拉近與粉絲的距離。

這就像是我們明明在台灣的小院子裡喝茶,卻用硬梆梆的公文腔和鄰居聊天一樣,多彆扭呀!


🛠️ 架構實作:AI Media Poster 與台灣繁中 Prompt 工程

為了解決這個問題,大孫女在規格書裡設計了一款 AI Media Poster(社群發文產生器)。這是一個基於 Next.js 架構與 TypeScript 打造的現代化單頁 Web 應用,直接整合了 OpenAI / OpenRouter API 的強大算力。

為了讓它產出的文案充滿地道的台灣味,我們必須在 System Prompt(系統提示詞) 中,建立一套密不透風的台灣繁體中文在地化防線:

1. 寫入極為嚴格的「台灣繁體中文在地化規則」

爺爺建議,在 System Prompt 的核心,我們必須把角色定位為 「台灣市場資深社群內容策略師」。同時,明確列出一個 「禁用詞與替代詞字典」,強制 AI 在生成時進行內部過濾:

# 角色設定
你是一位精通台灣市場、擁有10年以上經驗的「資深社群內容策略師」。你深諳台灣不同社群平台的用語、文化、流行梗與閱讀節奏。

# 核心在地化規則 (zh-TW Only)
1. 必須且只能使用「台灣繁體中文(zh-TW)」,嚴禁使用任何中國大陸用語或簡轉繁詞彙。
2. 遇到以下概念時,必須嚴格替換:
   - 「反饋」 -> 替換為「回饋」或「評價」
   - 「用戶」 -> 替換為「使用者」或「會員/讀者」
   - 「溫馨提示」 -> 替換為「貼心提醒」、「注意事項」或「小撇步」
   - 「合同」 -> 替換為「合約」或「合同」(僅限法律正式文件,社群一律用合約)
   - 「信息」 -> 替換為「訊息」或「簡訊/消息」
   - 「菜單」 -> 替換為「選單」(UI 介面)或「菜單」(僅限餐廳食物)
   - 「支持」 -> 替換為「支援」(技術上)或「支持/力挺」(情感上)
   - 「渠道」 -> 替換為「管道」或「渠道」
3. 語氣要親切自然,適度搭配台灣常用的語尾助詞(如:喔、啦、呀、哈),但嚴禁過度口語化導致失去專業度。

2. 多平台 System Presets 的精細化設計

不同社群平台的人口結構和閱讀習慣大不相同,我們不能拿同一套文案去敷衍所有人。AI Media Poster 針對不同平台預先定義了專屬的 System Presets:

  • Facebook Preset(長文、著重觀點與結構):
    • Prompt 規範:要求結構清晰,使用短落落、小標題與項目符號進行分段,重點放在建立深度觀點、引導使用者留下評論或分享,Hashtag 通常點綴在文章末尾。
  • Instagram Preset(短文、著重視覺引引導與大量 Emoji):
    • Prompt 規範:要求開頭前 125 個字必須具備極強的「Hook(鉤子)」來抓住眼球。內文多用視覺化描述引導使用者看圖,適度夾雜生動的 Emoji 來分段,版面要乾淨,Hashtag 可以豐富一些。
  • Threads Preset(短小精悍、著重對話感與碎碎念):
    • Prompt 規範:字數限制在 500 字內,採用像朋友間碎碎念、提問或犀利吐槽的口氣,不刻意排版,強調真實感。

💡 避坑指南:保護隱私、即用即走的極簡設計

這時候,懂事的大孫女推了推眼鏡,思索著問:「爺爺,如果我們要讓使用者輸入自己的 OpenAI API Key,還要保存他們的歷史貼文,是不是得幫他們寫註冊、登入,還要架一個資料庫來存這些敏感資料?」

爺爺笑著搖搖頭說:傻孩子,這就是年輕工程師最容易掉進去的維運泥潭。

  1. 資安與隱私風險:使用者的 API Key 和發文內容是非常私密的。一旦你存在雲端資料庫,你就必須負起極大的資安防護責任,還要防範資料庫被駭的風險。
  2. 高昂的維護成本:為了 MVP 階段的工具去設計使用者帳號、RBAC 權限、資料庫遷移與維護,只會無限期拖慢你的上線腳步。

在 AI Media Poster 的設計裡,我們採用了 「無後端資料庫」 的極簡哲學:

  • localStorage 記憶法:整個應用不設計任何資料庫與登入系統。我們利用瀏覽器原生的 localStorage,在本地安全地儲存使用者的 API Key、自訂偏好設定以及歷史發文紀錄。
  • 即用即走(Single-Session):所有的資料傳輸與 API 呼叫都在 Next.js 的伺服端路由中進行中轉,絕不在前端洩漏 API Key;而發文結果則完全保存在使用者自己的瀏覽器沙盒中。這不僅達成了零維運成本,更為使用者提供了絕對安全的個資隱私防禦!

👴 爺爺的溫暖結語

小孫女聽完,高興地拍手說:「哇!這樣 AI 寫出來的文案就像鄰居大姊姊在說話一樣親切,而且還不用擔心密碼被偷,真是太棒了!」

大孫女也點點頭,在筆記本上唰唰唰地記下了 System Prompt 的在地化規則。

爺爺看著她們兩個,高興地把杯子裡的琥珀熱茶喝完。做系統就跟我們在這院子裡招呼客人一樣,要讓人覺得賓至如歸、親切溫暖。用標準、貼心的台灣用語去調教 AI,這就是技術人的溫度。

夜深了,天邊那一抹晚霞暮紫已經徹底融進了夜色,夜風吹得樹葉沙沙作響。大孫女、小孫女,快把筆記本收起來,跟爺爺進屋裡暖和暖和,準備吃奶奶煮的香噴噴的宵夜吧!


上一篇
Day 27:從 SQLite 到 PostgreSQL/Redis:NewsHub 架構的平滑擴展之路
下一篇
Day 29:不執行檔案的靜態安全防禦:可疑附件偵測器與 Binary Header 識別技術
系列文
老爺爺練習VIBE CODING 共 29 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言