桃子桃子快讯
返回首页
工具

Agentrc:用 Dockerfile 式规范打包与治理 AI Agent

开发者推出 Agentrc 规范,以类似 Dockerfile 的 Agentfile 声明 Agent 身份、能力和策…

2026.07.03 · 周五4 分钟阅读

AI Agent 的形态正变得碎片化:不同框架、不同模型、不同部署环境之间缺乏统一的「打包」与「治理」约定。近日在 Hacker News 上亮相的开源项目 Agentrc,试图把容器世界里 Dockerfile 的思路搬到 Agent 领域,用一个声明式文件描述 Agent 的全部属性,再编译成标准的 OCI 制品跨平台分发。

核心思路:把 Agent 当成容器来打包

Agentrc 的核心抽象是「Agentfile」,其写法刻意沿用了 FROM、COPY、CMD、HEALTHCHECK 等熟悉的 Dockerfile 关键字,并新增了四个面向 Agent 的原生关键字:

  • IDENTITY:声明 Agent 名称、版本、作者与描述。
  • CAPABILITY:声明能力范围,例如 text、tool-use 等。
  • SOP:系统提示词(System of Prompt),定义 Agent 的目标与边界。
  • POLICY:以类型化方式「请求」模型、工具超时、网络出口等资源。

一个最简示例展示了从基础镜像、身份、能力到本地工具挂载的完整流程,编译后会产出带有 ai.agentrc.* 命名空间标签的 OCI 制品,行为上与普通容器镜像一致,可以推送到任意 OCI 镜像仓库。

策略不是口号,而是可审计的契约

Agentrc 强调「Policy, not hope」。Agentfile 中的每一行 POLICY 都是一次显式请求,平台可以「授予、收窄或拒绝」,最终由 Cedar 策略引擎以「默认拒绝」的方式执行。

这意味着:

  • 模型选用:POLICY model.name claude-sonnet-4 只是一种请求,运行时可被替换。
  • 工具超时:POLICY agent.tool_timeout 30s 可被平台强制覆盖为更严格的阈值。
  • 网络出口:POLICY network dns:api.example.com:443 受 Cedar 规则约束。

安全团队因此可以在不接触 Agent 源码的前提下,对其权限边界做形式化审查。

一份制品,三种运行环境

Agentrc 把「声明」与「执行」严格分离:Agentfile 只表达意图,标签才是契约。同一份 OCI 制品可通过 arc run --backend 翻译为不同后端的部署形态:

  • 本地后端:直接以 dry-run 方式打印将执行的配置。
  • AWS Bedrock:生成 CreateAgentRuntime 所需的 JSON。
  • Kubernetes:生成对应的 deploy manifests。

项目作者明确把上述翻译器定位为「参考实现」,在目标平台原生支持 ai.agentrc.* 标签之前,作为概念验证使用,尚未达到生产级别。

安装与现状

CLI 工具 agentrc(别名 arc)提供 init、lint、build、run、push 等子命令,可通过一行脚本、Homebrew 或 Go 1.25+ 安装。项目以 Working Draft 0.1.0-draft.6 形式发布,目前包含四个关键字、/mnt 工具挂载约定、OCI 标签规范和 Cedar 执行机制,密钥管理被列为下一阶段议题。

整体来看,Agentrc 仍处于早期个人项目阶段,生态适配与平台原生支持均待建立,但其把「可治理」作为一等公民的设计思路,对正在快速膨胀的 Agent 工程化议题提供了一个值得关注的切入点。

信源