共计 5185 个字符,预计需要花费 13 分钟才能阅读完成。
我们知道 [[Anthropic]] 围绕着 [[Claude]] 模型发布了一系列客户端,包括在终端下使用的 [[Claude Code]],以及桌面版的 [[Claude Desktop]]。2026 年 4 月,Anthropic 又发布了一款 Claude 官方的 CLI 工具,叫做 ant。根据官方的介绍,这是专为 [[Claude API]] 设计的命令行客户端,可以在终端下像操作 Kubernetes 资源一样管理 Claude API 资源。
ant 和 Claude Code 最大的区别在于,ant 专注于管理 Claude API,而 Claude Code 像它的名字一样是一款专注于代码编写,修改代码的 Coding Agent。ant 更像 kubectl,它是在终端里管理 Claude API 资源(如 Agent、Session、Deployment、Environment、Skill),更适合自动化和 CI/CD。而 Claude Code 更像是一个在终端里工作的 AI 开发搭档,重点是读写文件、运行命令、修改项目代码,并在开发流程里持续协作。
虽然两者都可以直接调用 Claude API,但是如果你想把 Claude 的能力编排进系统,可以选择 ant。而如果你要做的是让 Claude 帮你完成代码编写测试,可以选择 Claude Code。ant 是 API 的运维工具,Claude Code 则是开发助手。
ant CLI 使用 Go 语言编写,以 MIT 协议开源,仓库地址在 github.com/anthropics/anthropic-cli。
安装
ant 提供了多种安装方式,可以按照不同的操作系统进行选择。
macOS 用户可以直接通过 Homebrew 安装:
brew install anthropics/tap/ant
Linux 或 WSL 环境下可以直接下载 release 包:
VERSION=1.10.0
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed -e 's/x86_64/amd64/' -e 's/aarch64/arm64/')
curl -fsSL "https://github.com/anthropics/anthropic-cli/releases/download/v${VERSION}/ant_${VERSION}_${OS}_${ARCH}.tar.gz" \
| sudo tar -xz -C /usr/local/bin ant
如果本地已经有 Go 1.22 或更高版本的环境,也可以直接使用 go install 安装:
go install github.com/anthropics/anthropic-cli/cmd/ant@latest
二进制文件会放置在 $(go env GOPATH)/bin 下,记得把这个路径加入 PATH。
安装完成之后可以执行 ant --version 验证。
认证
ant 支持两种认证方式,可以根据使用场景任意选择。
第一种是浏览器 OAuth 登录,适合本地开发:
ant auth login
这条命令会打开浏览器,让你登录 [[Claude Console]] 并选择组织和 Workspace,签发的 Token 会写入 $ANTHROPIC_CONFIG_DIR 目录下(默认在 ~/.config/anthropic/)。如果是远程主机没有浏览器,可以使用 ant auth login --no-browser,CLI 会打印授权 URL,并提示你将返回的 Code 粘贴回终端。
通过 --profile <name> 可以创建命名的 Profile,方便在多个 Workspace 之间切换:
ant auth login --profile work
ant profile activate work
ant --profile work models list
第二种是使用 API Key,适合 CI 或服务器场景:
export ANTHROPIC_API_KEY=sk-ant-api03-...
如果只是单次调用想覆盖默认 Key,可以使用 --api-key 参数。需要注意的是当环境变量中存在 ANTHROPIC_API_KEY 时,它会优先于任何 Profile 配置。
执行 ant auth status 可以查看当前使用的认证源、激活的 Profile 以及 Workspace,便于排查问题。
ant 适用场景
ant 把 Claude API 的每一种资源都映射成了子命令,所以非常适合下面这些场景。
第一个场景是 Managed Agents 的运维。Anthropic 2026 年推出了 [[Managed Agents]] 功能,提供云端沙箱、持久化会话以及内置的 bash、文件操作、Web 搜索等工具。ant 是管理这些资源的最自然方式,可以从终端直接创建 Agent、启动 Session、查询 Event 流。
第二个场景是把 API 资源版本化。Agent、Skill、Environment、Deployment 这些资源都可以写成 YAML 文件,提交到 Git 仓库,通过 CI 同步到 Claude API,实现 GitOps 风格的资源管理。
第三个场景是写脚本和自动化。相比 curl 加 jq 的组合,ant 的输入接受类 YAML 的语法,输出支持 JSON、JSONL、YAML、Pretty 多种格式,配合 --transform 可以用 GJSON 语法直接提取字段,组合到 Shell pipeline 中非常顺手。
第四个场景是与 Claude Code 配合。Claude Code 通过内置的 claude-api skill 已经理解了 ant 的使用方式,所以你可以用自然语言告诉 Claude Code「列出我最近的 Agent Session 并总结哪些出错了」,它会自动调用 ant,解析结构化输出再做推理。
如何使用
ant 的命令遵循 resource action 的模式,嵌套资源用冒号分隔:
ant <resource>[:<subresource>] <action> [flags]
| 资源 | 常用动作 | 说明 |
|---|---|---|
messages |
create |
发送消息 platform.claude |
models |
list, retrieve |
查看可用模型 |
beta:agents |
create, list, update, retrieve |
管理 Agent(Beta) |
beta:sessions |
create, stream |
会话管理(Beta) |
beta:sessions:events |
send, list, stream |
发送/读取会话事件 |
batches |
create, retrieve |
批量请求 |
下面通过几个例子说明常用的工作流。
发送一次 Messages 请求
最简单的调用就是给 Claude 发一条消息:
ant messages create \
--model claude-opus-4-8 \
--max-tokens 1024 \
--message '{role: user, content: "Hello, Claude"}'
可以看到结构化字段使用了类 YAML 的语法,不需要写一堆转义引号。返回的是完整 API 响应,stdout 是终端时会自动 pretty-print。
创建并运行一个 Agent
把 Agent 定义写到 YAML 文件 summarizer.agent.yaml:
name: Summarizer
model: claude-sonnet-4-6
system: |
You are a helpful assistant that writes concise summaries.
tools:
- type: agent_toolset_20260401
然后通过管道传给 ant 创建:
ant beta:agents create < summarizer.agent.yaml
返回的 JSON 里会包含 id 和 version,把 id 记录下来后续会用到。这个 YAML 文件可以直接 check 进 Git 仓库,更新时执行:
ant beta:agents update --agent-id agent_011CY... --version 1 < summarizer.agent.yaml
version 是乐观锁字段,需要传入上一次拿到的版本号。
启动 Session 与 Agent 对话
Agent 需要运行在一个 Environment 里,同样可以用 YAML 描述:
name: summarizer-env
config:
type: cloud
networking:
type: unrestricted
创建 Environment 并拿到 id 之后就可以启动 Session:
ant beta:sessions create \
--agent agent_011CY... \
--environment-id env_01595... \
--title "Summarization task"
向 Session 发送一条用户消息:
ant beta:sessions:events send \
--session-id session_01JZC... \
--event '{type: user.message, content: [{type: text, text: "Summarize the benefits of type safety in one sentence."}]}'
读取整段对话,可以用 --transform 直接提取每条消息的文本:
ant beta:sessions:events list \
--session-id session_01JZC... \
--transform 'content.0.text' --format auto --raw-output
如果想看实时流,把 list 换成 stream 即可:
ant beta:sessions:events stream --session-id session_01JZC...
文件引用与输出转换
ant 支持用 @ 前缀把文件内容内联到字符串字段里,二进制文件会自动 base64 编码。比如把一份 PDF 喂给 Messages API:
ant messages create \
--model claude-opus-4-8 \
--max-tokens 1024 \
--message '{role: user, content: [
{type: document, source: {type: base64, media_type: application/pdf, data: "@./scan.pdf"}},
{type: text, text: "Extract the text from this scanned document."}
]}' \
--transform 'content.0.text' --raw-output
--transform 使用 GJSON 语法,列表接口会对每一项分别应用,所以可以很方便地从列表中提取字段:
ant beta:agents list \
--transform "{id,name,model}" \
--format jsonl
配合 --raw-output 还可以把单值字段抓出来赋给 Shell 变量:
AGENT_ID=$(ant beta:agents create \
--name "My Agent" \
--model '{id: claude-sonnet-4-6}' \
--transform id --raw-output)
调试与补全
任何命令加上 --debug 都会把完整的 HTTP 请求和响应打印到 stderr,API Key 会被自动脱敏:
ant --debug beta:agents list
ant 还自带了 zsh、bash、fish、PowerShell 的补全脚本,例如 zsh 下:
ant @completion zsh > "${fpath[1]}/_ant"
与 Claude Code 协作
由于 Claude Code 通过 claude-api skill 内置理解了 ant 的用法,所以可以在 Claude Code 里直接用自然语言操作 Claude API 资源,例如:
- 列出我最近的 Agent Session,并总结哪些出错了
- 把
./reports下所有 PDF 上传到 Files API,并打印返回的 ID - 拉取 session_01… 的 Event,告诉我 Agent 卡在哪一步
Claude Code 会在后台调用 ant,解析结构化输出,再基于结果继续推理,整个过程不需要写一行胶水代码。
总结
ant 是 Anthropic 在 Managed Agents 发布后补齐的最后一块基础设施,使得 Claude API 资源的管理体验非常接近 kubectl 之于 Kubernetes。对于希望把 Claude 能力编排进生产系统的团队来说,ant 提供了从交互探索、脚本自动化到 GitOps 全链路的工具支持。
如果说 [[Claude Code]] 让 Claude 成为开发者身边的 Coding Agent,那么 ant 就是让 Claude API 资源进入 DevOps 工具链的关键一步。
参考

