为你的游戏项目建立知识库——AI 在对话之间保留的记忆
把游戏设计决策、规则和文档放进知识库,AI 代理会读取并更新它,随项目一起提交到 Git,并以 3D 图谱展示。

每次与 AI 代理开启新对话,记忆都是从零开始的。你又要解释一遍战斗规则、命名规范、美术风格,而代理依然会忘记你上周关于存档文件做出的决定。AI Game Developer 中的知识库解决了这个问题:一个游戏项目知识库,代理会读取、搜索并更新它,以 Markdown 笔记的形式保存在你的项目里,并随游戏的其他内容一起提交到 Git。
本文用一个来自我们演示游戏 Skyward Keep 的会话展示它如何工作,知识库里应该放什么,以及如何配合它使用,好让代理做出的决定在多次会话之间保持一致。视频是应用的真实录制:演示中代理的回复是脚本化的,但其中每一次工具调用都是真实运行的。
知识库是什么
知识库是位于项目 .ai-game-dev/knowledge/ 目录下的一组纯 Markdown 笔记。由于它就是仓库中的普通文件:
- 它受 Git 版本管理,因此每一项设计决策的改动都有历史记录,也能在拉取请求中审阅。
- 它随项目一起走:克隆仓库的队友会得到同样的知识,他们的代理也一样。
- 你可以在任意编辑器中阅读和编辑这些笔记,不限于本应用。
在文件之上,应用还维护一个索引。它跟踪笔记之间的链接,报告失效链接,并为代理提供浏览、搜索、读取和整理笔记的工具。索引会随笔记变化增量更新,因此代理在一次会话中写下的笔记,在下一次会话中就可用了。
空间:笔记如何组织
任何带有 README 的知识库文件夹就是一个空间,包含标题和一段简短说明,讲清它该放什么。代理会看到一份简短的空间目录,只在需要时打开某个空间,也可以创建新空间。这样它的上下文就能保持很小:它不会把每条笔记都加载进每次对话,而是去处理当前任务真正相关的空间。
一个适合游戏的目录结构:
- design:核心循环、机制、进度、经济。
- systems:战斗、背包、存档或对话是如何实现的。
- art:风格指南、调色板、资源命名和导入设置。
- audio:音乐方向、音效约定、混音电平。
- decisions:带有理由的选择日志。
- references:你正在学习的游戏和工具的链接与笔记。
你不必手动搭建这套结构。直接让代理去做:“为 design、systems、art 和 decisions 创建知识库空间,每个空间配一段描述。”
记录决策,让它们真正生效
最有价值的笔记是决策。当你在对话中陈述一个决策时,代理会把它连同理由以及它所取代的内容一起记录下来,并从该空间的 README 链接到这条新笔记。
在演示中,这个决策是关于美术风格的:
“我们就定下这个手绘风格:柔和贴图、暖色边缘光、不要描边。它在 64 px 下比卡通渲染的测试版本辨识度更高。”
代理会先检查知识库中已有的内容,并在一条风格探索笔记中发现一个待定问题:带厚描边的卡通渲染,还是柔和的手绘贴图。然后它在美术方向空间中写下一條新笔记 Visual style: hand-painted,包含决策、理由(手绘主角在 64 像素下依然可辨识,而卡通渲染的描边则变成了噪点)以及它所取代的内容。它把该待定问题标记为已解决并链接到新笔记,同时从该空间的 README 链接这条笔记。笔记是纯 Markdown,随项目一起提交,因此每个新对话和每位队友都能拿到它。

值得记录的决策大致长这样:
- “物理使用 50 Hz 的固定时间步长,因为平台跳跃需要一致的跳跃高度。这取代了可变时间步长。”
- “敌人生命值始终是 10 的倍数,这样伤害数字保持易读。”
- “所有物品图标都是方形、居中,置于纯深色背景上。”
下次会话处理物理、敌人或 UI 时,代理会在知识库中找到该决策并遵循它。在演示中,一个全新的对话被问到“我们为 Skyward Keep 选了哪种美术风格,为什么?”,它给出了该决策和理由,并引用那条笔记作为来源。

当你改变主意时,说出来即可,笔记会连同新的理由一起更新,而 Git 会保留旧版本。
让代理检查知识库
你可以直接让代理去看知识库:“在你改动背包之前,先读一下 systems 空间,告诉我哪些规则适用。”或者用 /kb 命令请求一份摘要,它会显示笔记树、笔记之间的链接以及任何失效链接,范围可以是整个知识库或某个文件夹。
保持知识库健康
知识库只有在保持连接和最新时才有用。相关工具可以帮助做到这一点:
- 笔记之间的链接会被跟踪,可按笔记或按文件夹查看出链、反向链接和失效链接。
- lint 检查会报告失效链接、孤立笔记以及不符合约定的笔记。归档在某个空间中的笔记不会被算作孤立笔记。
- 随着项目增长,笔记可以在文件夹之间移动。
每隔几周,让代理运行一次 lint 检查并修好它发现的问题。把它当作重构代码来对待:小而规律的清理能让整个体系保持可用。
3D 图谱
知识库会在独立窗口中打开为一个动态的 3D 图谱。文件夹是环,笔记是节点,节点大小取决于其连接程度,颜色取决于所属文件夹,线条表示包含关系和链接。这样可以快速看出设计的哪些部分文档齐全,哪些笔记孤立无援。
你可以从多个位置打开它:状态栏入口,它显示项目有多少条笔记,并在代理写入笔记时脉冲闪烁;会话 Tools 行中的 “Open the Knowledge Base graph” 按钮;资源管理器中某个文件夹或笔记上的 “Open in Knowledge Base graph”;以及右侧面板中的知识库视图。
该放什么,不该放什么
为代理无法从代码中推断出来的东西写笔记:意图、约束、理由和约定。省略代码本身已经说明的内容,比如每个类的清单,它们很快就会过时。
新项目开局第一周的好做法:
- 让代理创建空间。
- 写一条关于核心循环的笔记和一条关于美术风格的笔记。
- 在对话中当场陈述你的决策,让代理归档它们。
- 周末打开图谱,让代理对知识库做一次 lint。
知识库在 0.21.0 版本中推出,并在 0.22.1 版本中通过空间变得更易访问( https://ai-game.dev/releases/0.22.1 )。它在 Unity、Godot 和 Unreal 项目中同样适用,也适用于普通文件夹。在 ai-game.dev/download 下载应用,给你的下一次会话一份记忆。

