AI NPC 与互动叙事:让游戏角色「活起来」的对话设计入门

让 NPC 即时回应玩家每一句话,技术上做得到,难的是成本、延迟,和让角色「该闭嘴时闭嘴」。从 LLM NPC 四块积木、Convai 与 Inworld 怎么选、人设 prompt 范本,到每玩家每日成本怎么算,一篇入门讲透。

周三下午,台北内湖一间二十人游戏工作室的会议室,叙事设计师林子轩把手把递给制作人。demo 里,玩家对酒馆老板娘说:「你弟弟欠的钱,我帮他还清了。」老板娘沉默两秒,声音放软,酒钱打了对折——这段对话不在任何脚本里,是语言模型即时生成的。会议室安静三秒,制作人开口的第一句不是「太神了」,是「这样一句话,成本多少?」

这两个反应,刚好就是 LLM NPC 在 2026 年的全貌:体验上确实是魔法,帐单上确实要精算。这篇讲清楚原理、工具、prompt 写法,以及没人爱讲的成本与延迟。

LLM NPC 的四块积木:人设、记忆、知识、护栏

把 ChatGPT 塞进游戏,不等于 AI NPC。一个能上线的 LLM NPC 至少有四层。人设卡(system prompt)定义角色是谁、说话口吻、知道什么、绝不做什么。记忆让角色记得玩家上次做过的事——实务上是把对话摘要存档,每次呼叫时塞回上下文,不然 NPC 会像失忆症患者。知识库用 RAG 接世界观设定,玩家问「北方战争谁赢了」,答案从设定文件检索,而不是让模型瞎编,原理同什么是 RAG

护栏最重要,也最常被忽略:NPC 不能爆雷主线、不能被玩家骗出任务解法、不能被诱导说出踩线内容。Steam 对即时生成内容还要求玩家检举机制——护栏不是选配,是上架条件。

工具怎么选:整合套件省事,自己串省钱

要语音、嘴型同步、引擎整合一次到位,看两家。Convai 提供 Unity 与 Unreal 的 SDK,对话、行动、语音全包,有免费方案;独立开发者方案月费 29 美元,含三千次互动(其中一千五百次可用旗舰模型)——原型期够用,正式营运要重新算帐。Inworld AI 这两年转型为即时语音 AI 与 agent 执行框架,改采用量计价,语音合成每百万字元 5 美元起、延迟压在 200 毫秒内,微软与迪士尼都是投资方,适合工程能量强的团队。

叙事导向的互动剧可以看 Charisma AI,走剧情树加 AI 即兴的混合写法。至于 Character.AI,拿来测人设手感、找对话灵感可以,别指望接进正式产品。

文字型 NPC 自己串 API 其实不难:OpenRouter 一把钥匙切换各家模型,Groq 的推理速度适合即时对话,离线单机游戏甚至能用 Ollama 在玩家电脑跑小模型,零 API 成本。多模型管理可用 LiteLLM 统一介面。动手前可读AI Agent 工具链实战

Prompt 设计:让角色守得住人设

NPC prompt 和聊天机器人 prompt 的最大差别:你要的不是有问必答,是「有所不答」。一份实战结构长这样:

你是「铁锚酒馆」老板娘玛尔妲,52 岁,丧偶,讲话直接、带码头腔,好面子但心软。

【你知道的】酒馆八卦、码头走私传闻(只跟熟客透露)、亡夫欠船长的债。
【你不知道的】王城政局、魔法原理、任何你没听过的地名——被问到就说不知道,不准编造。
【绝对禁止】透露地下室的秘密(除非玩家出示船长的戒指)、谈论游戏以外的世界、以任何形式承认自己是 AI。

【输出格式】回传 JSON:
{"dialogue": "台词,50 字以内", "emotion": "warm/neutral/hostile 择一",
 "action": "give_discount/refuse_service/none 择一"}

玩家好感度:{{affinity}}/100。低于 30 时语气冷淡、提高戒心。

三个实测心得。一,输出结构化 JSON,让游戏逻辑读 emotion 和 action 栏位去驱动表情与行为,比解析自然语言可靠得多。二,「不知道的事说不知道」要明写,不写,模型必编。三,每条护栏都要附例外条件,不然玩家都拿到戒指了,老板娘还在装傻。更多角色人设范本可逛提示词库

成本与延迟:先算帐,再做梦

算一笔帐。一次 NPC 对话呼叫,人设卡加记忆摘要加对话历史,输入约 1,500 token、输出约 150 token。用旗舰模型,单次成本大约新台币零点二到零点五元,听起来便宜;乘上「十万玩家、每人每天跟 NPC 聊 30 句」,就是每天数十万元的帐单。商业游戏的现实解是分层:九成闲聊用便宜快速的小模型(Groq 上的开源模型、DeepSeek 这类低价 API),剧情关键 NPC 才用旗舰;常见问题直接快取,玩家问「这里是哪」不必每次都烧 token。

延迟是另一面墙。文字对话,玩家可以忍一秒;语音对话,超过 500 毫秒就开始尴尬。完整链路是语音辨识、LLM、语音合成三段,每段都要串流:LLM 逐 token 吐、TTS 逐句念,别等全文生完才出声。网路差或伺服器挂掉的场景,准备预写对话当 fallback——LLM 断线,NPC 至少退回罐头台词,别直挺挺当机站着。

2026 年的主流答案是混合设计:主线剧情照样人工手写,保住叙事品质;LLM 负责支线闲聊、环境反应、玩家自由提问。让 AI 补「活着的感觉」,不是取代编剧。

TheAI学院 总结与评语

LLM NPC 的技术已经到位,难的是设计纪律:人设卡要写「不知道什么」、护栏要有例外条件、成本要分层、延迟要串流、挂掉要有 fallback。demo 的惊艳和上线的稳定之间,隔着这五件工程活。想入门的人,先用文字型 NPC 加自串 API 跑通一个角色,再决定要不要上整合平台。美术与整体开发,搭配AI 游戏美术工作流一人做游戏路线图服用。

一句话评语:AI NPC 最难的不是让角色什么都能聊,是让它「该闭嘴时闭嘴」——护栏设计才是真功夫。

给台湾读者的具体建议:独立开发者从单机文字 NPC 起步,用 Ollama 跑本机小模型零成本练手;中型团队先拿 Convai 免费方案做一个垂直切片,验证玩家真的会跟 NPC 深聊,再谈规模化;算帐要用「每玩家每日对话成本」,不要拿 demo 的单次成本自我安慰。

常见问题

AI NPC 的营运成本会不会很贵?

单次对话成本约新台币零点几元,但乘上玩家数与对话量就很可观。主流做法是分层:闲聊用小模型、关键剧情才用旗舰模型,并对常见问题做快取。

做 AI NPC 一定要用 Convai 或 Inworld 吗?

不一定。文字型 NPC 自己串 API(OpenRouter、Groq)就能做;需要语音、嘴型同步与引擎深度整合时,整合平台才明显省工。

怎么防止玩家把 NPC「玩坏」?

人设卡明写禁止事项与例外条件、输出用结构化 JSON 交给游戏逻辑把关、上线前做红队测试;Steam 也要求即时生成内容须提供玩家检举机制。

单机游戏能做 AI NPC 吗?

可以。用 Ollama 在玩家电脑跑量化小模型即可离线运作,零 API 成本;代价是人设遵循度较弱,护栏要写得更严,并准备预写对话当备援。

繁體中文版 →