AgentField AI 后端
将智能体函数变成可扩展、可观测的 REST 服务。
按维度查看评分与理由
证据显示:README 提到身份、访问策略、审计跟踪,但未提供实现细节;SECURITY.md 建议设置 API 密钥,但未说明默认权限;安装脚本会注册登录启动项,但未明确用户确认;依赖安全未提及;外部影响(如安装脚本执行)有部分说明;回滚机制未明确;来源归属未验证。扣分原因:缺乏具体实现证据,权限最小化、用户确认、数据流透明性等仅表面提及。
证据显示:README 描述功能一致,测试文件存在,但未提供失败消息的具体示例;依赖可用性未提及;自一致性较好,但依赖可用性和失败消息证据不足。扣分原因:依赖可用性未说明,失败消息未具体化。
证据显示:README 明确目标用户(开发者)和场景(构建、运行、扩展 AI 代理),能力边界有描述(如路由开销),触发方式(/agentfield 命令)明确,环境适配(macOS、Docker、K8s)有说明。扣分原因:能力边界和触发精度有描述但未深入,环境适配部分依赖外部文档。
证据显示:README 结构清晰,安装说明详细,命名稳定(AgentField),示例丰富,已知限制有提及(如路由开销),许可证为 Apache-2.0,但版本变更日志未提供,维护责任未明确。扣分原因:版本变更日志缺失,维护责任未明确。
证据显示:输出可用性高(REST API、SDK),边际价值明确(对比其他框架),但成本效益未量化。扣分原因:成本效益缺乏具体数据。
证据显示:README 中的声明部分有文档链接,但未提供独立验证;测试文件存在,但未覆盖所有声明;事实与推断未明确区分。扣分原因:声明可追溯性不足,交叉验证有限,事实与推断未分离。
- 安装脚本会注册登录启动项,用户需明确知晓并同意。
- 控制平面默认监听所有接口,未设置 API 密钥时存在安全风险。
- 依赖安全未提及,需审查依赖清单。
这个 Agent 能做什么,适合哪些场景?
AgentField 是一个开源控制平面,用于将 Python、Go 或 TypeScript 编写的智能体逻辑作为服务运行。开发者用 `@app.reasoner()` 或 `@app.skill()` 定义函数,`app.run()` 将其暴露为 REST 端点,并在启动时向控制平面注册。控制平面是无状态 Go 服务,负责跨智能体路由、工作流 DAG 跟踪、队列处理、重试和策略执行;其文档描述了基于 PostgreSQL 租约的持久队列。它还提供内存、异步 Webhook 与 SSE、人工审批、可观测性及带版本权重的发布能力。部署边界覆盖本机、Docker 和 Kubernetes,适合需要把多个智能体作为后端服务协调与运营的团队。
应用通过 Agent(...) 创建节点,并用 @app.reasoner() 注册 AI 推理函数或用 @app.skill() 注册确定性代码。函数可调用 app.ai() 获取 LLM 输出和结构化 Pydantic/Zod 结果,调用 app.call("other-agent.func") 经控制平面路由到其他节点,或用 app.discover(tags=[...]) 查找节点能力。app.run() 自动提供诸如 POST /api/v1/execute/{agent}.{func} 的执行接口;异步调用可使用 POST /api/v1/execute/async/{agent}.{func},状态可经 Webhook、SSE 或执行查询接口获取。长任务可用 app.pause() 暂停等待人工审批,控制平面记录执行 DAG、结构化日志、指标和审计相关数据。CLI 还可用 af install <repo-url> 安装并注册现有节点,用 af run 启动,用 af call 调用。
- 后端团队希望把 Python 编写的研究函数拆分为递归子问题,并通过
app.call()并行分发到多个节点时。 - 保险或风控团队需要在低置信度决策时以
app.pause()挂起任务,等待人工审批后继续执行时。 - 平台工程团队需要让容器或 Kubernetes 中的多个智能体自动注册,并通过 REST 进行服务间调用时。
- 开发工具团队想把 Claude Code、Codex、Gemini CLI 或 OpenCode 的多轮编码任务通过
app.harness()包装为可调用能力时。 - 运维团队需要异步运行长任务,并通过 Webhook、SSE、执行 DAG 和 Prometheus
/metrics观察执行状态时。
这个 Agent 有哪些优点和局限?
- 将装饰器定义的 Python、Go 或 TypeScript 函数自动暴露为 REST 执行接口,减少为每个智能体单独搭建 API 层的工作。
- 跨节点
app.call()、自动注册和能力发现构成服务网格式协作,并记录工作流 DAG。 - 控制平面提供 PostgreSQL 持久队列、租约处理、重试、异步 Webhook 与 SSE,覆盖长时间和故障恢复场景。
- 内置 W3C DID、Ed25519 签名、可验证凭证和基于标签的策略,面向需要智能体身份与审计的部署。
- 跨智能体跳转的文档开销约为每跳 100–200ms;细粒度、低计算量的调用链会受此延迟影响。
- 要获得持久队列和控制平面功能,需要部署其 Go 控制平面及 PostgreSQL 队列架构,而不只是安装一个 SDK。
- Harness 依赖外部编码工具提供商,包括 Claude Code、Codex、Gemini CLI 或 OpenCode;不同提供商的可用性和成本需自行管理。
- README 描述可通过 LiteLLM 使用 100 多个 LLM,但未在此处给出完整模型配置、供应商凭据或各模型的兼容性矩阵。
如何安装或部署这个 Agent?
基础 Python 路径:
af init my-agent --defaults
cd my-agent && pip install -r requirements.txt在终端 1 运行:af server
在终端 2 运行:python main.py
也可安装 CLI:curl -fsSL https://agentfield.ai/install.sh | bash。Go 初始化后可运行 go run .;TypeScript 初始化后可运行 npm install && npm run dev。基础示例未列出必需凭据;通过 af install 安装节点时,如节点需要共享密钥,CLI 会提示输入,例如 OPENROUTER_API_KEY。
如何使用这个 Agent?
在控制平面和节点均运行后,调用示例端点:
curl -X POST http://localhost:8080/api/v1/execute/my-agent.demo_echo -H "Content-Type: application/json" -d '{"input": {"message": "Hello!"}}'现有节点可按以下方式安装、启动和调用:
af install https://github.com/Agent-Field/SWE-AF
af run swe-planner
af call swe-planner.build --in '{"goal": "Add JWT auth", "repo_url": "https://github.com/user/my-repo"}'要编写节点,可在代码中定义 Agent、添加 @app.reasoner() 函数并调用 app.run()。
这个 Agent 与同类方案有什么区别?
仓库将 AgentField 定位为生产运行层,而非替代 LangChain、CrewAI、PydanticAI 或 OpenAI Agents SDK 等编写智能体逻辑的框架。相较 Temporal、Airflow 等工作流引擎,它强调自动生成 REST 接口、跨智能体发现与调用、身份策略和智能体舰队可观测性;相较 n8n、Zapier 等可视化构建器,它强调以 Python、Go 或 TypeScript 函数直接编写节点。
常见问题
它是否只能用于某一家模型供应商?
AIConfig(model="anthropic/claude-sonnet-4-20250514") 的配置;实际可用模型和凭据仍取决于部署配置。长时间任务或节点崩溃会怎样?
是否能限制编码 Harness 的开销?
max_budget_usd=3.0 预算上限和 max_turns=100 回合限制;仓库未说明整体托管或模型费用。