Agent-Field/agentfield

GitHub: Agent-Field/agentfield

AgentField 是一个开源的 AI Agent 控制平面框架,将 AI Agent 封装为可扩展、可观测且具备身份认证能力的微服务。

Stars: 1192 | Forks: 182

AgentField - The AI Backend # AI Backend ### **像构建和扩展 API 一样构建和扩展 AI agent。部署、观测与验证。** *AI 已经超越了聊天机器人和提示词编排器。后端 agent 需要后端基础设施。* [![Stars](https://img.shields.io/github/stars/Agent-Field/agentfield?style=flat&logo=github&logoColor=white&color=d4a24a&labelColor=0c0b09)](https://github.com/Agent-Field/agentfield/stargazers) [![License](https://img.shields.io/badge/license-Apache%202.0-d4a24a.svg?style=flat&labelColor=0c0b09)](LICENSE) [![Downloads](https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2Fsantoshkumarradha%2Fd98e2ad73502b4075f6a5f0ae4f5cae5%2Fraw%2Fbadge.json&style=flat&logo=download&logoColor=white&labelColor=0c0b09&cacheSeconds=3600)](https://github.com/Agent-Field/agentfield) [![Last Commit](https://img.shields.io/github/last-commit/Agent-Field/agentfield?style=flat&logo=git&logoColor=white&color=d4a24a&labelColor=0c0b09)](https://github.com/Agent-Field/agentfield/commits/main) [![Discord](https://img.shields.io/badge/discord-join%20us-d4a24a.svg?style=flat&labelColor=0c0b09&logo=discord&logoColor=white)](https://discord.gg/aBHaXMkpqh) **[文档](https://agentfield.ai/docs/learn?utm_source=github-readme&utm_medium=referral)** · **[快速开始](https://agentfield.ai/docs/learn/quickstart?utm_source=github-readme&utm_medium=referral)** · **[Python SDK](https://agentfield.ai/docs/reference/sdks/python?utm_source=github-readme&utm_medium=referral)** · **[Go SDK](https://agentfield.ai/docs/reference/sdks/go?utm_source=github-readme&utm_medium=referral)** · **[TypeScript SDK](https://agentfield.ai/docs/reference/sdks/typescript?utm_source=github-readme&utm_medium=referral)** · **[REST API](https://agentfield.ai/docs/reference/sdks/rest-api?utm_source=github-readme&utm_medium=referral)** · **[示例](#built-with-agentfield)** · **[Discord](https://discord.gg/aBHaXMkpqh)**
AgentField 是一个开源控制平面,使 AI agent 可以被你技术栈中的任何服务调用——前端、后端、其他 agent、cron 任务——就像调用任何其他 API 一样。你可以用 Python、Go 或 TypeScript 编写 agent 逻辑。AgentField 将其转化为生产级基础设施:路由、协调、内存、异步执行和加密审计追踪。每个函数都变成一个 REST endpoint。每个 agent 都获得一个加密身份。每个决策都是可追溯的。 ``` from agentfield import Agent, AIConfig from pydantic import BaseModel app = Agent( node_id="claims-processor", version="2.1.0",# Canary deploys, A/B testing, blue-green rollouts ai_config=AIConfig(model="anthropic/claude-sonnet-4-20250514"), ) class Decision(BaseModel): action: str# "approve", "deny", "escalate" confidence: float reasoning: str @app.reasoner(tags=["insurance", "critical"]) async def evaluate_claim(claim: dict) -> dict: # Structured AI judgment - returns typed Pydantic output decision = await app.ai( system="Insurance claims adjuster. Evaluate and decide.", user=f"Claim #{claim['id']}: {claim['description']}", schema=Decision, ) if decision.confidence < 0.85: # Human approval - suspends execution, notifies via webhook, resumes when approved await app.pause( approval_request_id=f"claim-{claim['id']}", approval_request_url=f"https://internal.acme.com/approvals/claim-{claim['id']}", expires_in_hours=48, ) # Route to the next agent - traced through the control plane await app.call("notifier.send_decision", input={ "claim_id": claim["id"], "decision": decision.model_dump(), }) return decision.model_dump() app.run() # 这一行代码暴露了:POST /api/v1/execute/claims-processor.evaluate_claim # Agent 会自动向 control plane 注册,获取加密身份,并且每次 # 执行都会产生可验证、防篡改的审计追踪。 ``` ## 快速开始 ``` curl -fsSL https://agentfield.ai/install.sh | bash # Install CLI af init my-agent --defaults # Scaffold agent cd my-agent && pip install -r requirements.txt ``` ``` af server # Terminal 1 → Dashboard at http://localhost:8080 python main.py # Terminal 2 → Agent auto-registers ``` ``` # 调用你的 Agent curl -X POST http://localhost:8080/api/v1/execute/my-agent.demo_echo \ -H "Content-Type: application/json" \ -d '{"input": {"message": "Hello!"}}' ```
Go / TypeScript / Docker ``` # Go af init my-agent --defaults --language go && cd my-agent && go run . # TypeScript af init my-agent --defaults --language typescript && cd my-agent && npm install && npm run dev # Docker (仅限 control plane) docker run -p 8080:8080 agentfield/control-plane:latest ``` 适用于 Docker Compose、Kubernetes 和生产环境设置的[部署指南 →](https://agentfield.ai/docs/reference/deploy?utm_source=github-readme&utm_medium=referral)。
## 你将获得什么 **构建** - Python、Go 或 TypeScript。每个函数都变成一个 REST endpoint。 - **[推理器与技能](https://agentfield.ai/docs/build/building-blocks/reasoners?utm_source=github-readme&utm_medium=referral)** - `@app.reasoner()` 用于 AI 判断,`@app.skill()` 用于确定性代码 - **[结构化 AI](https://agentfield.ai/docs/reference/sdks/python?utm_source=github-readme&utm_medium=referral)** - `app.ai(schema=MyModel)` → 从任何 LLM 获取类型化的 Pydantic/Zod 输出 - **[Harness](https://agentfield.ai/docs/build/intelligence/harness?utm_source=github-readme&utm_medium=referral)** - `app.harness("Fix the bug")` 将多轮任务分派给 Claude Code、Codex、Gemini CLI 或 OpenCode - **[跨 Agent 调用](https://agentfield.ai/docs/build/coordination/cross-agent-calls?utm_source=github-readme&utm_medium=referral)** - `app.call("other-agent.func")` 通过控制平面路由,并带有完整追踪 - **[发现](https://agentfield.ai/docs/reference/sdks/python?utm_source=github-readme&utm_medium=referral)** - `app.discover(tags=["ml*"])` 在网格中发现 agent 和能力。`tools="discover"` 允许 LLM 自动调用它们。 - **[记忆](https://agentfield.ai/docs/build/coordination/shared-memory?utm_source=github-readme&utm_medium=referral)** - `app.memory.set()` / `.get()` / `.search()` - KV + 向量搜索,四种范围,无需 Redis **运行** - 面向非确定性 AI 的生产级基础设施。 - **[异步执行](https://agentfield.ai/docs/build/execution/async?utm_source=github-readme&utm_medium=referral)** - 通过 webhook、SSE 流式传输、重试实现的即发即弃。无超时限制 - agent 可以运行数小时或数天。 - **[人机交互](https://agentfield.ai/docs/build/execution/human-in-the-loop?utm_source=github-readme&utm_medium=referral)** - `app.pause()` 暂停执行以等待人工批准。崩溃安全、持久化、可审计。 - **[金丝雀部署](https://agentfield.ai/docs/learn/features?utm_source=github-readme&utm_medium=referral)** - 流量权重路由、A/B 测试、蓝绿部署。将 agent 版本以 5% → 50% → 100% 的比例逐步推出。 - **[可观测性](https://agentfield.ai/docs/learn/features?utm_source=github-readme&utm_medium=referral)** - 自动生成工作流 DAG、Prometheus `/metrics`、结构化日志、执行时间线。 **治理** - AI agent 的 IAM。身份、访问控制和审计追踪 - 内置。 - **[加密身份](https://agentfield.ai/docs/build/governance/identity?utm_source=github-readme&utm_medium=referral)** - 每个 agent 都获得一个 W3C DID(去中心化标识符)——而不是共享的 API 密钥。Agent 之间相互认证的方式类似于服务之间使用 mTLS 进行认证,但使用的是随 agent 携带的加密签名。 - **[可验证凭证](https://agentfield.ai/docs/build/governance/credentials?utm_source=github-readme&utm_medium=referral)** - 每次执行的防篡改收据。可离线验证:`af vc verify audit.json`。 - **[策略执行](https://agentfield.ai/docs/build/governance/policy?utm_source=github-readme&utm_medium=referral)** - 带有加密验证的基于标签的策略门控。“只有带有 'finance' 标签的 agent 才能调用此功能” - 由基础设施强制执行,而非提示词。 [查看完整的生产就绪功能集 →](https://agentfield.ai/docs/learn/features?utm_source=github-readme&utm_medium=referral)
90+ Production Features

▼ 点击展开完整功能

#### AI & LLM | 功能 | 方式 | |---|---| | 结构化输出 | `app.ai(schema=MyModel)` | | 多轮编程 agent | `app.harness("task", provider="claude-code")` | | LLM 自动发现 agent 和工具 | `app.ai(tools="discover")` | | 多模态(文本、图像、音频) | `app.ai("Describe", image_url="...")` | | 流式响应 | `app.ai("...", stream=True)` | | 通过 LiteLLM 支持 100+ LLMs | `AIConfig(model="anthropic/claude-sonnet-4-20250514")` | | Temperature, max tokens, format | `app.ai(..., temperature=0.2)` | #### Agent 网格与发现 | 功能 | 方式 | |---|---| | 带有追踪的跨 agent 调用 | `app.call("agent.func", input={...})` | | 按标签发现 agent(通配符) | `app.discover(tags=["ml*"])` | | 按健康状态发现 | `app.discover(health_status="active")` | | Agent 路由器(命名空间) | `AgentRouter(prefix="billing")` | | 自动上下文传播 | 工作流、会话、参与者 ID 转发 | | 并行 agent 执行 | `asyncio.gather(app.call(...), ...)` | | 启动时自动注册 | 零配置服务网格 | #### 执行引擎 | 功能 | 方式 | |---|---| | 同步执行 (REST) | `POST /api/v1/execute/{agent}.{func}` | | 异步(即发即弃) | `POST /api/v1/execute/async/{agent}.{func}` | | Webhook + HMAC-SHA256 签名 | `AsyncConfig(webhook_url="...", secret="...")` | | SSE 流式传输(实时) | `/api/v1/execute/stream/{id}` | | 无超时限制(小时/天) | 控制平面允许无限时长 | | 执行轮询 | `GET /api/v1/executions/{id}` | | 批量状态检查 | `POST /api/v1/executions/batch-status` | | 执行中途进度更新 | 长任务期间的中间 payload | | 自动重试 + 指数退避 | 透明 - 控制平面处理 | | 背压 + 队列深度限制 | 公平调度,熔断器 | | 持久化队列 | 原子租约处理 | #### 记忆(分布式状态) | 功能 | 方式 | |---|---| | Key-value 存储 | `app.memory.set(key, value)` / `.get(key)` | | 向量搜索(语义) | `app.memory.search(embedding, top_k=5)` | | 四种范围 | Global, agent, session, run | | 响应式记忆事件 | `@app.memory.on_change("order_*")` | | 元数据过滤 | 按元数据过滤存储的值 | | 零依赖 | 内置于控制平面 - 无需 Redis | #### 人机交互 | 功能 | 方式 | |---|---| | 持久化暂停/恢复 | `await app.pause(reason="...")` | | 带有 UI 的批准工作流 | `approval_request_url` 供审阅者使用 | | 可配置超时 | `expires_in_hours=24` + 自动升级 | | 崩溃安全状态 | 在 agent 重启后依然存活 | #### 金丝雀部署与版本控制 | 功能 | 方式 | |---|---| | 流量权重路由 | 5% → 50% → 100% 推出 | | A/B 测试 | 50/50 分流,带有 `X-Routed-Version` | | 蓝绿部署 | 瞬间切换权重,零停机 | | 每个版本的健康追踪 | 不健康的版本自动移除 | | Agent 生命周期状态 | pending → starting → ready → degraded → offline | #### 身份与治理 | 功能 | 方式 | |---|---| | 每个 agent 的加密身份 | 自动生成的 W3C DID + Ed25519 密钥 | | 可验证凭证 | 每次执行的防篡改收据 | | 离线 VC 验证 | `af vc verify audit.json` | | 基于标签的访问策略 | 调用者 → 目标标签上的 ALLOW/DENY 规则 | | 加密签名请求 | 跨 agent 调用上的 Ed25519 签名 | | VC 层级(3 层) | Platform → Node → Function 控制 | | Agent 备注(审计日志) | `app.note("Decision", tags=["critical"])` | | 不可否认性 | 行为的加密证明 | | 权限请求工作流 | 访问被拒绝时自动创建 | #### 可观测性与集群管理 | 功能 | 方式 | |---|---| | 自动 DAG 可视化 | 仪表板中的工作流图 | | Prometheus 指标 | 开箱即用的 `/metrics` | | 结构化 JSON 日志 | SDK 自动生成 | | 执行时间线 | 按时间顺序的决策追踪 | | 健康检查(K8s-ready) | `/health`, `/ready` endpoint | | 关联 ID | `X-Workflow-ID`, `X-Execution-ID` | | Workflow DAG API | `GET /api/v1/workflows/{id}/dag` | | Agent 心跳监控 | 自动健康状态转换 | #### Harness(多轮编程 Agent) | 功能 | 方式 | |---|---| | 4 个 provider | Claude Code, Codex, Gemini CLI, OpenCode | | Schema 约束输出 | `schema=ResultModel` (Pydantic/Zod) | | 成本上限 | `max_budget_usd=3.0` | | 轮次限制 | `max_turns=100` | | 工具访问控制 | `tools=["Read", "Write", "Bash"]` | | 环境注入 | `env={"KEY": "value"}` | | 系统提示词覆盖 | `system_prompt="..."` | | 多层输出恢复 | 修复修饰 → 重试 → 完全重试 | #### 连接器 API(集群管理) | 功能 | 方式 | |---|---| | 远程 agent 管理 | `/connector/reasoners` | | 版本流量控制 | `/connector/.../weight` | | Bearer token 认证 | `AGENTFIELD_CONNECTOR_TOKEN` | | 内网隔离部署 | 仅出站 WebSocket | #### 开发者体验 | 功能 | 方式 | |---|---| | CLI 脚手架 | `af init my-agent --defaults --language python|go|typescript` | | 带仪表板的本地开发 | `af server` → http://localhost:8080 | | 热重载 | `af dev` 自动检测变更 | | 基于装饰器的自动 REST | 每个 `@app.reasoner()` → `POST /api/v1/execute/...` | | Python, Go, TypeScript SDK | 每种语言的原生模式 | | MCP server 集成 | `af add --mcp --url ` | | 配置存储 API | `POST /api/v1/configs/:key` - 数据库支持 | | Docker + Kubernetes 就绪 | 无状态控制平面,水平扩展 | [详细探索所有功能 →](https://agentfield.ai/docs/learn/features?utm_source=github-readme&utm_medium=referral)
## 基于 AgentField 构建
Autonomous Engineering Team
Autonomous Engineering Team
One API call spins up PM, architect, coders, QA, reviewers - hundreds of coordinated agents that plan, build, test, and ship.

View project →
Deep Research Engine
Deep Research Engine
Recursive research backend. Spawns parallel agents, evaluates quality, generates deeper agents, and recurses -10,000+ agents per query.

View project →
Reactive MongoDB Intelligence
Reactive MongoDB Intelligence
Atlas Triggers + agent reasoning. Documents arrive raw and leave enriched - risk scores, pattern detection, evidence chains.

View project →
Autonomous Security Audit
Autonomous Security Audit
250 coordinated agents trace every vulnerability source-to-sink and adversarially verify each finding. Confirmed exploits, not pattern flags.

View project →
[查看所有示例 →](https://agentfield.ai/docs/learn/examples?utm_source=github-readme&utm_medium=referral) ## 查看实际运行效果
AgentField Dashboard
Real-time workflow DAGs · Execution traces · Agent fleet management · Audit trails
## 架构
AgentField Architecture
控制平面是一个无状态 Go 服务。Agent 可以从任何地方连接——你的笔记本电脑、Docker、Kubernetes。它们注册能力,控制平面在它们之间路由调用,将执行追踪为 DAG,并执行策略。[完整架构文档 →](https://agentfield.ai/docs/learn/architecture?utm_source=github-readme&utm_medium=referral) ## AgentField 适合你吗? **适合,如果你**正在构建超越聊天机器人或小型多 agent 工作流的应用。如果你的 agent 正在后端系统中做出决策,如批准退款、处理索赔、协调研究或运行代码,并且你需要路由、异步执行、追踪和审计追踪。 **暂不适合,如果你**仍处于聊天机器人或早期工作流阶段,像Chain 或 CrewAI 这样的工具非常适合探索和迭代。当你开始向更大规模、生产级的 agent 系统推进时,那就是我们要登场的时候了。 ## 了解更多 - **[The AI Backend](https://agentfield.ai/blog/ai-backend?utm_source=github-readme&utm_medium=referral)** - 我们关于为什么每个后端都需要一个推理层的论点 - **[AI 后端的 IAM](https://agentfield.ai/blog/iam-ai-backends?utm_source=github-readme&utm_medium=referral)** - 为什么 agent 需要身份,而不是 API 密钥 - **[vs Agent 框架](https://agentfield.ai/docs/learn/vs-frameworks?utm_source=github-readme&utm_medium=referral)** - AgentField 如何与 LangChain、CrewAI 和工作流引擎进行比较 - **[完整文档](https://agentfield.ai/docs/learn?utm_source=github-readme&utm_medium=referral)** ## 社区
[![Discord](https://img.shields.io/badge/Join%20Discord-d4a24a?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/aBHaXMkpqh) [![Twitter](https://img.shields.io/badge/Follow%20on%20X-0c0b09?style=for-the-badge&logo=x&logoColor=white)](https://x.com/agentfield_ai) **[GitHub Issues](https://github.com/Agent-Field/agentfield/issues)** · **[文档](https://agentfield.ai/docs/learn?utm_source=github-readme&utm_medium=referral)** · **[示例](https://agentfield.ai/docs/learn/examples?utm_source=github-readme&utm_medium=referral)**
## 许可证 [Apache 2.0](LICENSE)
标签:AgentField, AI后端, AI工程化, API构建, API集成, DLL 劫持, DNS解析, EVTX分析, Go SDK, LLM应用开发, Python SDK, REST API, Typecript SDK, 人工智能, 企业级AI, 可扩展性, 可观测性, 基础设施, 大语言模型, 子域名突变, 开源项目, 微服务架构, 日志审计, 智能体框架, 服务编排, 用户模式Hook绕过, 自定义请求头, 请求拦截, 身份感知, 逆向工具