[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fPR_iw8pxROtS71fZ0tTQqLFOObrYLW_a0TiSdZRkNTA":3},{"item":4,"related":47},{"id":5,"type":6,"title":7,"slug":8,"summary":9,"body":10,"coverUrl":11,"productScreenshots":12,"productLinks":13,"authorName":14,"authorUrl":15,"authorSubject":16,"category":17,"tags":22,"sourceLabel":39,"sourceName":39,"sourceUrl":39,"status":40,"seoTitle":39,"seoDescription":39,"canonicalUrl":39,"isFeatured":41,"sno":42,"sortOrder":43,"publishedAt":44,"updatedAt":45,"createdAt":46},"0e852b5f-2e67-4b3b-b05e-3c32af8dcd6f","article","Agent网关为什么成了企业标配？","ai-agent-gateway-mcp-governance","当成千上万个内部工具都开放给 Agent，谁能调什么、怎么审计就成了大问题。","当公司里只有一个 AI Agent、接三五个工具时，一切都好说。但当 Uber、Amazon 这样的公司把成千上万个内部接口都开放给 Agent 使用时，问题就来了：谁有权调用哪个工具？调用记录怎么审计？出事了怎么追责？\n\n2026 年，行业给出的答案高度一致——在 Agent 和工具之间，架一层「网关」。\n\n## MCP 解决了连接，没解决治理\n\n先回顾概念。MCP（模型上下文协议）像 USB-C，让 AI 能统一地连上各种工具。它极大降低了「接工具」的成本，但它 deliberately 不管一件事：**治理**。工具定义会直接喂给模型，工具服务谁都能部署，中间没有一个「执行前的检查点」。\n\nhttps:\u002F\u002Ffoundit.cn\u002Farticle\u002Fmcp-ai-usb-c-moment\n\n在小规模下这没问题。可一旦你有几十上百个 MCP 服务、多个团队、还有合规要求，问题就集中爆发：凭证散落各处（每个服务一套 auth）、工具太多塞爆模型的上下文窗口、没有统一的权限和审计。这时候，「网关 + 注册表」就成了必然。\n\n## 网关做什么：Agent 世界的「控制平面」\n\n把网关理解成所有 Agent 流量的统一入口和守门人。它通常和一个「注册表」（Registry，记录有哪些工具可用）配合，构成控制平面：\n\n- **鉴权与最小权限**：在网关层判断「这个 Agent 能不能在此刻、用这些参数、调这个工具」，而不是在每个应用边界各写一遍。\n- **审计**：所有调用留痕，可追溯、可回放。\n- **脱敏**：请求发往外部模型前，先在网关抹掉 PII（个人信息）和内部标识。\n- **按需暴露工具**：只把当前 Agent 真正需要的工具喂给它，缓解上下文膨胀。\n\nUber 的做法很典型：他们建了 MCP 网关和注册表作为控制平面，把成千上万个内部接口自动暴露成 MCP 工具，所有 Agent 流量都走一个 Go 写的代理，先做 PII 脱敏再放行，每周有数万次 Agent 执行经过它。\n\n## 关键设计原则：写操作要「确定性」\n\n一个反复被强调的原则是：**推理层和动作层要分开**。大模型负责「想」（reasoning），但真正有副作用的「做」（mutation、写操作）必须放在确定性的基础设施里，由网关做鉴权和控制，而不是任由模型的概率性输出直接触发。\n\n```mermaid\nflowchart TD\n    A[Agent 推理层\u003Cbr\u002F>决定要调什么] --> B[网关 Gateway]\n    B --> C{鉴权 + 策略检查}\n    C -->|通过| D[脱敏 PII]\n    C -->|拒绝| X[阻断并记录]\n    D --> E[注册表: 定位工具]\n    E --> F[MCP Server 执行]\n    F --> G[审计日志]\n    style X fill:#c0392b,color:#fff\n```\n\n## 一个最小示意的策略配置\n\n网关的核心是「策略」。用伪配置表达「只有客服 Agent 能查订单，且必须带租户 ID」大致是这样：\n\n```yaml\npolicies:\n  - agent: \"support-agent\"\n    allow_tools: [\"order.read\"]\n    require_params: [\"tenant_id\"]     # 缺少则拒绝\n    redact: [\"customer.phone\", \"customer.email\"]  # 出网关前脱敏\n  - agent: \"*\"\n    deny_tools: [\"payment.refund\"]    # 退款一律禁止 Agent 自主执行\n```\n\n思路是「默认拒绝、显式放行」，把危险的写操作（如退款）从 Agent 自主能力里彻底拿掉。\n\n## 取舍与边界\n\n- **网关是额外一跳**，会带来一点延迟和运维成本，但换来的是可控和可审计，对企业几乎是必需的。\n- **幂等性很重要**：Agent 会重试，写操作要用幂等键，避免「重试导致重复退款」这类事故。\n- **别把治理逻辑塞进提示词**：靠 prompt 让模型「自觉守规矩」不可靠，规则要落在确定性的网关里。\n- 小团队、个人项目未必需要完整网关，但「有副作用的动作要有检查点」这个原则任何规模都适用。\n\n## Tips\n- 工具超过一把、或有多团队\u002F合规要求时，就该考虑引入网关 + 注册表。\n- 把鉴权、审计、脱敏统一收敛到网关层，别在每个应用里各写一套。\n- 严格区分「读」和「写」：读可以放开些，写必须过网关、带幂等键、可审计。\n- 用「默认拒绝、显式放行」的策略模型，危险操作直接从 Agent 能力里移除。\n- 记住这条准则：让模型负责思考，让确定性基础设施负责执行。","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-19\u002F83ff5d2f-70e3-4012-a71d-bac22e1541f2.jpg",[],[],"Foundit AI","https:\u002F\u002Ffoundit.cn","f39339b1-aaa6-4e86-b0c2-a6e6a21113b5",{"id":18,"name":19,"slug":20,"description":21},"6179d3b6-dc34-4483-9ded-3cd9f1b37a47","科普","abbreviation","介绍各领域新兴概念",[23,27,31,35],{"id":24,"name":25,"slug":26},"0848beb4-db26-4fb8-b391-f852a11be192","AI编程","ai-coding",{"id":28,"name":29,"slug":30},"d2513b48-43d7-49ba-adac-6d09366f751f","内容由AI生成","gen-by-ai",{"id":32,"name":33,"slug":34},"7c76bfc2-f80f-4ee0-a95d-27bd8708b434","技术","slug",{"id":36,"name":37,"slug":38},"4c2bbea6-eab7-40a8-8447-1de478ff7749","分析","analyse",null,"published",false,73,0,"2026-07-20T00:00:00.000Z","2026-07-19T17:54:58.419Z","2026-07-19T17:10:44.985Z",[48,57,66],{"id":49,"type":6,"title":50,"slug":51,"summary":52,"coverUrl":53,"authorName":14,"sno":54,"publishedAt":55,"createdAt":56},"525e9d4d-50ba-48c4-be55-4810590d714b","AI Agent 可观测性：如何知道它到底在哪一步出错","genai-agent-observability-with-opentelemetry","Agent 的一次回答可能经过多次模型调用、检索、工具执行和重试。本文从日志、指标与 Trace 的分工讲起，介绍 OpenTelemetry 的 GenAI 语义约定、失败排查方法、敏感内容采集边界，以及如何把 AI 运行变成可解释的执行链路。","\u002Fuploads\u002F2026-08-05\u002F19586c04-7c5c-483a-8cdf-0860e7a03918.jpg",64,"2026-07-31T00:00:00.000Z","2026-08-05T02:13:45.344Z",{"id":58,"type":6,"title":59,"slug":60,"summary":61,"coverUrl":62,"authorName":14,"sno":63,"publishedAt":64,"createdAt":65},"a3c11b62-9668-40cf-822d-25787f994c75","A2A：当 Agent 开始互相「递名片」","a2a-agent-to-agent-protocol","MCP 让 AI 统一接上工具，却没解决 Agent 之间怎么分工。A2A（Agent-to-Agent 协议）用「Agent Card 名片」让智能体互相发现、委派任务、协作交付。","https:\u002F\u002Foxqtewbrpuiouqqjrvdv.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fpublic-media\u002F2026-07-19\u002F7819028f-dd6f-4988-9964-56134773dc53.jpg",75,"2026-07-17T00:00:00.000Z","2026-07-19T16:17:09.511Z",{"id":67,"type":6,"title":68,"slug":69,"summary":70,"coverUrl":71,"authorName":72,"sno":73,"publishedAt":74,"createdAt":75},"7cc644a5-e0de-4d7b-802e-9e8b69677e12","AI 生成的代码会不会复制开源项目","ai-code-open-source-reference-license","AI 生成代码不等于天然没有来源。本文区分常见写法与高相似片段，解释代码引用、许可证、依赖供应链和轻量来源检查，帮助团队把合规当成代码质量的一部分。","\u002Fuploads\u002F2026-09-13\u002F920327ad-de7f-4caa-a2f4-816d467c9f9c.jpg","Foundit",40,"2026-09-13T00:00:00.000Z","2026-09-13T11:55:49.911Z"]