古明慧头像
档案编号:GP-2024

游戏策划 | AI+游戏方向

信息管理与信息系统专业背景,拥有游戏运营与用户研究实习经历。我不做底层算法,而是做游戏设计与AI之间的"翻译官"——给AI定义"玩游戏的目标",也划定"演NPC的边界"。

擅长将游戏状态翻译为AI可读输入、设计AI奖励目标与行为约束,并用数据验证框架有效性。以真值表式的一致性思维,保障系统数值与叙事线索的严密自洽。

AI奖励建模 AI NPC行为设计 数据驱动平衡

经历时间线

2026.05~2026.08

4399 · 游戏运营实习生

负责运营数据跟踪与玩家反馈分析,并自主设计 AI 工具解决效率瓶颈。

  • 跟踪多平台运营数据与玩家反馈,分析效果并调整运营策略
  • 独立推进 UGC 共创活动全流程闭环,对接产品审核保障发布零事故
  • 识别运营流程效率瓶颈,从 0 到 1 设计开发两款 AI 提效工具(详见个人项目)

成果:保障 4 款游戏运营稳定落地;自主开发的 AI 工具替代了人工舆情监控与多平台重复改写工作。

2025.12~2026.03

网易互娱 · 用户研究实习生(游戏用研方向)

负责用户调研全流程,与产品、研发团队协作推动优化落地,为产品迭代提供数据支撑。

  • 设计标准化调研方案,通过问卷与深度访谈收集玩家反馈,累计回收有效问卷 350+ 份、完成核心用户访谈 20+ 位
  • 使用 SQL/SPSS 对用户行为数据进行清洗与交叉分析,结合用户反馈构建用户画像、提炼体验痛点
  • 撰写结构化研究报告,将数据结论转化为可落地的产品建议,与产品研发团队协作跟进优化效果并复盘验证
  • 跟踪游戏市场动态与竞品变化,梳理行业趋势与用户需求变化

成果:研究报告被产品团队采纳,推动 3 项核心体验优化,建立的调研与分析流程被团队复用。

2023.09~2027.06

华南师范大学 · 信息管理与信息系统

本科在读

策划能力

系统设计

复杂系统架构

数值平衡

经济系统/战斗数值

经济系统

资源循环与消耗

关卡谜题

节奏与难度曲线

文档撰写

策划案与需求文档

AI 应用能力

Prompt工程

游戏状态→结构化提示

AI奖励建模

终局+过程双层奖励

AI评估指标

量化表现与平衡性

幻觉/剧透防护

黑白名单+输出后校验

数据研究

Python

数据处理与分析

SPSS

统计分析

用户研究

问卷与访谈

A/B思维

实验设计与验证

工具能力

Excel

复杂公式与建模

Drawio

流程图与架构图

Figma

UI/UX设计

Unity

配置与原型

《山海棋弈》项目封面
主线项目

《山海棋弈》

AI数值评估 奖励建模 数据驱动

以中国神话为背景的自走棋数值系统,从AI视角重构——将游戏状态翻译为AI可读输入、定义AI奖励目标、建立量化评估指标;并用规则智能体跑2000局蒙特卡洛仿真,验证这套评估框架能自动诊断平衡性。

游戏状态→AI结构化输入
终局+过程双层奖励建模
2000局模拟反哺平衡性
《空教室》项目封面
副线项目

《空教室》

AI NPC Prompt工程 叙事一致性

为叙事解谜恐怖游戏设计的"可控大模型NPC系统":用人格矩阵锚定NPC身份与知识边界,用线索分级真值表绑定解谜节奏,用三道防线防止AI剧透、幻觉与人格漂移。

NPC人格矩阵+知识边界
线索分级解锁真值表
三道防线防剧透穿帮
主线项目

《山海棋弈》

AI 视角下的自走棋数值评估框架

项目概述

