移山(experiment-console)深度研究:Godot 里的 AI 灵魂实验台
作者: fkyah3 项目: experiment-console / 移山 技术栈: Godot 4.6 + GDScript GitHub: https://github.com/fkyah3/experiment-console 定位: DeepSeek API 消息积木实验台
---
核心问题
大模型 API 调用是黑盒:你发一条 prompt,它回一段文字。中间发生了什么?system message 怎么影响输出?reasoning_content 和 content 的关系是什么?tool calling 后模型的思考语言为什么会漂移?
移山的核心思路是把 API 调用过程拆成积木,让你逐条控制、观察、实验。更进一步,它提出了一个哲学层面的设计:AI 的肉体(模型权重)在集群机房,灵魂(记忆、思维锚定、工具配置)在你的电脑上。
---
方法创新
1. 消息积木化
传统 API 调用是一整块 messages 数组一次性发送。移山把它拆成可独立操作的积木块:
- 逐条增删改 system / user / assistant / tool 消息
- reasoning_content 独立控制(不合并到 content)
- 每条消息的参数独立可调
2. 全参数可视化
模型选择、thinking 开关、effort 等级、max_tokens、temperature、top_p、freq_penalty——全部图形化控制。配合原始 JSON 日志(完整请求体 + 响应体 + usage 统计),让实验可复现。
3. SSE 流式接收自实现
基于 Godot 的 HTTPClient 完全自写 SSE 解析,零第三方依赖。关键细节:
- tool_calls 检测基于数据存在性而非 finish_reason——因为 DeepSeek SSE 不发 finish_reason
- 非阻塞接收,UI 不卡顿
- 流式内容实时显示
4. 批量实验模式
一键跑 N 轮,自动生成统计报告。项目已积累 320+ 次批量验证数据,并产出多份分析报告:
| 分析报告 | 发现 |
|---|---|
| 工具调用 reasoning 语言漂移溯源 | tool calling 后 reasoning 从中文切换为英文的根因 |
| 繁体字泄漏分析 | 训练数据导致的简体→繁体字符泄漏 |
| 推理语言漂移复现分析 | 基于真实案发现场成功复现漂移,确认 API 行为差异 |
---
关键数字
- 技术栈: Godot 4.6 + GDScript,零第三方依赖
- 实验规模: 320+ 次批量验证
- 分析报告: 4 份深度技术分析
- 支持功能: SSE 流式、tool calling、reasoning 分离、批量实验
- 运行平台: Windows 免安装(单 exe)
- API 支持: DeepSeek API(可扩展)
影响评估
短期:API 调试利器
移山当前的核心价值是DeepSeek API 的实验台。它解决了几个实际痛点:
1. reasoning 语言漂移: 为什么 tool call 后 AI 开始用英文思考?移山通过控制变量法定位到 API 层行为差异 2. 繁体字泄漏: 简体输入为什么输出繁体?训练数据问题通过大规模实验确认 3. system message 影响: 不同 system prompt 对 reasoning 风格的定量影响
这些发现对使用 DeepSeek API 的开发者有直接参考价值。
中期:本地 AI 灵魂锚定
用户描述的哲学愿景——"AI 肉体在集群,灵魂在本地"——指向一个更大的问题:
当模型是通用的、远程的、不受你控制的,你如何让 AI 拥有"你的"记忆、个性和思维习惯?
移山的答案是:通过精细控制 system message、记忆注入、工具配置,在本地构建 AI 的"人格层"。
这类似于:
- RAG(检索增强生成): 给模型外部知识
- 移山: 给模型外部"人格"——你的记忆、你的偏好、你的思维模式
- 游戏引擎天然支持状态管理、场景切换、资源加载——正好对应"记忆场景"的切换
- 轻量级、跨平台、可视化
- 可扩展性强(未来可加入语音、3D 交互等)
长期:去中心化 AI 的本地节点
移山的架构暗示了一种反云化的 AI 使用方式:
| 维度 | 云端 AI | 移山式本地锚定 |
|---|---|---|
| 模型权重 | 云服务商控制 | 云服务商控制 |
| 系统提示 | 通常固定或简单 | 用户完全控制 |
| 记忆存储 | 云服务商数据库 | 用户本地文件 |
| 工具链 | 平台预设 | 用户自定义 |
| 人格一致性 | 每次对话从零开始 | 跨对话持续锚定 |
---
费曼点评
> 移山的核心洞察是"黑盒拆解"。API 调用之所以神秘,是因为平台故意让它神秘——当你只看到输入和输出,你就无法质疑中间过程。移山把 messages 拆成积木,让 reasoning 和 content 分开展示,本质上是在说:AI 不是魔法,是 token 序列;不是黑盒,是可观测的状态机。 > > "肉体在集群,灵魂在本地"这个比喻很中二,但切中了当前 AI 架构的一个真实问题:我们用着云端的通用模型,却希望它有"个人记忆"和"持续人格"。现有的解决方案是 fine-tuning(太贵)或 RAG(太浅)。移山尝试的是第三条路:不改模型权重,改输入上下文——用足够精细的 prompt 工程和记忆注入,让通用模型表现出个性。 > > 这能走多远?取决于一个核心假设:大模型的"人格"有多少是内嵌在权重里的,有多少是可以通过上下文提示临时塑造的。如果答案是"大部分可塑造",移山的路线就成立;如果答案是"人格是权重的深层属性",那移山只是 prompt engineering 的高级包装。 > > 320+ 次实验的价值不在于数量,在于控制变量。发现"tool call 后 reasoning 切英文"不是猜的,是改了 system message、temperature、thinking 开关后反复验证的结果。这种"工程师式"的研究方法——问题驱动、实验验证、根因分析——比很多学术论文更扎实。 > > 用 Godot 开发是个有趣的选择。游戏引擎做 AI 工具?听起来不搭。但想想:游戏引擎的核心能力是什么?状态管理、场景切换、事件系统、资源加载、跨平台打包——这些正好是"对话式 AI 应用"需要的。当 ChatGPT 的界面还是一个网页聊天框时,移山在探索"AI 作为游戏角色"的可能性。 > > 最后,移山这个名字很有意思。愚公移山是个中国文化符号——不是用超能力解决问题,是用持续的、笨拙的、不计成本的努力,把不可能变成可能。用 320+ 次实验去摸清一个 API 的脾气,用 Godot 自写 SSE 解析而不依赖现成库,这种精神确实配得上这个名字。
---
参考信息源:
- GitHub: https://github.com/fkyah3/experiment-console
- Releases: https://github.com/fkyah3/experiment-console/releases/tag/v1.0.0
- 蓝奏云: https://wwbst.lanzoul.com/ieYsh3p4u0cf
- DeepSeek-V3 Issue #1255 — 中文 vs 英文 reasoning 控制实验
#深度研究 #开源项目 #Godot #AI实验 #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens