编程 FrontierAgent:从终端执行到模型评测一体化的Agent Harness,1223 Star

2026-09-05 19:07:31

FrontierAgent:从终端执行到模型评测一体化的Agent Harness,1223 Star

最近 AI 圈子里经常有人提到这样一个公式:Agent = Model + Harness。模型本身大家都可以用上,但真正决定一个 Agent 好不好用的是外面那一层执行框架——任务怎么分、文件怎么管、出现问题能不能回退,这些都不是模型单独能解决的。

最近有一个模型公司把内部一直在用的整套系统直接放了出来。FrontierAgent 就是这类项目,它在 GitHub 上已经有 1223 个 Star。比较特别的是,连自己用来评测模型的那一套系统也一起开源了——拿到项目后,不只是能运行 Agent,模型公司自己跑分用的 Workflow Engine 也有现成的。

FrontierAgent 是 Apodex 这家模型公司的自用 Agent 执行系统,它把终端 Agent、文件沙箱、任务看板和模型评测都放在了同一个项目中,已经不是简单的聊天界面,而是一个完整的 Harness。

一个调研场景演示

假设要做一份细分赛道的深度调研,报告最后还要拿去给团队讨论,不能只输出几段看起来像样的总结。把原始资料放到 /inputs 文件夹里,然后创建一个 Agent Team,只对它说一句话:把目标分解成子任务来查。

这时它就会自己把任务拆开,然后把不同的方向分配给并行运行的小 Agent。右边的任务看板也会同步显示进度,子任务由 pending 变为 active 之后,哪些已经开始了、哪些还在等待中一目了然,是谁卡住了不需要看日志就能知道。

等到各个 Agent 把报告交上来之后,协调者再把这些内容收回来,汇总成一份最终版。这中间还可以随时补充要求,新指令会等到安全节点再注入,不需要按 Ctrl+C 中断整个任务。如果某一步卡住了,也能实时看到它正在处理什么。

文件修改的部分也保留了确认环节,系统会把要修改的文件以及变更的内容展示出来,等确认之后再进行操作。完成之后,最终交付物就会整齐地放在宿主机上。

它到底自动化了哪些环节

前面演示的是团队模式,底层其实有两个引擎,可以按照任务类型来切换。

01 多 Agent 协作,自带任务看板。 一个协调者把大的任务拆开来,然后通过任务看板分配给同时运行的小 Agent,最后把它们的报告收回来做汇总。可以使用 --concurrency 来限制并行数量。当要同时查询多个方向的时候,这种方式比较容易观察进度,也方便找出具体卡住的子任务。把同一套模型换进来之后,六项基准全部上涨,其中 GDPval 从 69.5 涨到了 78.8——至少可以说明任务组织方式本身会影响效果,并不是只和模型参数有关。

02 文件进出全走沙箱。 /inputs 是只读目录,/workspace 用作中间工作区,/outputs 存放最终交付物。修改文件之前要经过审批,发现问题可以使用 /revert 来撤销,最后生成的文件在宿主机上也可以直接找到。危险命令会被拦截,即使加上了 --yes,也有一部分操作会被永久拒绝;如果沙箱权限检查失败,系统就会直接关闭,不会悄悄地放行。

03 有状态 ReAct,一个 Agent 干到底。 如果任务不适合拆分,也可以使用 ReAct 模式,让一个 Agent 一直进行下去。读文件、跑命令和写交付物的状态都会保留下来,适合分析一个仓库、阅读一篇论文,或者围绕单个目标整理资料。它不会每执行一步就忘掉前面的内容,长任务跑到一半时上下文还在;中途断开后也可以用 --resume 接着往下跑。当任务运行时间较长的时候,还可以设置完成通知。

04 评测系统一起开源。 项目中包含 14 个 benchmark,并且提供了 41 条可以验证的查询,可以直接使用。判分方式有两种,既可以进行客观比较,也可以让模型来当裁判。Apodex 在自己评估模型的时候也使用了这套 Workflow Engine,要复现某篇论文的跑分,在现有的框架上运行就可以,不需要做太多关于评测系统搭建的工作。

安装方式

macOS 和 Linux 原生支持,Windows 需要使用 WSL2 来运行。开始之前要准备好 Git、Python 3.12 和 uv。模型使用 OpenAI 兼容接口,可以在本地进行托管或者调用 API。

git clone https://github.com/ApodexAI/FrontierAgent.git
cd FrontierAgent
uv sync --python 3.12 --extra dev

.env.example 复制成 .env,填入模型端点,基本就可以开始运行了。原生模式不需要安装 Docker Desktop,依赖会按需放进项目目录。如果平时更喜欢用 Docker,也可以用对应的方法来部署。

要运行团队模式,在 TUI 中执行:

uv run frontier-agent --mode agent_team --cwd /path/to/project

Docker 用户可以直接用 compose 来启动,不需要配置太多本地环境。

注意事项

目前的跑分主要是由项目方提供的,第三方复现的数据还没有出来,数字可以作为参考。Windows 要用到 WSL2 才能运行,不是原生支持。本地模型对于 NVIDIA 驱动也要求很高,目前 Apple 芯片无法运行 SGLang,相关的 CUDA 错误排查起来会很麻烦。

做调研很麻烦,一般不是让模型来写总结,而是资料很多、过程很散,最后很难核对每一个结论是怎么来的。FrontierAgent 将任务拆分、执行过程以及文件交付串联在一起,这也是它比较有价值的地方。

开源地址:https://github.com/ApodexAI/FrontierAgent

推荐文章

程序员茄子在线接单