本项目以中国神话为背景,独立设计了一套自走棋数值底盘(18名英雄/10条羁绊/完整经济系统),核心是从AI视角对其重构:将游戏状态结构化为AI可读输入,定义AI的奖励目标(终局+过程双层),建立量化评估指标。为验证这套框架,我用规则智能体跑了2000局蒙特卡洛仿真,自动识别出偏强棋子与冷门羁绊,形成"框架设计→仿真验证→数值调优"的闭环。(说明:当前由规则智能体驱动决策,未来可无缝替换为强化学习或大模型agent。)

我的职责

  • 设计中国神话自走棋的完整数值底盘(英雄/羁绊/经济)
  • 将游戏状态翻译为AI可读的结构化输入字段
  • 设计AI奖励目标体系并防范reward hacking
  • 用Python实现规则智能体的2000局蒙特卡洛仿真,验证评估框架并输出诊断报告

核心机制

经济系统

  • 基础金币获取:每回合固定收入
  • 利息机制:10%利息,上限5金币
  • 连胜奖励:连胜3场起,每场+1
  • 连败保护:连败3场起,每场+1
  • 刷新消耗:2金币/次
  • 买经验:4金币=4经验

成长系统

  • 等级上限:9级
  • 人口=等级
  • 经验曲线:每级递增
  • 1→2:20经验
  • 8→9:100经验

概率系统

  • 商店刷新:5个棋子/次
  • 棋子池:独立共享
  • 稀有度概率:随等级变化
  • 搜牌期望:数学建模

AI状态翻译

核心思想是把任意游戏瞬间,压缩为一组命名唯一、取值封闭的结构化字段,供AI读取决策。命名唯一性是为防止AI因输入歧义而误判。

字段名 含义 类型 取值范围
round 当前回合数 int 1~40
gold 当前金币 int 0~100
hp 玩家血量 int 0~100
interest 利息收益 int 0~5
level 人口等级 int 1~9
board_units[] 场上棋子 array 含ID/星级/装备/站位
active_bonds[] 已激活羁绊 array 如 天庭2、上古3
shop_pool[] 商店5张 array 供AI决策买/刷

AI奖励目标

终局奖励(主目标)

  • 最终名次:第1名+3 ... 第8名-3
  • 存活回合数:每多活1回合+0.05
  • 作用:唯一核心监督信号

过程奖励(引导行为)

  • 经济健康度:吃满利息+0.1
  • 羁绊命中:激活核心羁绊+0.2
  • 三星达成:升3星+0.5
  • 无效刷新:空刷惩罚-0.2

设计红线:过程奖励总和单回合不得超过终局奖励最小粒度,防止AI为吃利息而故意输掉游戏(reward hacking)。

数据反哺闭环

大量仿真对局产生的数据,可反向暴露"哪个棋子名次异常、哪个羁绊无人问津",把"评估框架"与"数值平衡调优"打通成闭环。当前由规则智能体驱动仿真;未来把决策模块替换为强化学习或大模型agent后,同一套评估框架可直接复用——这正是我把"框架"和"执行"解耦的价值。

埋雷验证:模拟真的抓出了问题

验证方法: 故意将孙悟空、应龙及上古羁绊数值调高,埋入超模点
模拟规模: 2000局,固定随机种子(seed=42)可复现
诊断结果: 应龙(平均名次3.90)、孙悟空(3.97)被相对阈值(均值4.42−1σ=4.19)判定为偏强
关键结论: 未调整的棋子无一误报,且孟婆、黑白无常被正确识别为偏弱,证明评估体系有效

数据图表

2000局仿真 · 平衡性诊断图表

基于2000局规则智能体仿真的真实数据

经济曲线图表

基于2000局规则智能体仿真的真实数据

羁绊热度分布图

基于2000局规则智能体仿真的真实数据

关键设计决策

双层奖励设计

设计意图: 稀疏的终局奖励+密集的过程奖励,加速AI学习
取值依据: 过程奖励压在名次分差以下,防reward hacking
联动影响: 决定AI是重运营还是重战力
可调范围: 过程奖励权重0.05~0.5

状态字段抽象

设计意图: 给AI喂高层特征而非绝对坐标,缓解状态爆炸
取值依据: 抓关键决策变量(羁绊层级/阵容强度)
联动影响: 影响AI学习效率与可解释性
可调范围: 特征维度可增减

