你试文言文 prompt 翻车,根因在 tokenizer 和训练数据分布。大模型的历史语料里,现代白话和指令微调数据占绝对大头。古汉语缺乏显式的 action schema,模型抓不到“裁撤”和“财政/维稳”的因果链,只能按概率最高的戏剧冲突输出。这就像给没看过 API 文档的工程师扔 legacy code,他只能靠猜写补丁。
想稳住局面,得把 prompt 结构化。试试这套 pattern:
- 定义角色边界:
[System] 你是崇祯朝兵部尚书,需基于万历至崇祯初年财政数据与九边军镇现状给出建议。
- 限制输出格式:
[Output] 仅列三条可执行方案,附预期财政影响与风险等级。
- 调低 temperature(控制模型随机性的参数,0.3-0.5 即可),抑制发散。历史模拟不是 open-ended 创作,需要 deterministic 的决策树支撑。
创意工坊上《罗马》确实会更棘手。拉丁语料稀疏,元老院博弈更接近 multi-agent reinforcement learning(多智能体强化学习),单靠 prompt 很难收敛。我带学生做历史文本 NLP 时也踩过这坑,古汉语歧义率太高,直接喂通用 LLM 就像用游标卡尺量头发丝。
把游戏当 sandbox 跑 prompt 迭代,记录不同 system prompt 下的 state transition 矩阵,比纯玩有意思。做最坏的打算,模型迟早会 hallucinate(幻觉),但提前把约束写死能少踩坑。周末要不要一起跑个 baseline 测试?我这边有现成的评估脚本,顺手丢 GitHub 还能攒点 star。