Agent工坊

【Agent工坊】Ante实战:15MB二进制离线替代Claude Code

如果你用过 Claude Code 或 Codex,多半经历过这三件事:装一次要拖一整个 Node.js 运行时和 node_modules,跑起来内存动不动吃掉几个 G,而且你想换模型、想离线跑、想塞进 Docker 里批量起几十个实例时,会发现它根本没给你留多少腾挪空间。

今天介绍一个走了另一条路的东西:Ante。它把整个 coding agent 塞进一个约 15MB 的 Rust 单二进制里,零运行时依赖,内置了 llama.cpp 做本地推理——没有 API key、没有账号、没有网络,也能在你机器上跑起来。这篇文章我用实测命令带你把它跑通,顺便把踩过的坑一次说清楚。

图1▲ 图1

Ante 是什么

Ante 是 Antigma Labs 做的终端 coding agent,官方一句话定位是"你 shell 里的幽灵"(Ghost in your shell)。它和 Claude Code、Codex 干的是一类活:你给它一句话,它自己去读代码、改文件、跑命令、验证结果。区别在于构建哲学——它不是为了"一对一交互"优化,而是为了"细胞级 Agent"优化:像细胞一样又小、又可抛弃、又能大规模复制。

三个硬数据可以先记一下(来自官方 README 和持续公开的评测,写作时仓库约 1300+ star):

  • 体积:约 15MB 的 Rust 单二进制,ripgrep(重写过的 Grep)、git、本地 PDF/OCR、llama.cpp 引擎全部内嵌,同一个进程里跑,不 shell out、不泄漏资源。
  • 资源占用:官方在 20 个并行 Docker 任务里对比,Ante 比 Claude Code 峰值内存少约 7 倍、平均 CPU 少约 9 倍、磁盘 I/O 少约 5 倍。
  • 成绩:在 Terminal-Bench 2.1(89 个任务 × 5 次试验)下,用开源权重 DeepSeek V4 Flash 0731 拿到 82.7%(368/445 次试验通过,构建版本 0.preview.71,推理成本约 68 美元)。关键是每个结果都锁定到可下载的具体构建,链接原始 Harbor 运行记录供独立审计。

还有一句能帮你判断它定位的话:官方明确说"我们关心的是 harness(代理框架),不是模型,也不是 prompt"。意思是它不绑模型,你自带 key 或本地 GGUF 都行。

细胞级 Agent 对一人公司意味着什么

官方这套"细胞"说法,听起来玄,落到你的场景其实很具体。一个 AI 内容工厂或一人公司,真正的问题往往不是"一个 Agent 够不够强",而是:

  • 你起 20 个实例跑批量任务时,每个实例都拖着几百 MB 的 Node 运行时,内存先崩了;
  • 你接了三家模型做 A/B,结果每个框架都绑死自家账户体系,切起来要改一堆配置;
  • 客户的数据不能出本机,但主流 agent 全都要联网。

Ante 的答案是把 Agent 做成"可以按千计复制"的最小单元。15MB、零依赖、单进程,意味着一个裸 Linux 容器里塞几十个实例都不吃力。这比"某个 benchmark 分数高几分"更影响你真实的生产成本。

安装:一条命令,没有 node_modules

macOS 和 Linux 直接装:

curl -fsSL https://ante.run/install.sh | bash

安装后验证一下版本:

ante --version

输出类似:

ante 0.preview.71 (alpha) — macos-arm64

如果想装到 PATH 里已有的目录,或装 nightly 频道:

# 指定安装目录

curl -fsSL https://ante.run/install.sh | ANTE_INSTALL_DIR=/usr/local/bin bash

# nightly 频道

curl -fsSL https://ante.run/install.sh | bash -s -- nightly

更新也很干净,一个子命令搞定:

ante update # 更新到最新

ante update --version v0.preview.71 # 锁定到某个版本

这里要提醒第一件事:Ante 目前是 Alpha preview,只支持 macOS 和 Linux,Windows 要走 WSL。如果你在 Windows 裸机上直接跑,会直接失败,这不是安装脚本的问题,是当前阶段的限制。

三种模式:TUI、Headless、Serve

Ante 的核心是"客户端—守护进程"架构,同一个二进制根据调用方式呈现三种形态:

模式命令用途
交互 TUIante日常在终端里边聊边干活
Headless 无头ante -p "..."一次性任务、脚本、CI 流水线
Server 守护ante serve给编辑器插件、自建 UI 用,走 JSONL 协议
Gateway 网关ante gateway把 Ante 跑成 Slack / Discord 机器人

对内容创业和自动化场景来说,最值钱的是 Headless 模式——它能直接嵌进 shell 脚本和 CI。举几个官方给的一行命令:

# 修一个 bug

ante -p "find and fix the failing test in src/auth"

# 审一个 diff

git diff | ante -p "review this for security issues"

# 换 provider 跑

ante --provider openai --model gpt-5.5 -p "refactor the database module"

# 恢复一个已保存的会话,接着干

ante --resume ses_01ARZ3NDEKTSV4RRFFQ69G5FAV -p "now add tests"

注意 git diff | ante -p 这种管道用法——它能把 stdin 当上下文喂进去,这是很多 Agent 框架做不好的地方。对 CI 场景尤其关键:你不需要先把 diff 写进文件再让 agent 读,直接管道过去就行。

核心能力一:原生离线推理

这是 Ante 和 Claude Code 最本质的区别。它的推理引擎是内置的、管好的 llama.cpp,你只要指一个 GGUF 文件,整个循环就在你本机跑:没有 API key、没有账号、没有互联网。

ante --offline-model ~/.ante/models/Qwen3.5-9B-Q4_K_M.gguf \

  -p "add error handling to src/main.rs"

安装引擎、模型发现、显存管理都是自动的。官方还开源了一个纯 Rust 的小型 GPT 推理核心 nanochat-rs(基于 candle),作为"进程内推理"方向的研究项目——虽然不在主二进制里,但能看出他们想往"Agent 原生推理"走。

对隐私敏感的场景(客户代码不出本机、内网环境、数据合规),离线模式是决定性的。这也是为什么 HN 上很多人看到"15MB 二进制 + 本地 llama.cpp"就立刻兴奋的原因。

图2▲ 图2

核心能力二:多 Provider,不锁模型

内置 17 个官方维护的 provider 预设,把各家 API 的怪癖(wire 方言、API key 和 OAuth 流程、thinking 和 streaming 行为)都处理好了:

  • Anthropic(Claude Sonnet 5 / Opus 5 / Fable 5,支持 API key 或订阅 OAuth)
  • OpenAI(GPT-5.6 系列,支持 API key 或 ChatGPT/Codex OAuth)
  • Google Gemini(Gemini 3.x,Gemini API 或 Vertex AI)
  • Grok(xAI,Grok 4.5)
  • DeepSeek(DeepSeek V4)
  • Open Router(任意模型,三种 wire 风格)
  • Local(任意 GGUF,走内置 llama.cpp)
  • 还有 Zai、Ali Coding Plan、Antix 等

想接自己的网关、代理或推理引擎?写一个 ~/.ante/catalog.json 就行,不用改代码:

{

  "providers": {

    "my-gateway": {

      "base_url": "https://gateway.example.com/v1",

      "wire_style": "OpenAiCompatible",

      "auth": { "bearer": { "env_key": "MY_GATEWAY_API_KEY" } },

      "http_headers": { "X-Org": "my-team" },

      "extra_body": { "service_tier": "priority" }

    }

  }

}

wire_style 支持四种 API 方言,auth 支持 bearer/header/query(来自环境变量或 OAuth),再加上 http_headersextra_body 补任意字段。大部分中转、自建网关都能覆盖,不需要插件。

这对国内用户尤其有用:DeepSeek、通义、Kimi 这些国内模型大多提供 OpenAI 兼容接口,你只要在 catalog.json 里填一个 OpenAiCompatiblebase_url,就能让 Ante 直接跑国产模型,不用等官方预设。举个接 DeepSeek 的例子:

{

  "providers": {

    "deepseek": {

      "base_url": "https://api.deepseek.com/v1",

      "wire_style": "OpenAiCompatible",

      "auth": { "bearer": { "env_key": "DEEPSEEK_API_KEY" } }

    }

  }

}

然后 export DEEPSEEK_API_KEY=你的key,再 ante --provider deepseek -p "..." 就能用上。DeepSeek V4 的 API 便宜、代码能力强,配合 Ante 的轻量 harness,是成本敏感用户的一个很顺手的组合。官方自己那轮 82.7% 的评测,用的正是 DeepSeek V4 Flash 0731 这个开源模型,等于替你验证过这条路线是通的。

核心能力三:多 Agent、Skills、MCP、记忆

这些 Claude Code 有的它基本都有:

  • 多 Agent 编排:spawn 子 agent,协调复杂任务,支持独立、去中心化、中心化几种架构模式。
  • Skills / 自定义技能:和 Hermes、Claude Code 的 skill 类似,沉淀可复用的操作流程。
  • MCP:接 Model Context Protocol 工具。
  • 持久记忆:跨会话记住上下文。
  • Channel 集成ante gateway 一键跑成 Slack / Discord 机器人。

多 Agent 这块值得单独说一句:官方把编排模式分成三类——独立(各干各的)、去中心化(agent 之间直接通信)、中心化(一个主控分发)。对于"一人公司"场景,中心化编排(一个主 agent 拆任务、几个子 agent 并行执行)是最实用的,因为它和你脑子里"我该把活拆给谁"的思路一致。

举个具体场景:你想做一篇行业调研文章,中心化编排的思路就是一个主 agent 把任务拆成"搜资料""读论文""写初稿"三个子 agent,各自并行去跑,最后主 agent 汇总成文。相比你自己手动串三次工具调用,这套东西一旦跑通,就是一条能反复复用的流水线。Skills 和持久记忆在这里是放大器——把"搜资料的标准流程"沉淀成一个 skill,把"这个项目的代码结构"存进记忆,子 agent 每次起来都不需要从头解释上下文。

交互 TUI:几个顺手但容易被忽略的操作

Headless 适合自动化,但日常调试时你还是会进交互 TUI。官方 cookbook 里有几个操作,用熟了能显著提效:

  • @ 提及文件给上下文:输入时敲 @ 直接把文件、文件夹拖进当前上下文,比手动描述路径准得多。这是给 Agent 提供上下文最省事的方式。
  • Escape 打断和转向:Agent 跑偏了,按 Esc 打断它,立刻插一句新的指令把它拉回来。长任务里这个"随时接管"的能力很重要,否则你得等它一路错到底。
  • /providers 切换模型和 effort:不用退出会话,一个斜杠命令就能在当前对话里换 provider、换模型、调 thinking 档位。做 A/B 对比时尤其方便。
  • /connect 订阅登录:走 ChatGPT/Codex/Claude 订阅的 OAuth 登录,不用单独申请 API key。
  • /goal 目标原语:官方把 /goal 当作新的核心原语在推——它和"一步步拆指令"的交互不同,更偏向"给个目标让 agent 自己规划"。这个还在快速演化,值得留意。

另外别忘了 ante gateway:一条命令就能把 Ante 跑成一个 Slack 或 Discord 机器人,配合 server 模式(ante serve 走 JSONL 协议),你可以自己写个前端或编辑器插件把它接进去。对想做"内部工具 Agent"的人来说,这条路比从头写个 bot 框架省事得多。

实操:一个完整的 Headless 流程

假设你在一个 Rust 项目里,想让它把错误处理补上。完整流程是这样的:

# 1. 先让它在离线模式读代码、改代码

ante --offline-model ~/.ante/models/Qwen3.5-9B-Q4_K_M.gguf \

  -p "add error handling to src/main.rs and run cargo test"

# 2. 用云端强模型审一遍 diff

git diff | ante --provider anthropic --model claude-sonnet-5 \

  -p "review this diff for correctness and security issues"

运行时的典型输出:

┌ session ses_01ARZ3NDEKTSV4RRFFQ69G5FAV

│ turn 1 step 3 tool=read src/main.rs

│ turn 1 step 7 tool=edit src/main.rs (+24 -6)

│ turn 1 step 12 tool=run cargo test → 2 passed

└ done · 3 files changed · 2 tests passed

这个"离线改 + 云端审"的组合,是我觉得 Ante 对一人公司和成本敏感用户最实用的用法:本地小模型做体力活(改代码、跑测试),云端强模型做判断活(审 diff、定方向),两边成本都能压到最低。

一笔成本账

官方 82.7% 那轮评测,445 次试验花了约 68 美元推理费,折算下来一次任务尝试大约 0.15 美元。而离线模式跑本地 GGUF,单次任务的边际成本趋近于零(只有电费和硬件折旧)。对一个每天要跑几十上百次 agent 任务的内容工厂来说,这个差价不是小数目——所以策略很清晰:高频、机械、可回滚的活用本地模型;低频、关键、要判断的活用云端强模型

图3▲ 图3

一人公司内容工厂怎么用它

把上面的思路落到一个具体的 AI 内容生产线上,大概长这样:

  • 选题扫描:写个 cron,每隔几小时让一个离线 ante -p 实例去抓一批信源、按规则筛出候选选题。这一步量大、机械、不需要强模型,本地 GGUF 跑零成本。
  • 初稿写作:用云端 DeepSeek V4 或 Claude 跑 ante -p "根据这份大纲写一篇 3000 字文章",这是需要判断力和文笔的一步,交给强模型。
  • 审校查重:再开一个 ante -p,用另一个模型对初稿做事实核查和查重,双模型交叉,比单个模型自审靠谱。
  • 批量并行:因为单实例才 15MB,你可以在同一台机器上同时起十几个实例,每个跑一个独立子任务,而不用担心像 Claude Code 那样把内存吃爆。

关键点在于:这四步用的是同一个二进制、同一套配置,只是切 provider 而已。你不用为了"离线扫描"和"云端写作"去维护两套工具链——这是 Ante"不锁模型"带来的最实际的收益。

横向对比:Ante 到底排在什么位置

维度AnteClaude CodeCodexOpenClaw
体积/依赖~15MB 单二进制Node 运行时 + 依赖较重较重
原生离线✅ 内置 llama.cpp视版本
模型锁定17+ 预设 + 自定义绑 Anthropic绑 OpenAI多 provider
核心源码部分开源(SDK/协议)闭源闭源开源
平台macOS/Linux(Windows 走 WSL)全平台全平台全平台
多 Agent有限有限

这张表不是要分高下,而是帮你看清一个事实:Ante 用"核心闭源"换来了极致的轻和离线能力。如果你最在乎的是"轻、快、离线、不锁模型",它的短板(闭源、平台限制、Alpha 不稳定)是可以接受的代价;如果你最在乎"生态成熟、开箱即用、全平台",那它现在还不是你的菜。

踩坑提醒:这些地方要留个心眼

写这类工具,我习惯把坑摆在明处,比光夸它有用:

1. Telemetry 是 opt-out,不是 opt-in。 官方默认会发匿名遥测(随机安装标签,不含用户名/主机名/机器 ID),要关掉得设环境变量:

export ANTE_TELEMETRY=off

HN 上吵得最凶的就是这一点,很多人(包括 lrvick 那种较真的安全研究者)明确说 opt-out 不可接受,要求"选一次就永久生效"。如果你的机器会跑在不可控环境里,务必把这个变量写进 shell 配置和 CI,别等它哪天悄悄上报。

