ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Agent-Reach:智能体注册、路由与治理的落地实践

Agent-Reach:智能体注册、路由与治理的落地实践 去年年底我们团队在内部技术周会上聊到一个很有意思的需求A 部门做了一个数据分析 AgentB 部门有个业务想调用它可两边沟通了一圈才发现A 部门压根不知道 B 部门要用B 部门也不知道这个 Agent 现在跑在哪个环境、哪个接口、什么版本、有没有在维护。最后只能建个 IM 群人在群里喊一嗓子等人手动回应再靠文档确认调用方式。这件事让我想明白了一个问题Agent 之间的关系目前还停留在“人传人”的阶段。以前单体应用阶段系统之间调用靠 API 网关就能解决因为服务是相对稳定的调用关系也是固定的。但到了 Agent 大量出现的阶段情况变了Agent 是动态的随时可能新建、下线、升级Agent 的能力是自然语言描述的不像单纯的 REST API 那么机械Agent 的调用方可能是人也可能是另一个 Agent。这时候如果没有一个统一的东西来管理“Agent 怎么被发现、怎么被触达、怎么算可用”整个体系很快就会乱成一锅粥。Agent-Reach 这类平台本质上就是在给 Agent 世界补上一套“发现与触达”的基础设施。它解决的不是“单个 Agent 智能不智能”的问题而是“Agent 与 Agent 之间、人与 Agent 之间能不能高效、稳定、安全地互相找到对方并完成协作”的问题。这篇文章我就基于自己做 Agent-Reach 这套系统的实际经历把定位、架构、落地细节、踩过的坑和运营指标都说清楚。适合正在做 Agent 平台化、智能体编排或者企业内部 Agent 市场化的技术负责人和开发者参考。1. Agent-Reach先把项目定位讲清楚1.1 它解决的不是“单点能力”而是“互相触达”我给 Agent-Reach 定的一个核心定位是让任何 Agent 能被任何有权限的调用方以统一标准找到、调通、观察像一个可交换的标准化服务节点那样运转。这里面有个很关键的区别需要先掰扯清楚。传统的服务治理比如注册中心 API 网关体系管的是“服务接口”。服务的地址是 IP 加端口接口的方法是 GET/POST交互协议是 HTTP/gRPC这种模式已经非常成熟了。但 Agent 不太一样Agent 的“接口”不一定是固定的 REST 方法它的入口往往是一个统一的消息通道内部再做任务理解、规划、工具调用。Agent 的数量级会很大而且生命周期很短。可能某个活动脚本只跑半个小时对应会临时拉起几百个轻量 Agent 实例跑完就销毁。Agent 之间不是简单的请求/响应可能有“委派”“协作”“订阅推送”这类更复杂的关系。A Agent 发现自己搞不定一个子任务需要把任务派给另一个 Agent这个“发现谁适合干这个活”的过程本身就是个路由问题。所以把 Agent 当成普通 API 来治理很多场景下是行不通的。Agent-Reach 在这一点上的设计取舍是先区分清楚我管理的对象到底是什么我给出的答案是Agent-Reach 管理的是“Agent 触达面”也就是一个 Agent 对外开放的描述信息、可被调用的入口、可用状态和调用关系而不是 Agent 内部的思考逻辑。这个边界非常重要。如果你想把一个 Agent 内部的规划过程、思维链这些都纳入平台治理那系统会复杂到没办法上线。我们只管触达不管脑科学。1.2 三个核心模块注册、路由、治理Agent-Reach 整体上可以拆成三件事我分别叫它Agent Registry注册中心、Agent Router路由调度、Agent Governance治理监控。最开始我理解 Agent-Reach 就是一个强化版的注册中心后来做深了才发现路由和治理才是真正出价值的地方。注册中心负责 Agent 的登记、健康检查、状态维护。每一个接入平台的 Agent 都要有一个注册条目类似于给每个 Agent 发了一张“身份证”和一张“能力简历”。没有注册Agent 就不存在没有人能触达它。路由调度负责把调用请求分发到最合适的 Agent 实例上。这个环节要处理能力匹配、负载均衡、优先级调度、灰度策略、失败重试。路由做得好不好直接决定了 Agent 触达的稳定性和效率。治理监控负责触达关系的规范化和可视化。一个 Agent 被谁调用了、调用成功率多少、平均响应多长、有没有异常波动全部要在治理面上看得见。没有治理系统上线就等于裸奔。这三个模块的关系可以用一个生活化的例子来理解。想象一个大型公司的总机系统。注册中心就是员工入职花名册记录了每个人在哪个部门、擅长什么、分机号多少路由调度就是前台接线员来电话时快速判断该转给谁治理监控就是统计报表哪个部门电话量高、哪个分机经常占线、哪些人申请了忘注销。Agent-Reach 就是把这套总机逻辑搬到 Agent 世界里只不过电话变成了消息分机号变成了 Agent 地址人变成了 Agent。下面这个表格是当时我在项目初期做模块规划和优先级评审时用的直接拿过来参考价值很高模块核心职责关键技术点优先级Agent Registry注册、心跳、存活探测、元数据管理命名规约、能力描述、租户隔离P0Agent Router请求路由、能力匹配、负载均衡、重试熔断能力标签匹配、权重调度、灰度路由P0Agent Governance触达链路观测、调用审计、告警、SLA 统计Trace 透传、指标聚合、权限回收P1P0 是先上线的最小闭环没有注册和路由平台就是空壳P1 是运营侧必须要有的否则出了问题连定位都无从下手。2. 整体架构设计与方案选型的背后思考2.1 为什么需要注册中心而不是直接把地址写死在配置里有一个很常见的疑问Agent 数量不多的时候直接在代码里配置对端地址不行吗十几个服务、接口固定写死还能省掉一套基础设施的运维成本。这个方案在 10 个 Agent 以内是合理的但到了几十上百个 Agent 的时候硬编码就会出现三个我实际踩过的坑。第一Agent 实例是动态变化的。我们当时有一个定时巡检 Agent每天会启动一批新的实例做数据分析跑完就销毁。如果地址写死在调用方配置里那每天都要更新配置、重启调用方运维根本受不住。第二Agent 的版本和能力会演进。一个 Agent 从 v1.0 升到 v2.0可能能力标签变了入口地址也变了。调用方如果拿着旧的地址列表就会调到已经下线的实例。注册中心的价值就在这里调用方只依赖逻辑标识比如 agent_id 或者 capability不依赖物理地址Agent 上下线、迁移、升级对调用方透明。第三跨团队协作时不可能要求所有人共享一份配置文件。A 团队维护自己的 AgentB 团队要调用它双方通过注册中心建立契约而不是靠拉个群互相传 JSON 文件。所以Agent-Reach 的注册中心设计严格参照了服务注册中心的思想但做了一层 Agent 化的改造。每个注册条目里除了基础的 agent_id、endpoint、状态之外还额外带了一块capabilities字段用来描述这个 Agent 能完成什么样的任务。这是我们当时 Agent 注册信息里比较核心的一段 JSON实际生产环境也是这个结构{ agent_id: ag-7f3a9c2b, name: log_analyzer_v2, version: 2.3.1, owner_team: platform-infra, endpoint: grpc://10.20.30.40:9001, transport: grpc, capabilities: [ analyze:log_metrics, summarize:error_patterns ], health_check: { interval_sec: 30, timeout_ms: 3000, unhealthy_threshold: 3 }, load_config: { weight: 10, max_qps: 1000, priority: 3, tags: [stable, production] } }这套描述信息写起来不复杂但想清楚“该放什么不该放什么”是花了不少精力的。比如 description 这种纯文本字段到底放不放最后我们决定放但只是用于展示和人工筛选不做自动匹配。因为自然语言描述在早期很难做到精确解析你要是靠 LLM 去理解描述来做路由那相当于在路由链路上引入了一个不确定因素一旦解析错整个调用就歪了。能力匹配必须走结构化的能力标签自然语言描述只辅助人理解。2.2 路由调度为什么不能像普通负载均衡那样直接轮询注册中心把 Agent 都找出来了接下来就是路由。路由这个模块我花了最多时间调优因为它的决策逻辑直接影响成功率。传统的负载均衡思路极其简单后端有几个实例轮询或者按权重分发就可以了。但 Agent 场景下“这台机器能扛请求”不等于“这个 Agent 能处理这项任务”。Agent 的能力是分类型的有的擅长文本摘要有的擅长数据分析有的擅长调用外部 API。如果只按实例负载来路由一个文本请求被分到数据分析 Agent 上结果必然失败。所以 Agent-Reach 的路由必须有两层匹配逻辑。第一层是能力匹配。请求方在发起调用的时候要声明自己需要的能力 tag比如analyze:log_metrics。路由中心会根据这个 tag 过滤出所有注册了该能力的 Agent 实例集合。这一步非常关键它实际上把路由问题从“找一台机器”变成了“找一组具备特定能力的 Agent”。第二层是实例选择。在能力匹配出的候选集合里再做负载均衡、权重分配、故障剔除。这一步可以复用经典策略加权轮询、一致性哈希、最少连接数都可以。我这里只多说一个点就是优先级和权重的设定不是拍脑袋定死的。我测试过一组实际数据。当时有两个 Agent 实例提供了同一能力A 实例是性能优化过的新版本权重设成了 20B 实例是老版本权重设成了 10。初步测试下来A 实例的 P99 响应是 800msB 实例是 1.2s。结果按 2:1 权重分发整体表现还不错。但后来 A 实例接了大量高复杂度任务P99 飙到 2s权重还是 20请求就开始在这个实例上排队整体触达成功率反而下降。这个案例说明权重是相对静态的配置但 Agent 处理能力的波动是动态的。如果你的 Agent 处理时间跟任务复杂度强相关就一定要在路由层加“自适应保护”机制比如实时统计每个实例的 P99 响应和排队深度当某个实例的响应时间超过阈值时自动降低它的权重或者直接摘除一段时间。这里的参数设置经验是健康检查的心跳间隔建议 30 秒响应超时设置 3 秒连续 3 次心跳失败就将实例标记为不健康并从路由池中摘除。这些值不是拍脑袋定的而是基于我们线上 Agent 的平均响应时间反推的。Agent 的响应普遍在几百毫秒到几秒不等心跳间隔太短会频繁产生误报太长则会导致故障发现延迟。摘除之后再通过定时重探恢复恢复探测间隔可以设成 60 秒。2.3 为什么不建议用消息队列直接硬扛 Agent 触达构建 Agent 协作平台的时候有一点会很容易让人产生误解就是既然 Agent 之间要传递消息那用消息队列不就行了生产者发消费者收天然异步解耦还不丢消息。这个想法有一定道理但实际情况是 Agent 触达和传统消息事件之间有本质区别。传统消息队列解决的是“事件广播”和“可靠投递”语义是 Fire-and-Forget发出去就不管结果了。但 Agent 触达调用绝大多数是请求/响应模式调用方需要拿到 Agent 处理后的结果而且需要知道结果是否成功、失败原因是什么。如果强行用消息队列实现你得自己实现“结果回传队列”“请求关联 ID”“超时判断”这一整套机制相当于把 RPC 框架重造了一遍还很别扭。另外消息队列没有“能力匹配”的概念。消息队列的路由靠 topic 或者 tag但 Agent 触达的路由靠的是能力语义的匹配我需要一个能“分析文本情感”的 Agent不是简单地把消息丢到某个 topic 里。两者解决的问题根本不在一个层面。Agent-Reach 的路由中心在设计上更像是一个面向消息语义的智能网关而不是消息中间件。它负责接收带能力标识的请求进行语义域匹配再转发给 Agent并同步等待响应。底层传输可以走 gRPC需要异步解耦的时候也可以对接消息队列作为补充通道但核心链路始终是同步 RPC。我也整理过一张路由中心 vs 消息队列在 Agent 场景下的对比表这个表格当时帮我在评审会上省了好几轮解释口水对比维度消息队列Agent-Reach 路由中心通信模式异步事件流为主同步请求/响应为主兼顾异步路由依据Topic / Tag能力标签 权重 健康状态结果反馈需要自行设计回传机制内建响应关联与超时控制适合场景事件通知、数据管道Agent 发现、调度、协作身份鉴权弱强要求链路可信表格里“身份鉴权”差异很大。M个 消息队列通常靠账号权限做粗粒度隔离而 Agent 触达链路必须要细到“哪个 Agent 有权限调用哪个能力、谁会拿到调用结果”这些都是治理层面的要求。3. 实操落地从 Demo 到生产的关键步骤3.1 最小可用部署三个组件、一个协议Agent-Reach 要落地不用一开始就把平台搞得多庞大。我当时的最小可用闭环只用了三个组件注册中心、路由网关、Agent SDK。注册中心选了有持久化能力的存储后端生产环境用了 ETCD。选 ETCD 而不是纯内存缓存是因为注册信息需要一定的持久性和一致性和 Watch 机制。Agent 实例状态变更比如上线、下线、异常都要能及时推送到路由网关ETCD 的 Watch 特性天然适合这个场景。如果你不想引入外部依赖Redis 加发布订阅也能凑合但是状态一致性上需要做额外的设计不如 ETCD 省心。路由网关是一个无状态的服务部署方式可以多实例水平扩展前面挂负载均衡。它的核心逻辑就是消费 Agent 的注册状态和健康数据在内存里重建出“可触达 Agent 列表”然后做能力匹配和实例选择。无状态的好处是任何一个网关节点挂了其他节点可以无缝接管。Agent SDK 是嵌入到每个 Agent 进程里的负责启动时向注册中心注册、定期发送心跳、上报当前的能力标签和负载信息。SDK 我们还附带了一个很关键的能力优雅下线。Agent 在退出之前先从注册中心摘除自己再等待存量请求处理完最后退出进程。这个细节能减少因为 Agent 重启导致的调用失败实测下来能让发布期间的错误率降低很多。部署完这三个组件之后Agent 接入的流程就固定为四步注册、声明能力、保活、被调用。新建一个 Agent 时调用 SDK 的注册接口传入 agent_id、endpoint、capabilities。注册成功后Agent 每 30 秒向注册中心续约心跳路由网关在收到心跳后更新这个实例的最后活跃时间。调用方通过 SDK 或者直接 HTTP 调用路由网关网关检查请求中的能力标签、选出一个可用实例、把请求转发过去、拿到结果再返回给调用方。整个闭环大约一个下午就能跑通剩下的时间全用在调参和踩坑上。3.2 能力标签设计我最推荐“动词对象”的命名规约Agent-Reach 落地过程中有一个环节看起来简单实际上很影响路由精确度就是capabilities 的命名设计。如果你不做规范每个团队写出来的标签五花八门A 团队叫analyze_error_logB 团队叫error_log_analysisC 团队叫log_analyzer。等到路由的时候请求里写一个 tag根本匹配不上只能靠人工校对。我们反推了好几轮最后定下的命名规约叫动词对象形式。这个规则特别直白以动词开头表示这个 Agent 对某个对象执行什么类型的操作对象名词统一用下划线连接全部小写。比如analyze:log_metrics表示分析日志指标summarize:error_patterns表示总结错误模式extract:invoice_fields表示提取发票字段translate:text_to_speech表示文本转语音命名规约定了之后还要配套一个注册时的能力标签校验机制。SDK 在提交注册信息的时候会先做本地规则校验不符合命名规约的直接拒绝注册并返回具体的错误提示。这一步能避免脏数据进到注册中心。如果只在文档里写了规范但没有强校验那规范就只是纸上谈兵一定会有人不遵守。3.3 路由网关的关键参数超时、重试、熔断路由网关注定是一个高并发场景参数调不好线上就会抖。我这里的实践参数虽然不能直接抄到你项目里但调优思路可以参考。超时控制。路由网关本地做两个层级的超时连接超时和读超时。连接超时设 2 秒读超时看 Agent 能力的类型简单能力设 5 秒涉及复杂工具调用的 Agent 设 20 秒。超时阈值要靠统计数据慢慢调不建议一步到位设一个很激进的值。重试策略。重试不是越多越好。路由网关遇到后端 Agent 连接失败时会重试另一个实例默认最多重试 2 次每次重试前随机等待 50~200 毫秒。为什么加随机延时因为如果多个请求同时失败、同时重试大概率会打到同一个健康实例上造成“重试风暴”。随机抖动是避免重试风暴最便宜的手段。熔断机制。每一个 Agent 实例都有一个熔断计数连续失败超过 5 次该实例会被临时熔断 30 秒。熔断期间请求直接跳过这个实例30 秒后放少量试探请求如果成功则快速恢复。这个参数要按失败容忍度来设要求严格的场景可以把熔断阈值调成 3。我分享一个线上事故做反面教材。当时一个 Agent 实例因代码 bug 导致处理任何请求都会抛异常但它的进程还活着心跳也正常。路由网关按照权重持续把请求往这个实例上打每次都失败又触发重试导致整体成功率雪崩。后来加上了“按失败率自动摘除”的策略顺滑超过 1 分钟内成功率低于 50% 的实例自动从路由池摘除哪怕心跳正常。这个策略上线后类似问题再也没有造成过系统级故障。4. 常见问题与排查实录4.1 Agent 明明注册成功却始终无法被路由到这个是我在 Agent-Reach 上线初期遇到的最频繁的问题。Agent 日志显示注册成功、心跳正常但调用方发起的请求永远报“Agent Not Found”或者“No available Candidate”。排查过程让我踩了几个容易忽视的坑。第一个坑是环境隔离。生产环境和测试环境如果共用一套注册中心配置了不同的命名空间namespace服务路由时只在本命名空间内查找。Agent 注册到staging命名空间调用方在production命名空间里查当然查不到。这是最简单也最容易测出来的问题但一旦环境变量配错新人排查可能要花半天。第二个坑是健康检查被摘除。有些 Agent 实例虽然进程活着但内部线程池已经耗尽无法快速响应心跳请求。路由中心连续几次健康检查失败后就把实例标记为不健康并摘除。这个从现象上看和“查不到”一模一样但实际原因完全不同必须去核对注册中心的健康状态列表。第三个坑是能力标签大小写不一致。我们当时没有用强校验就放量接入了一批 Agent结果新团队把analyze:log_metrics写成了Analyze:log_metrics路由网关做匹配时大小写敏感直接匹配不上。后来我们在路由网关的匹配逻辑里加了大小写归一化同时注册校验也更严格这个问题才根除。4.2 调用超时的定位思路Agent 触达的链路比普通 API 长定位超时要看的环节也多。我习惯从三个层面排查网络层时延、路由网关耗时、Agent 执行耗时。网络层的排查比较简单看路由网关到 Agent 实例的 RTT 即可。正常情况下内网 RTT 应该在 10ms 以内超过 100ms 就要看看网络配置或者防火墙策略了。路由网关耗时的关键指标是“排队时延”和“后端响应等待”。如果网关本身处理能力不足请求会在网关内部排队表现为 P99 时延持续走高但后端 Agent 的耗时正常。这时候扩容网关节点通常比调参更有效。Agent 执行耗时是最难判断的。我们的做法是在 Agent SDK 里埋点主动上报每个任务的执行阶段耗时。通过链路追踪可以把一段慢调用的耗时拆成“任务规划耗时”“工具调用耗时”“结果生成耗时”。如果分析日志发现大部分耗时在工具调用上那问题很可能出在工具依赖的外部服务而不是 Agent 本身。这是当时一次典型超时排查的参数记录排查项正常范围故障时实测结论网路 RTT 10ms8ms网络正常网关排队时延 5ms3ms网关正常Agent 任务规划 100ms120ms基本正常工具调用耗时 1s8.7s外部接口 SSE 响应异常顺着链路数据一查发现是 Agent 调用外部数据服务时对端服务在高峰期只处理了一半请求就直接挂了。我们在 Apollo 配置中心里收紧了工具调用超时加了 3 次快速重试整个链路才稳定下来。4.3 多版本 Agent 同时在线时怎么保证路由不乱Agent 的版本迭代比服务接口更频繁。有的场景下v2 版本还处于灰度观察期v1 版本还要继续承担大部分流量。Router 必须支持按版本规则做灰度分发。我们的最佳实践是在 Agent 的注册信息里增加release_channel字段取值stable、canary、dev。路由规则默认只路由到stable版本当某个调用方想要测试新版本时可以在请求头里加x-agent-channel: canary路由网关就会优先匹配 canary 实例。这个机制让新版本的验证成本变得非常低发布团队不再需要和调用方协调切流量节奏了。这里的教训是版本路由一定要放在路由网关做而不是让 Agent 自己上报版本号让调用方自行判断。调用方不应该关心目标 Agent 的版本细节它要的是能力稳定可用。Agent 的版本细节属于路由网关的决策依据。4.4 权限边界不清Agent 被乱调用Agent 的能力有时候是敏感的比如一个能读取内部客户数据的 Agent如果被任意调用方调用风险极大。上线 Agent-Reach 的初期我们就吃过这个亏某个 Agent 的能力标签里写了query:internal_user_profile结果被好几个团队调用数据合规部门找上门来才意识到问题的严重性。后来我们给接入平台的所有 Agent 加了调用方身份声明和能力授权列表。每个调用方需要申请 access_key并明确列出自己能调用哪些 Agent 的哪些能力。路由网关在转发前先做权限校验只有授权记录匹配才会继续路由。这一步不只是安全合规它还让调用关系变得可追溯、可管理对后面做调用审计和故障定责有决定性的帮助。5. 指标口径与团队协作的几条建议5.1 四个核心衡量指标把 Agent 触达效率量化没有指标就谈不上优化。Agent-Reach 上线一段时间之后我沉淀了一套指标口径这里给大家列最核心的四个第一个是Agent 发现成功率调用方按能力标签发起请求路由网关能匹配到至少一个健康实例的比例。这个指标衡量的是注册体系是否完整、能力描述是否准确。早期我们只有 80%排查下来主要原因是能力标签命名不规范改了命名规约和强校验之后提升到 99% 以上。第二个是路由成功触达率请求成功找到实例且 Agent 成功处理的比例。这个指标考察的是路由策略和 Agent 实例的运行稳定性上了熔断和自动摘除机制之后显著改善。第三个是链路 P95 响应延迟从调用方发出请求到拿到 Agent 结果的耗时。这个指标受路由网关耗时、Agent 执行耗时、外部工具耗时三部分影响。我们目前内部定的是 P95 每层次不得超过 30% 的偏差超了就去细化瓶颈。第四个是异常自动恢复时长从路由网关发现 Agent 不可用到主动摘除、流量自动切换的平均时间。这个指标直接决定了平台的自愈能力目标值我们定在 60 秒以内。每个指标都要配备对应看板把粒度细化到 Agent 实例级别不然只能看到一堆聚合数据出了问题根本定位不到具体是哪个 Agent 在拖后腿。5.2 跨团队协作时接口契约怎么管Agent-Reach 落到企业内部真正难的不是技术是组织协作。Agent 平台化天然牵扯到多个团队一个团队提供 Agent另一个团队调用 Agent还有一个团队维护底层基础设施。如果接口契约没有统一管理Agent 的版本升级就一定会引发调用方的故障。我们的做法是建立一个Agent 触达规范仓库承担类似 OpenAPI 的作用。每个 Agent 在发布之前必须提交一份触达描述文档内容包括能力标签定义、请求参数规范、返回结构定义、错误码约定、调用限额声明。这份文档经过评审之后绑定到 Agent 的注册条目中路由网关在用元数据做展示的同时也能基于它生成调用方的 SDK 脚手架。文档不复杂的但“强制评审”这个动作很重要。只要有一次跳过评审直接上线后面就会有越来越多的跳过。AI 平台团队在早期就要立下规矩宁可发布慢一天也不能让没有契约的 Agent 出现在注册中心里。这是我在实际运营中踩过最大的坑之后的深刻体会。5.3 从咖啡机场景到跨部门 Agent 市场Agent-Reach 做到后期会出现一个很有意思的变化平台开始从“基础设施”变成“市场”。最开始大家只把它当成 Agent 之间互相调用的工具后来有团队开始在上面主动注册自己的 Agent像发布产品一样写好能力描述和调用示例希望能被更多团队使用。这个时候Agent-Reach 就从技术方案变成了一种组织内部的 Agent 发现与协作生态。我们内部有个比较出名的案例某部门做了一个可以快速查询业务指标的 Agent注册到平台上之后被运营、产品、数据分析多个团队调用了上万次。这个 Agent 本身并不复杂但没有 Agent-Reach 之前别人根本不知道它存在更别说稳定触达它了。所以如果有人在纠结要不要投入做 Agent 触达基础平台我的建议很直接只要你的组织里开始同时跑 5 个以上的 Agent并且它们不是孤立的玩具就一定需要 Agent-Reach 这类东西。越早做越能攒下数据治理体系也会越完善。我到现在还保留着一个小习惯写每一条路由规则的时候先问自己这个规则如果出问题了能有多快被发现和恢复。Agent-Reach 的本质是把 Agent 从“神秘的智能体”变成“可管理的基础设施”它需要技术更需要克制——不要试图什么都管把注册、路由、治理这横切三件事做到极致就已经能解决绝大多数深层复杂的问题了。
返回列表