SuperAPI AI 工具集

runtime

智能体与模型

查看项目

更新于 10-16 04:40

技能介绍

用途

Runtime 技能定义了一套双 Python/JavaScript 冒险引擎。两套运行时都负责执行编译后的表达式、管理世界状态、处理模拟 tick 以及处理事件。其关键约束是:始终同时生成 _js 和 _py 代码,绝不只生成其中一种。

为什么需要双运行时

  • Python:用于服务端、测试、LLM 绑定、CLI。
  • JavaScript:用于浏览器、独立游玩、离线。

双运行时架构中,源为 YAML,编译器为 LLM,输出同时包含 guard_js 与 guard_py。Python 运行时文件为 adventure.py,目标为 CLI 与 Server;JavaScript 运行时文件为 engine.js,目标为 Browser 与 SPA。

World 对象

两套运行时实现相同的 World 类。标准键包括 turn、timestamp、adventure、player、room、party;扩展键包括 object(对象模拟期间)、target(定向动作期间)、npc(NPC 模拟期间);技能状态命名空间为 skills。

主要能力包括:

  • 背包:has、has_tag、find_by_tag、give、take。
  • 标记:flag、set_flag。
  • 叙事:emit、narrate。
  • 事件:trigger_event。
  • 导航:go、can_go。
  • 增益:has_buff、add_buff、remove_buff。
  • 有效值(Buff 修改协议):reset_effective、get_effective、modify_effective、multiply_effective。基础值是持久真相,有效值每个 tick 重新计算。
  • 韧性(SimCity 区域模式):ensure_defaults 自初始化并合并默认值,heal_state 将负数值钳制为 0 并修复不一致状态。
  • 状态访问:get、set,支持点路径。

编译表达式格式

自然语言编译为两个目标。例如源 guard: "player has brass-key AND room is not dark" 会同时生成 guard_js 与 guard_py。表达式类型包括 boolean、action、method、closure。复杂示例中,对象方法如 consume_fuel 与 extinguish 也会同时生成 JS 与 Python 版本。

模拟循环

两套运行时实现相同的模拟循环,包含有效值阶段。模拟 tick 阶段包括:1. RESET(将 _effective 重置为基础值)、2. BUFFS(将增益修改器应用到 _effective 值)、3. SIMULATE(对象运行 simulate() 并修改 _effective)、4. MAIL(投递排队消息,确定性)、5. EVENTS(资料在此处截断,后续阶段暂未提供)。

适用场景

适用于需要同时在服务端与浏览器端运行、且要求语义一致的冒险类交互应用开发,尤其是需要 LLM 编译自然语言为可执行逻辑、并保持 Python 与 JavaScript 双目标同步的场景。

限制

资料未提供安装命令、依赖要求、版本信息、性能数据或收费信息。模拟循环第 5 阶段之后的内容暂未提供。