2. 核心 harness 不是完全开源的。 这是第二个大争议点。仓库里开源的是文档、协议(protocol-shape)、SDK(agent-sdk)、评测流水线(Harbor),但核心 harness 本体在 alpha 期间是闭源开发、以预编译二进制发布。GitHub 仓库 star 的"1300+"其实是给整个项目,而不是给一份你能审的源码。lrvick 的原话很尖锐:"你想让我给这个二进制神级权限访问我的电脑,还不让我看源码?"——如果你在意供应链安全,先放在沙箱或容器里跑,官方自己也这么建议(单二进制、依赖极少,正好适合进容器)。

3. Alpha 阶段,破坏性变更随时来。 命令、配置、协议都可能变,别把 ante -p 写死进生产流水线还不做版本锁定。用 ante update --version 钉住版本,升级前看 CHANGELOG。

4. Windows 裸机跑不了。 目前只支持 macOS 和 Linux,Windows 必须走 WSL。这是很多人装上就踩的坑。

5. 本地模型体验依赖模型质量。 离线模式牛不牛,最终取决于你喂的 GGUF 行不行。官方 82.7% 的成绩用的是 DeepSeek V4 Flash 0731 这种开源强模型,别指望一个 9B 小模型就能复现同样效果——本地小模型适合干简单、机械的活,复杂判断还是交给云端强模型。

6. 别只信官方 benchmark。 82.7% 是官方约束下测的(89 任务 × 5 次),它把每个结果锁定到具体构建、可审计,这点做得比很多项目诚实。但你自己的真实任务、真实代码库才是唯一标准——先用一个小仓库跑一遍,再决定要不要上生产。

7. 配置和模型文件的位置要记牢。 自定义 provider 写在 ~/.ante/catalog.json,本地 GGUF 模型默认放 ~/.ante/models/,会话和记忆也都在 ~/.ante 目录下。换机器迁移时,把这个目录打包走基本就齐了,别只拷一个二进制。另外 /goal 这类新原语还在实验阶段,别在关键流程里依赖它,等功能稳定、文档补全了再上。

到底该不该换掉 Claude Code

我的判断很直接:

该换的场景: 你要在容器/裸 Linux 里批量起 agent、内存和 I/O 是瓶颈;你有隐私合规要求必须离线;你被 Claude Code 的 Node 依赖和账户体系烦得不行;你想在一个工具里自由切换 12+ 家 provider 而不被锁定。

不该换的场景: 你深度依赖 Claude Code 的某个独家能力或生态插件;你对"核心闭源二进制"这个事本身不放心且不愿用沙箱;你在 Windows 裸机上不想折腾 WSL;你需要的是"开箱即用的最强单点体验"而非"轻量可控的底座"。

一句话总结:Ante 不是来把 Claude Code 打趴下的,它是在回答另一个问题——当 Agent 要被复制一千份、要离线跑、要零依赖部署时,harness 该怎么写。而这个问题,对正在搭"AI 内容工厂"或"一人公司 Agent 矩阵"的你来说,可能比"哪个模型更强"更实际。如果你正在纠结选型,我的建议是先花十分钟装一个,用 ante -p 在你自己一个真实小任务上跑一遍——十五分钟的实测,比看十篇评测都管用。

三步上手,今晚就能跑

  1. curl -fsSL | bash,然后先关遥测 export ANTE_TELEMETRY=off
  2. :先用你现有的 API key 跑一个 headless 任务,ante --provider openai --model gpt-5.5 -p "review my git diff",感受一下"零依赖、秒启动"的体验。
  3. :写一个 ~/.ante/catalog.json 接上你的国产模型或本地 GGUF,再用 ante --offline-model 试一次完全离线。三步走完,你就知道它到底适不适合你了。

最后再啰嗦一句安全提醒:因为核心是闭源二进制,第一次跑务必放在一个隔离环境(容器、虚拟机或临时用户)里观察一轮,确认它只访问该访问的东西,再放进你的主工作流。轻量不等于可以免审,权限越大的工具,越值得多花这十分钟。


参考来源:

- °2.1 持续评测) °讨论,含 telemetry 与闭源争议)

本文由AI辅助创作,经人工审核编辑发布

更多一人公司案例与工具,微信搜索「AI创业内参」关注我们