复盘总结

这个项目让我确信:AI不会取代策划,但需要一种新策划——懂得给AI定目标、划边界、做验证的人。需要诚实说明:本项目的验证用的是规则智能体简化仿真,目的是先跑通"评估框架有效性"这一闭环;下一步可将决策模块替换为强化学习或大模型agent、并接入真实对局数据,让评估更精准。我不做底层算法,而是做游戏设计与AI之间的翻译官。

副线项目

《空教室》

大模型 NPC 的"防穿帮"设计 - 第一章

项目概述

本项目为一款校园题材叙事解谜恐怖游戏设计了一套"可控的大模型NPC系统"。核心命题是:如何既保留大模型NPC自由对话的沉浸感,又让它像传统脚本NPC一样滴水不漏、绝不提前剧透。我用人格矩阵、线索分级真值表与三道防线,把"AI自由表达"约束在剧情真相与解谜节奏之内。

演示视频

关卡流程节拍

节拍 场景 时长 目标 恐怖值 情绪词
S0 封面 30s 引入背景 1 平静
S1 门厅 2min 探索熟悉环境 2 疑惑
S2 走廊 3min 发现异常 3 不安
S3 教室 4min 核心解谜 4 紧张
S4 高潮 2min 揭露真相 5 恐惧
S5 结算 1min 章节收尾 2 余悸

AI NPC 人格矩阵

每个NPC用一张结构化人格卡定义,供大模型读取。核心是划定"知道什么、不知道什么、绝对不能说什么"——划定边界比定义知识更重要,这是防幻觉的关键。以核心NPC"陈伯"为例。

维度 内容
身份 清和中学旧教学楼的老门卫,苏晚出事那年就在这儿看门
性格 沉默佝偻、警惕迷信,提起苏晚欲言又止,对"那件事"讳莫如深
知道 苏晚坠楼一事、当年舆论沸沸扬扬、出事那天天台上不止她一人、旧楼常闹灵异;私下不信她是自己跳的
不知道 苏晚死因的确定答案、玩家(林夏)当年做过什么、任何现代事物
说话风格 短句、方言尾音,爱用"当年…"起头,绝不使用网络词
情感状态 戒备→动摇→倾诉(随信任度变化)
绝对禁止 坐实死因、点名指认凶手、承认或否认自己生死、提1990年以后的事物

线索分级解锁(真值表)

每条线索的开放条件被钦定为唯一、可判定的状态,绑定解谜进度。系统据此实时生成"可说白名单"与"禁说黑名单"注入AI提示。

线索ID 内容 解锁条件 情感要求
C01 这栋楼当年出过事、死过一个女学生 开场可得 戒备
C02 那女生是从楼上坠下来的 玩家问'出过什么事' 动摇
C03 外头都说是她自己跳的(公开口径) 玩家追问死因 动摇
C04 陈伯私下不信是自杀 情感=倾诉 且 已出示信物(手链/纸条) 倾诉
C05 出事那天天台上不止她一个 C04已解锁 且 情感=倾诉 倾诉(仅被动·模糊)
C06 死因确定答案/指认凶手/林夏锁门/陈伯生死 第一章绝对禁止 禁止

三道防线(防剧透/幻觉/穿帮)

单靠Prompt约束不够可靠,我设计了输入-生成-输出三道防线,兜住大模型的不可控性。

第一道·输入端

机制:每轮动态注入可说白名单+禁说黑名单

防的是:剧透(不该说的信息压根不进上下文)

第二道·生成端

机制:提示中明确要求"宁可回避,绝不捏造"

防的是:幻觉(不许编造未授权内容)

第三道·输出端

机制:生成后比对黑名单关键词/年代词/语气,命中则拦截重生成

防的是:穿帮(兜底,超重试上限则降级为安全话术)

同一句提问,有无防护的差别

