
重要提示:Astra-Ares 是一个实验性参考实现。它运行一个独立的、经过补丁修改的 Codex CLI,主要用于实验,或供开发者将自适应推理力度引入自己的智能体系统。
Astra-Ares 的功能
Astra-Ares 为运行中的 Codex 任务中的 GPT-6 Astra 增加了自适应推理力度选择功能。它不会为整个任务指定一个固定的推理级别,而是使用名为 Jev 的评估器来选择 Astra 在下一步应采用的推理力度。
Jev 会检查受限的任务上下文,选择下一个推理力度,并决定该选择应持续 1、2、5 还是 10 次模型生成。随后,Codex 通过 Astra 的原生配置机制应用该选择,再继续执行任务。
Astra 可以更改推理力度,而不会使其缓存所使用的原始提示前缀失效。因此,Ares 会继续使用同一个模型、对话和直接的 OpenAI 连接,而不是插入 Astra 的网络路径。正常的提示缓存资格和保留规则仍然适用。
主要功能
- 自适应推理:Jev 会为任务的下一部分选择所需的推理力度,而不是依赖一个固定设置。
- 多代租约:一个决策可以持续 1、2、5 或 10 次生成,从而减少不必要的评估器请求。
- 原生应用于 Codex:经过补丁修改的 CLI 会在每次生成之间应用 Astra 的设置,并确认应用成功。
- 受限的评估器上下文:Jev 会接收任务、公开进度、推理摘要以及有限数量的近期工具结果。
- 直接连接 Astra:Codex 仍会直接与 OpenAI 通信。Jev 使用单独配置的提供商。
- 隔离安装:Astra-Ares 使用自己的 Codex 配置文件,不会替换现有的
codex命令或 Codex 桌面应用程序。 - 明确的失败处理:Ares 不会静默切换提供商、替换模型或擅自生成推理力度决策。
安装前须知
首次构建需要几分钟时间,并需要大约 10 GB 的可用空间。请安装以下前置依赖:
- Node.js 22 或更高版本
- npm
- Git
- curl
- tar
- 原生 C/C++ 构建工具链
- 通过 rustup 安装的 Rust
安装过程还会安装上游 Codex 源代码所固定的 Rust 工具链。在 macOS 上,如果尚未安装 Xcode Command Line Tools,请执行:
xcode-select --install
Apple Silicon 版 macOS 已在本地完成构建和测试。Intel 版 macOS 和 Linux 存在构建路径,但尚未完成验收测试。不支持 Windows,因为此集成依赖 Unix 套接字。
步骤 1:构建并安装 Astra-Ares
克隆源代码仓库,安装其 Node.js 依赖,运行自动设置程序,并创建全局命令链接:
git clone https://github.com/miuuyy/Astra-Ares.git
cd Astra-Ares
npm ci
npm run setup
npm link
设置程序会下载固定版本的 Codex,应用随附的补丁,并自动完成构建。你无需手动编辑 Codex。
npm link 命令会在终端中提供两个命令:astra-ares 和 ares。当前预览版以源代码形式发布;目前没有已发布的 npm 软件包或预构建的 Ares 下载文件。有关更新、复用构建结果、移除安装以及不使用全局链接运行的说明,请参阅项目的安装文档。
步骤 2:配置 Jev 提供商
新安装默认使用 OpenRouter 作为 Jev 提供商。创建一个 OpenRouter API 密钥,确保其账户有可用余额,然后启动配置提示:
ares configure
在隐藏提示中粘贴密钥。Astra-Ares 会将其存储在克隆仓库之外的私有用户配置中。
Jev 凭据与用于访问 Astra 的 Codex 账户相互独立。如果经过补丁修改的 CLI 需要身份验证,请使用以下命令登录:
astra-ares login
有关其他 Jev 提供商和环境变量选项,请参阅项目的配置指南。
步骤 3:使用自适应推理启动 Codex
启动经过补丁修改的 Codex 终端:
astra-ares
打开原生的 /model 选择器,然后选择 Astra-Jev。新的 Ares 配置文件默认会选择此项。之后,你可以提交任务并使用常规的 Codex 工作流,包括工具、审批、取消和历史记录。
当 Jev 更改推理力度且 Codex 确认已应用时,记录中会显示类似以下的消息:
Jev LOW → HIGH ✓ APPLIED
Step 3 · next 2 generation(s) · 321 ms
APPLIED 不仅仅是一条建议通知:它表示 Codex 已确认设置已应用于下一次生成。该通知会在原生应用完成后显示。
基本使用示例
打开特定仓库
使用 -C 在指定的项目目录中开始工作:
astra-ares -C /path/to/project
恢复上一次 Ares 会话
astra-ares resume --last
Ares 使用独立的 Codex 配置,因此此命令会从该配置恢复上一次会话,而不是恢复普通 Codex 安装中的会话。
替换 Jev 密钥
ares configure
为单个会话禁用 Jev
打开 /model,然后选择普通 Astra 或其他模型。Codex 将继续运行,但不会使用 Jev 路由。
自适应选择的工作方式
- Codex 在模型生成前到达符合条件的检查点。
- Ares 准备有限上下文,其中包含任务、公开进度和最近的工具活动。
- Jev 选择推理强度,以及持续 1、2、5 或 10 次生成的租约。
- Codex 使用 Astra 的原生配置机制应用所选设置。
- Astra 生成响应,并可能调用一个或多个工具。
- 当租约到期或某个事件使其失效时,Ares 会请求下一次决策。
一步表示一次模型生成,而不是一次工具调用。一次生成可以产生多次工具调用。可用的工具结果进入对话后,决策会在下一次生成前发生。
Jev 会结合用户目标评估接下来所需的推理。例如,读取文件并不会自动意味着应使用低强度推理,因为理解文件可能才是困难所在。
理解租约
如果 Jev 选择持续十次生成的租约,Ares 会在第 1 步请求一次决策,然后在第 11 步再次请求。第 2 步到第 10 步会复用已接受的选择,不会额外请求 Jev。
当有新的用户输入、工具失败、模型发生变化或手动更改推理强度时,租约会提前结束。随后,Jev 会在下一个符合条件的检查点接受咨询。工具失败会请求重新评估,而不会触发硬编码的升级策略。
Jev 接收的上下文
Jev 不会接收 Astra 完整且不受限制的内部上下文。其评估视图包括:
- 原始或当前任务,以及保留的先前用户请求
- 公开进度、计划和已发布的推理摘要
- 最近六次工具调用及其对应结果
- 每次工具调用最多 1,000 个本地令牌的合并结果文本,并使用明确的首尾截断
- 受 28,000 个本地令牌上限保护的完整评估请求
私密或加密的推理会被排除。超大的评估请求会明确停止,而不会静默发送。本地分词器提供预算估算,但不一定与 Jev 的分词器完全相同。这些限制只影响 Jev 的视图;Astra 会保留其原生对话。
有限的任务上下文会发送给配置的 Jev 提供商。在使用敏感项目数据之前,请查看配置和日志记录文档。
诊断与故障排除
检查本地安装
ares doctor
此命令会在本地检查安装和配置,不会主动执行下文所述的提供商探测。
测试 Jev 提供商
ares doctor --probe
探测会发起一次小型且计费的 Jev 请求。当本地检查通过但评估决策失败时,可以使用此命令。
检查决策日志
默认情况下,运行日志存储在:
~/.local/share/astra-ares/runs/<run>/decisions.jsonl
这些记录有助于识别提供商请求失败、决策时机和已应用的设置。
正确理解 HTTP 429
HTTP 429 响应表示速率或容量被拒绝。它本身并不能证明评估上下文过大。对于瞬时 HTTP 错误,在 30 秒期限内,针对同一提供商的尝试次数不会超过三次。
如果所有尝试都失败,Ares 会明确停止当前轮次。它不会静默切换到其他提供商、选择其他模型或伪造推理强度。有关其他检查,请参阅仓库中的故障排除指南。
高级提示
平衡响应速度与评估成本
新的 Jev 决策会增加一次提供商往返请求和本地检查点处理。租约处于活动状态时,检查点会在本地处理,不会再次请求 Jev。因此,较长的租约可以降低请求频率,不过参考实现所述的持续时间由 Jev 而非用户选择。
验证集成时使用可见确认
测试自适应行为时,请查找 APPLIED 状态,不要仅凭假设认为 Jev 的建议已传递给 Astra。只有在 Codex 应用原生设置后,才会发出该确认。
牢记当前的测量限制
项目包含用于设置应用和提示前缀保留的原生固定装置测试。不过,工作负载缓存命中率以及与固定推理强度相比的节省幅度尚未测量。请将效率声明视为设计目标,并在自己的工作负载上进行验证。
运行开发测试套件
贡献者可以安装依赖并使用以下命令运行标准测试:
npm ci
npm test
原生集成固定装置还需要 Bun 和经过补丁处理的 Codex 二进制文件:
JEV_TEST_BINARY="$HOME/.local/share/astra-ares/bin/codex" npm run test:native
本地固定装置测试不需要 API 密钥。上游源代码校验和及补丁版本已固定在 patches/upstream.json 中。
结论
Astra-Ares 展示了代理如何在不同代际之间调整 GPT-6 Astra 的推理力度,同时保留现有对话、直接的 OpenAI 连接以及原始提示词前缀。其自动化设置让实验更易上手,但它仍是一个早期技术预览版,基于单独修补的 Codex CLI 构建。在将其视为日常开发工具之前,请使用其诊断功能、检查决策日志,并在自己的工作负载上验证性能。
