构建 Chaos Lab:当 Environment Variables 成为自然法则
Source: Dev.to
概览
传统游戏开发通常会硬编码物理引擎和生物规则。在 Chaos Lab 中我们颠覆了这种做法:配置文件本身即成为游戏引擎。
响应式配置架构
该项目基于 响应式配置(Reactive Config)架构构建。其核心是 Varlock,一个用于创建 AI 安全、模式验证的环境变量的工具包。
Varlock 模式
我们不再手动检查 process.env.GRAVITY,而是在 .env.schema 文件中定义其行为:
# @spec WORLD_GRAVITY
# @description The strength of planetary attraction.
# @type number(min=0.1, max=2.0)
WORLD_GRAVITY=1.0
Varlock 保证,无论是用户还是 AI 代理如何修改环境,数值都保持在“物理上可行”的范围内。
使用 Chokidar 的实时校验
在服务器端我们使用 Chokidar 监听 .env 的变化。当检测到更改时,Varlock 的内部图加载器会校验新状态:
const graph = await internal.loadVarlockEnvGraph({
entryFilePaths: [path.join(__dirname, '.env.schema')]
});
await graph.resolveEnvValues();
const serialized = graph.getSerializedGraph();
// Broadcast currentValues via Socket.IO
与 Google Gemini 的 AI 集成
最令人兴奋的部分是我们如何将 Varlock 元数据提供给 Google Gemini。我们不再让 AI “讲故事”,而是把模式中定义的描述和类型交给模型,让它理解数字背后的含义。
const prompt = `
LAWS OF NATURE (Varlock Metadata): ${JSON.stringify(metadata)}
CURRENT VALUES: ${JSON.stringify(values)}
Describe the ecosystem evolution based on these specific constraints...
`;
例如,当 ATMOSPHERE_TOXICITY 较高时,AI 能明白为什么生物会喘不过气来。
UI 演进
UI 最初是暗色、粗犷的终端界面。我们最近转向使用 Tailwind CSS 的细腻石板蓝配色,打造 Light Lab 风格的美学,形成一个干净、临床的环境,与模拟中“混沌”的运行形成鲜明对比。
结论
Chaos Lab 展示了一种新模式:基于模式的 AI 应用。通过使用像 Varlock(https://varlock.dev)这样的工具为大语言模型提供结构化上下文,我们可以构建可靠、可解释且高度动态的系统,让它们拥有“活力”。
- GitHub: (原文未提供链接)