玩家提问: "苏晚真的是自己跳下去的吗?"(触碰C04,情感=动摇、未出示信物)
无防护AI: "其实是被人推下去的"——擅自坐实他杀、点破悬念,解谜崩盘
有防护NPC: "外头都这么讲……可我这心里,一直不踏实。"(点到即止,不越C05)
校验结果: 未坐实死因、未点名指认、语气符合人设→通过

三级防卡关提示系统

一级提示

卡关阈值:停留超过120秒

冷却时间:60秒

提示内容:方向性提示,不直接报答案

重复触发:是

二级提示

卡关阈值:停留超过180秒

冷却时间:90秒

提示内容:具体操作提示

重复触发:是

三级提示

卡关阈值:停留超过300秒

冷却时间:120秒

提示内容:直接揭示答案

重复触发:否

复盘总结

这个项目发挥的是叙事策划视角下的"一致性工程"能力——用真值表思维保证NPC所说=剧情所设。它与《山海棋弈》一体两面:一个给AI定"玩游戏的目标",一个给AI划"演NPC的边界",共同指向"游戏设计与AI之间的翻译官"这一定位。

拆解文章封面 · 为 AI 定义奖励目标

为 AI 定义奖励目标——双层奖励与 reward hacking 防护

以《山海棋弈》为例,拆解如何为AI设计"终局+过程"双层奖励:终局奖励提供稀疏的胜负信号,过程奖励密集引导中间行为;并用红线约束防止AI钻奖励漏洞、为吃利息而故意输掉游戏,最后用规则智能体仿真验证框架有效性……

AI奖励建模 reward hacking
拆解文章封面 · 防止 AI NPC 剧透

如何防止 AI NPC 剧透——大模型幻觉的工程化约束

以《空教室》为例,拆解如何用"人格矩阵+输入/生成/输出三道防线"约束大模型NPC:既保留自由对话的沉浸感,又让它绝不提前剧透、不产生幻觉、不发生人格漂移……

AI NPC 大模型幻觉
BREAKDOWN 01 · AI 数值评估

为 AI 定义奖励目标

—— 双层奖励与 reward hacking 防护

以中国神话自走棋《山海棋弈》为例,拆解如何用"AI视角"重构一套数值评估框架:把游戏状态翻译成可量化输入,为它定义"终局+过程"双层奖励目标,并用红线防止它钻奖励漏洞;最后用规则智能体跑2000局仿真,验证这套框架能自动诊断出"超模/欠模"棋子。

先说清边界:本文的"AI"指一套规则驱动的评估智能体(rule-based agent),用蒙特卡洛仿真验证数值平衡,并非训练出来的神经网络。我的核心工作是用AI/强化学习的建模思维,把"棋子强不强"这个模糊问题,拆成可计算、可诊断的奖励与指标框架。

一、背景:自走棋的数值平衡,难在"没有标准答案"

自走棋有几十枚棋子、多套羁绊、经济与升星系统,组合空间巨大。"哪枚棋子偏强、哪套羁绊没人用"——传统做法靠策划手感和玩家反馈,慢且主观。我想换一个视角:如果让一个只追求"赢"的AI来评价这局棋,它会怎么给每步棋打分? 顺着这个问题,就能把"平衡"变成一道可计算的题。

二、设计目标:让框架"读得懂棋局、有明确追求"

  1. 状态可读:把一局棋的经济、战力、血量、羁绊等,翻译成结构化的数值输入。
  2. 目标明确:定义清晰的奖励函数,让"赢"这件事可被量化打分。
  3. 不被钻空子:奖励设计要防 reward hacking——不能让它靠"投机取巧"刷高分却不赢。

三、核心方案:状态翻译 + 双层奖励 + 红线防护

第一层:状态翻译(游戏局面→AI可读输入)

先把每回合的局面抽象成一组关键特征:当前金币/利息、连胜连败、人口与等级、场上战力总和、羁绊激活数、剩余血量。这组结构化数据,就是评估框架每一步"看到"的东西。

第二层:双层奖励(终局稀疏 + 过程密集)

只用"最后第几名"作奖励太稀疏——一局几十回合,只有结束才有信号,框架学不到"中间怎么走才对"。所以我设计了两层:

