FrontierAgent 是 ApodexAI 开源的一款智能体运行时、终端产品与评测套件,面向长周期研究和基于文件的工作。其命令行终端界面(TUI)名为 frontier-agent,内置两种原生工作流。
用途与定位 FrontierAgent 旨在支持需要长时间运行、涉及文件读写与命令执行的智能体任务,例如研究、资料整理、交付物生成等。它同时作为评测套件,用于评估 Apodex 模型在多种基准上的表现。框架、工具、工作流和评测层保持分离,便于独立复用。
主要能力
- ReAct 工作流:单个有状态智能体在任务级沙箱中研究、读取文件、撰写交付物、运行命令并迭代。
- Agent Team 工作流:协调者维护任务板,将独立工作分派给并行子智能体,收集结构化报告并综合结果;可选快速报告器用于最终证据审查。
- 任务板:Agent Team 的 add_task 和 update_task 事件实时显示在 TUI 侧边栏,状态包括 pending、active、completed、blocked、cancelled。
- 沙箱化文件工作:Shell 和文件工具共享一个任务级文件系统,/inputs 只读,/workspace 为工作状态,/outputs 存放持久交付物;授权和沙箱失败采用 fail-closed 策略。
- 异步干预:智能体运行时输入新指令会排队,在下一个安全回合边界注入,不丢弃当前运行;在 Agent Team 模式下引导协调者,已运行的子智能体允许完成。
- 透明交付物:在 macOS/Docker 上,/outputs 映射到宿主机 .apodex/runs/<session-id>/outputs,同一运行目录还包含检查点、追踪、引擎日志和轨迹。
- 审批、追踪与恢复:变更操作显示差异并要求审批(除非启用 --yes);会话有检查点,每个动作本地追踪,/revert 恢复会话更改,--resume 继续已保存运行。
- 内置评测:子进程运行器支持研究和基于文件的基准,确定性产物收集、并发、进度检查以及重跑单个失败项。
使用方式 要求:Git、Python 3.12、uv 以及兼容 OpenAI 的模型端点。Docker 可选。 安装:使用 uv 从仓库安装,可将端点保存在用户文件中。导出变量和项目 .env 优先于用户文件。 启动:运行 frontier-agent 可进入交互会话,或传入任务并留在会话中跟进。 脚本:./scripts/run-macos.sh 和 ./scripts/run-linux.sh 设置托管端点安装;./scripts/run-linux-gpu.sh --install-system-deps --setup-only 在 Linux NVIDIA GPU 上准备原生隔离的 SGLang 环境。 Docker:预构建的 linux/amd64 和 linux/arm64 镜像发布在 GitHub Container Registry,但包为私有,需 docker login ghcr.io 或本地构建。 本地 SGLang 服务:固定到经过审查的 NVIDIA 驱动/CUDA/SGLang 轨道,需对照 GPU 兼容性矩阵确认驱动。
适用场景
- 长周期研究任务,需要智能体自主读取文件、运行命令并生成交付物。
- 需要并行子智能体协作的复杂任务。
- 对 Apodex 模型进行基准评测,支持 BrowseComp、BrowseComp-ZH、xbench-DeepResearch、Humanity's Last Exam(纯文本)、SuperChem、FrontierScience-Research、FrontierScience-Olympiad、DeepSearchQA、WideSearch、FrontierSearchBench、OfficeQA、GDPval、APEX、OneMillion-Bench 等。
- 需要沙箱隔离、审批追踪和会话恢复的安全敏感场景。
限制
- 需要兼容 OpenAI 的模型端点,可选用 Apodex API(官方称限时免费两周,具体以官方为准)。
- 本地 SGLang 服务对 NVIDIA 驱动/CUDA/SGLang 版本有兼容性要求,不匹配可能导致 CUDA 或 Triton 内核错误。
- Docker 镜像包为私有,需授权账户登录。
- Parallel Search MCP 不支持自定义区域、语言、时间过滤或单次查询超过 10 条结果,需要这些功能时应使用 Serper。
- GDPval 在开源评测框架中使用确定性交付物验证,有意排除了智能体成对评分器。
- 评测时建议从 --concurrency 1 开始,总并发模型调用可能接近运行器并发乘以团队生成限制。
- 部分操作即使启用 --yes 仍会被拒绝。
许可证:Apache 2.0。