
Microsoft Command Line 于 2026 年 8 月 7 日介绍 Agent Terrarium,一个实验性的开源 desktop companion app。它把 agent 放进一个具备移动、物理、社交事件和环境变化的 ambient world,让人可以观察 agent 如何感知和响应,而不只是从聊天窗口看到最后一段输出。
Agent Terrarium 的 simulation 使用 Rust 编写,React 只负责 view,两者通过 Tauri 连接。官方文章表示,simulation、physics、AI dispatch 和游戏逻辑在 Rust 内以 20 Hz 运行,React 通过 Tauri IPC 读取 world state,再用 Canvas 2D 绘制。这种分层把 render 和 simulation 分开,理论上也方便同一个 `terrarium-sim` 驱动 desktop GUI、terminal UI 或正在开发中的 VS Code extension。
每个 agent 都可以独立指定 backend、model、system prompt、awareness level 和 working directory。文章列出的模型选项包括 GitHub Copilot 的 Copilot SDK、OpenAI-compatible endpoint,或不需要 API 的 Echo/NPC。这种 bring-your-own-model 设计让实验不被单一 provider 绑定,但模型请求、工作目录和工具权限仍要按每个 agent 分开审查。
Agent 的 awareness 分为四级。Level 0 只接收 direct messages;Level 1 看到 world events;Level 2 看到 social events;Level 3 才接收完整 world snapshots。Level 3 的 agent 可以执行 `say`、`emote`、`move_to` 和 `run_away` 等动作。把可见世界和可用动作分级,是一种比「把全部上下文一次交给模型」更容易测量的实验设计。
世界本身可以更换 theme、weather 和 music,也可以用 gear 或 file drop 把内容带入 terrarium。packages 以 declarative JSON 放在 `~/agent-terrarium/packages`,让场景和对象可以扩展。这些设置方便创作,但如果 file drop 会把本地数据暴露给 agent,用户仍要先确认数据范围、工作目录和模型供应商的传送边界。
Agent Terrarium 目前更像 human-agent interaction 的研究型玩具和开源项目,而不是已经成熟的企业 agent 平台。它的价值在于把 agent 的感知、社交事件、状态更新和行动放到一个可视化、可重播的环境中。这可以帮助团队讨论「agent 何时知道一件事」以及「它为什么采取某个动作」,而不只是比较对话答案。
实际使用时仍需要把模型输出视为不可信输入。在向 agent 开放文件、shell 或外部工具之前,应限制 working directory、记录每次 action、隔离测试数据,并把不可逆操作交给人工批准。如果以后把这个世界接入真实工作流,observability 和权限控制会比画面上的互动更重要。