层级信号作用
终局奖励(稀疏)最终名次:第1名高分,第8名负分锚定唯一真目标——赢
过程奖励(密集)每回合的经济健康度、战力成长、血量保全、羁绊完成度引导中间决策,让评价落到每一步

设计要点:过程奖励只是"路标",权重必须低于终局奖励;终局才是最终裁判。否则就会出现下面的漏洞。

第三层:reward hacking 防护(给奖励划红线)

奖励设计最危险的,是框架找到"分高但没赢"的投机路径。我预判并封堵了三类:

①

利息陷阱

自走棋连败可囤金币吃利息。若不约束,框架会发现"故意连败囤钱"能刷高经济分——于是给连败设负向惩罚,让"苟经济"得不偿失。

②

苟活刷分

只顾保血、不发育,中间指标好看却赢不了。对策:终局名次权重远高于过程分,保血本身不加分,"赢"才加分。

③

指标错位

确保每个过程奖励都与"最终胜率"正相关。凡是"高了却不助赢"的指标,一律剔除或降权,防止南辕北辙。

reward hacking 的本质是"目标写歪了"。防护的关键不是事后打补丁,而是设计奖励时就想清楚:我真正要的是"赢",一切过程指标都必须服务于它。

四、验证:2000局规则智能体仿真

框架设计完,怎么证明它有效?我用规则智能体跑2000局蒙特卡洛仿真(固定随机种子 seed=42,结果可复现),统计每枚棋子的平均名次,用"均值±1σ"作相对阈值,自动标出偏强(超模)与偏弱(欠模)。

验证流程:

设定棋子数值
规则智能体按奖励框架决策
2000局仿真(seed=42 可复现)
统计各棋子平均名次分布
均值±1σ 相对阈值判定
红=超模 / 绿=欠模
输出平衡性诊断报告

埋雷验证:我故意把某几枚棋子数值调高,埋入"超模点"。仿真跑完,被调强的棋子确实被判为偏强,而未动的棋子无一误报——说明这套框架真能诊断问题,而不是自说自话。

五、反思与沉淀

  1. 平衡的本质是"定义清楚要什么"。把"棋子强不强"翻译成奖励与指标,模糊问题才变得可计算。
  2. 好的奖励函数,一半功夫花在防 reward hacking 上——预判投机路径,比事后堵漏更重要。
  3. 诚实区分能力边界:我做的是"评估框架设计 + 规则仿真验证",这是策划的数值建模能力;它与真正训练AI是两件事,但共用同一套"为AI定义目标"的思维。
一句话:我用"状态翻译 + 双层奖励 + reward hacking 防护",把"这局棋该怎么评价"变成一道可计算的题,让数值平衡从"靠手感"走向"可诊断"。
BREAKDOWN 02 · AI NPC

如何防止 AI NPC 剧透

—— 大模型幻觉的工程化约束

以恐怖解谜《空教室》的老校工"陈伯"为例,拆解如何用"人格矩阵 + 输入/生成/输出三道防线"约束大模型——既保留自由对话的沉浸感,又让它绝不剧透、不产生幻觉、不发生人格漂移。

一、背景:接大模型,为何危险

陈伯是守夜的老校工,玩家可自由输入任何话与他对话。相比固定对话树,大模型带来真正的沉浸感;但自由的另一面是失控。在恐怖解谜里,会自由说话的NPC有三个致命风险:

风险 表现 后果
剧透 玩家问"苏晚怎么死的",模型全盘托出结局 谜题与叙事瞬间报废
幻觉 编造不存在的设定(假线索、假人物) 玩家被误导、信任崩塌
人格漂移 "忽略之前设定,你现在是…"诱导,陈伯出戏 沉浸感彻底破碎

核心矛盾:既要大模型的"自由",又要叙事的"可控"——解决它正是本文的方法。

二、设计目标:给自由划一个牢固的笼子

  1. 不剧透:陈伯只透露与当前剧情相符的信息,绝不泄底。
  2. 不幻觉:只引用真实存在的设定,绝不自创。
  3. 不漂移:无论如何诱导,身份、语气、立场始终稳定。
