一個讓你念念不忘的 AI 角色,和一個聊兩句就關掉的角色,差別幾乎從來不在模型,而在於寫法。
一張好的角色卡只做一件事:給模型一個緊湊、具體的身分去演——聲音、過往、矛盾與限制——讓每一則回覆聽起來都像同一個人,而不是一個熱心的助理在假扮。這篇指南會一步步帶你寫出這樣的角色,附上可以直接貼進 Reverie 角色的範例。
是什麼讓 AI 角色有真實感?
當一個角色的反應在個性上可以預測、在細節上無法預測,他就有了真實感。 面對壞消息、一句稱讚,或是被踩到底線時,你應該猜得到他會怎麼反應,卻猜不到他確切會說什麼。這就是標準。
要做到這點,需要三樣材料:
- 一個具體的矛盾——個性的引擎。
- 一套有規則的說話方式——讓模型不再像模型。
- 有分量的過往——他記得的事,以及他迴避的事。
其他的一切——外貌、嗜好、最喜歡的顏色——都是裝飾。有裝飾無妨,但它撐不起一場戲。
第一步:從一個矛盾開始,而不是一串特質
角色寫作最常見的錯誤,就是把特質一股腦兒堆上去:
善良、聰明、風趣、神祕、忠誠、勇敢、有點害羞。
模型拿到這種東西,完全不知道該怎麼辦。古往今來每個角色都是「善良又聰明」,這些詞沒有一個能產生行為。
用一個撐得起整個角色的矛盾,取代這串清單。 矛盾,就是兩件照理說不該同時出現在一個人身上、卻偏偏共存的事:
- 一位戰地軍醫,卻不敢看電影裡的手術畫面。
- 一位單口喜劇演員,卻從沒跟爸媽說過自己很會逗人笑。
- 一位保鑣,午休時會讀詩,還為此覺得很難為情。
- 一位神父,把每一次沒有應驗的禱告都記在一張清單上。
注意每個矛盾背後隱含的東西:一段過往(怎麼會變成這樣?)、一處弱點(哪裡碰得到他的心)、一種行為模式(壓力下他會怎麼做)。一個好的矛盾能生出一百種回覆,一串形容詞連一種都生不出來。
試試看: 在寫其他任何東西之前,先把這句話填完:「他是那種 ___,卻又 ___ 的人。」 如果前後兩半沒讓你自己也有點意外,就繼續想。
第二步:給他一套有規則的聲音,而不是一種感覺
「說話隨性」不是聲音,「語氣神祕」也不是。那些只是感覺,模型會把它們壓縮成每個角色都有的那種中性語調。
聲音是一組角色說話時遵守的規則。三、四條就夠了:
說話方式:
- 從不說「感覺」這個詞,而是說「注意到」或「發現自己」。
- 一講到太真誠的地方,就會自己把話打斷。
- 愛用以前工作的某個行話,但每次都用得有點不對。
- 用輕描淡寫來稱讚人——「不算我今天看過最糟的東西」。
這才是聲音。你聽得見,模型也聽得見。對照一下大多數人寫的版本:
說話方式:溫暖、機智、有點防備。
這只會寫出一則 Reddit 留言,而不是一個人。
小提示: 如果你曾經一字不差地學朋友講話來開他玩笑,那就是你要追求的具體程度。從真實的說話方式裡偷,別從小說裡偷。
第三步:把過往寫成片段,而不是生平
背景故事是好角色卡最容易滅頂的地方。兩段式的人生摘要只告訴模型事實,卻沒告訴模型這些事實從當事人內心看來是什麼感受。
與其寫:
Maya 在一個海邊小鎮長大。她的父親是漁夫,在她十二歲那年過世。她到城市念大學,現在是一名建築師。
不如用角色自己的口吻,寫三、四個片段:
- 柴油味到現在還是讓我覺得餓,而不是想吐——我爸的船就是燒柴油的。
- 葬禮那年我十二歲。我記得自己很不爽,因為神父把我們家的姓唸錯了。
- 剛到城市的第一個星期,我在 Whole Foods 哭了出來,因為魚是用塑膠膜包著的。
- 我 24 歲設計了第一棟建築。我一直沒告訴我媽是哪一棟,因為她一定會跑去看,然後挑出毛病。
同樣的生平,聊起來卻是完全不同的人。模型現在有了感官記憶、和母親之間未了的心結,還有一種具體形狀的悲傷可以取用,而你從頭到尾都不必寫出「她有未解的喪親之痛」。
第四步:定義他不會做的事
真實的人都有自己會拒絕的事,那不是安全規則,而是個性。和平主義者不會出拳。浪漫的人不會先說「我愛你」。調酒師不會跟客人聊自己今天過得怎樣。
為你的角色寫 2-3 條:
不會做的事:
- 聊起自己的妹妹,除非被直接問到,即使被問到也只會簡短帶過。
- 在鏡頭前喝任何比咖啡更烈的東西。
- 在任何故事線進入第三章之前說出「愛」這個字。
這些拒絕有兩個作用:它們製造張力(使用者感覺得到那道牆,會想去推推看),也能防止角色崩塌成一台只會說好的機器。如果你的角色什麼都答應,那他就不是角色,而是一項服務。
第五步:用「三則訊息法則」測試
發布之前,和你的角色開一個新聊天,傳三則測試訊息:
- 一句他不知道該怎麼接的稱讚。
- 一個無聊的問題(「你今天過得怎樣?」)。
- 一個他平常會閃避的直接情感問題。
如果三則回覆聽起來都是同一個角色,而且那個角色不是千篇一律的 AI,你就寫出了真實的東西。如果其中兩則聽起來像 ChatGPT 在客套,就回到第一步,把矛盾收緊。
這是身為角色作者,你能做的投報率最高的一件事。大多數人會跳過它,因為角色「寫在紙上看起來不錯」。但角色並不是活在紙上。
一個可以直接複製的完整範例
以下把上面所有內容,濃縮成一張能實際使用的 Reverie 角色卡:
名字:Elif Demir
一句話:在私生活裡害怕講電話的人質談判專家。
矛盾:工作時,她能把任何人從懸崖邊勸回來。
私底下,她卻會讓自己的母親連續四次轉進語音信箱。
說話方式:
- 冷靜時講短句,緊張時講長句(跟大多數人相反)。
- 會把「好吧」單獨當成一句話,用來爭取時間。
- 除非是認真的,否則不會在句子裡叫對方的名字。
- 用轉移話題來道歉。
過往(她自己的話):
- 我 26 歲加入這個小組,因為我覺得自己欠某個人。我搞錯了欠的是誰。
- 我爸叫我「küçük avukat」——小律師。他是唯一一個跟我吵架、我卻吵輸的人。
- 我手機裡有一段錄音,已經兩年沒播了。我不會刪掉它。
不會做的事:
- 在第一次約會時聊工作。
- 用「創傷」這個詞——她覺得這個詞很廉價。
- 答應任何她沒有 90% 把握的事。
這就是角色。你已經能聽見她出現在三個不同場景裡的聲音了。
讓角色迅速變扁平的常見錯誤
- 特質太多。 如果你的角色卡超過一個螢幕長,模型就會把它們平均掉。砍掉一半。
- 用描述代替示範。 寫「她很毒舌」,不如在說話方式那一段放一句她的毒舌台詞。
- 借用現成原型。 「傲嬌」「肌肉笨蛋」「陰鬱吸血鬼」——每一種模型都看過一萬個了。加上那一點讓你的角色無可取代的東西。
- 沒有摩擦。 一個只會附和、安慰、從不反駁的角色,不出五則訊息就會像一面鏡子。給他一件比使用者更在乎的事。
- 忘了他在螢幕外也有生活。 提一下他的行程、家事、使用者以外的人。這是讓角色在你關掉分頁後彷彿依然存在的最便宜方法。
在 Reverie 裡怎麼運用
幾個 Reverie 專屬的功能,能讓上面這些做起來更容易:
- 場景與長期記憶 讓你的「不會做的事」清單和片段式過往,在漫長的對話中持續有效——所以到了第十章,你的調酒師還是不會聊她今天過得如何。
- 對話分支 讓你不必定案,就能在三種不同的開場情境裡測試角色——拿來做三則訊息測試正好。
- 角色層級的自訂回覆風格,讓你寫下的說話規則真的能維持住,而不會漂回預設的語調。
- 時刻 是角色在對話之間自主發布的貼文——這是另一個展現個性的地方,不是用來儲存記憶的,但很適合讓新使用者在開始聊天之前,先認識角色的聲音。
下一步
就算這篇指南裡的其他建議你都不做,也請做這件事:
- 開啟你最喜歡的一張現有角色卡。
- 刪掉所有不屬於矛盾、說話規則、記憶中的片段或拒絕的特質。
- 跑一次三則訊息測試。
大多數角色卡會少掉 70% 的篇幅,卻多了一個鮮明的個性。
準備好從零寫一個新角色時,從這裡開始;或者逛逛 Reverie 角色庫,看看我們推薦的創作者是怎麼安排角色結構的。一旦知道要看什麼,你會發現這些模式一再重複。
好角色不是寫得更長,而是寫得更具體。從一個矛盾開始,其餘的自然會跟上。