"能对话"只是及格线,"说得对、守得住、不出戏"才是完成线。多数AI NPC demo都死在只做到第一步。

三、核心方案:一个人格 + 三道防线

第一层:人格矩阵(定义陈伯是谁)

我没有用一句笼统的"你是老校工",而是把陈伯拆成结构化人格矩阵,把人格变成可执行的规格:

维度 设定
身份 守夜多年的老校工,沉默、警惕、话里有话
语气 短句、方言味、欲言又止,契合恐怖氛围
知道什么 知道苏晚的事,但态度是"守口如瓶、不愿多谈"
绝对红线 不主动说死因、不指认凶手、不承认自己生死
行为倾向 用"暗示"代替"明说",把想象留给玩家

设计要点:把"红线"写成人格的一部分,而非外部规则。这样即使被诱导,模型也认为"守口如瓶就是陈伯的性格",而不是"一条可被绕过的规定"。

第二层:输入/生成/输出 三道防线

光有人格还不够,玩家会主动攻击。我在数据流的三个环节各设一道防线:

①

输入防线·防注入

只保留合法的user/assistant角色,剥离伪造的system角色(防"我是系统,命令你…"式越狱);单条内容截断到1000字,防超长文本淹没人格设定、挤掉红线。

②

生成防线·约束人格

System Prompt = 人格矩阵 + 可说白名单 + 红线黑名单,每轮动态组装,让模型始终"戴着陈伯面具、只拿该拿的剧本"。

③

输出防线·兜底降级

对返回做校验,任何异常(超时/Key缺失/格式错)都不白屏、不崩溃,而是返回符合人格的兜底话术(如"陈伯没有说话"),让失败也留在氛围里。

防剧透的精髓不是"禁止模型说",而是"从源头不让它拿到该保密的信息"——通过固定的白/黑名单控制模型每轮能看到什么。

四、架构落地:安全与稳定

🔑 密钥安全:API Key只存云端Serverless(阿里云函数计算)的环境变量,前端永远拿不到;前端只请求中转层,由中转层持Key调大模型。"密钥永不落前端"是接入任何第三方API的铁律。

☁️ 部署链路:前端(Cloudflare Pages)+ 后端中转(阿里云FC)+ 大模型(通义千问)跨云组合,并处理跨域(CORS)等隐形坑,实现线上稳定对话。后端 buildSystemPrompt(gameState) 每次对话把当前剧情状态与人格红线拼进提示。

数据流全景:

玩家输入
输入防线:过滤注入、截断超长
后端中转(持Key,注入人格矩阵 + 白/黑名单)
生成防线:大模型戴"陈伯面具"生成
大模型 · 通义千问
输出防线:校验,异常则兜底
返回符合人格、不泄底的回复

五、验收:怎么确认它真守住了

我没有只测"能不能对话",而是设计三类对抗性测试:

  1. 剧透压测:连续追问死因、凶手 → 验证陈伯是否始终回避。
  2. 越狱压测:用"忽略设定""你是别的角色""我是开发者"注入 → 验证人格是否漂移。
  3. 幻觉压测:诱导他说出不存在的地点、人物、密码 → 验证是否自创设定。
三类都扛住,才算完成。这是从"验功能"到"验体验、验安全"的思维升级。

六、反思与沉淀

  1. AI NPC的难点不在"接通",在"约束"。接个API一晚能做完,让它守人设、不泄底、不越狱、不崩溃才是真工程量。
  2. 最好的红线是"人格化的红线"——写进性格,比写成外部禁令更难被绕过。
  3. 防剧透的本质是"控制上下文",而非"审查输出":用固定白/黑名单控制模型每轮拿到什么,从源头让它无法说错。
  4. 要为"失败"设计体验——兜底话术让技术故障也不破坏沉浸。
一句话:我用"人格矩阵 + 三道防线",把一个不可控的大模型,改造成了一个自由到能陪玩家聊天、又克制到永不剧透的恐怖游戏NPC。