AI伴行技术解析:基于空间智能的高可用Agent架构实践¶
Ch04.044 AI伴行技术解析:基于空间智能的高可用Agent架构实践¶
📊 Level ⭐⭐ | 24.5KB |
entities/gaode-ai-companion-agent-architecture.md
一、引言与背景¶
伴行 Agent 需要同时理解用户当前所处的位置、正在行进的状态、隐含的停留需求、对"顺路"的空间约束、对"能坐一会儿"的场景要求,以及"离地铁站近"所代表的后续动线意图。随后,它还需要组合调用周边检索、POI 详情、空间排序、步行路径、营业状态等能力,给出一个既真实可达、又符合用户当下意图的行动建议;最后通过图面展示路线及状态、持续导航、过程陪伴等行动能力,在真实世界中,和用户一起完成这个需求。 四大核心挑战: 1. 行业能力与通用能力双重需求:导航核心能力(找路、搜点、规划)要求确定性和低延迟,而用户在行中又会随时抛出开放式问题(数学逻辑推理、语言翻译等),二者对 Agent 能力的要求截然不同。如何在同一系统中同时满足"核心能力稳定可控"与"通识能力开放泛化",并在统一入口下完成高效分流,是架构高可用层面的首要取舍。 2. 复杂任务下的多步工具推理与决策质量:出行过程中,用户的一句话往往需要组合调用POI搜索、路线规划、天气查询等多个工具,且每步结果高度动态——搜不到指定POI、路线不可达、天气突变都可能改变后续决策。 3. 海量领域知识与受限Context Window的管理困境:Agent需要兼顾隐私保护、视觉感知、路线要求、交通状态等数十种领域知识和相关约束。全量硬编码到Prompt中会导致三重困境:Token膨胀拉高首字延迟(TTFT)、上下文过长引发注意力衰减使关键约束被遗忘、规则相互耦合导致新增场景难以独立扩展。 4. 动态时空状态下的上下文建模挑战:如何把 GPS、朝向、路线、POI、天气、用户记忆等分散信号,实时转化为模型可理解、可推理、可裁剪的时空上下文。既要补齐关键时空变量,又要避免信息无差别堆叠造成注意力稀释和上下文腐败。
二、整体架构设计¶
2.1 业界参考¶
Hermes Agent:学习型 Agent 与长期记忆¶
Hermes Agent[17] 的核心特点是Self-Improving Agent。它强调 Agent 可以从经验中创建和改进 Skill,沉淀长期记忆,并支持跨 Session 回忆历史上下文;同时支持多平台入口、子 Agent 并行、任务自动化和工具链扩展。 Hermes 的自进化能力令人印象深刻,但它的前提是不限制推理资源:在行中场景下,这种模式面临两重现实约束:
- 实时性约束:用户说完话后 4 秒内必须响应才能不影响用户体验[1],无法承受多轮自由探索的时延
- 模型约束:如果使用小参数量模型替代,Hermes 式的自由推理链容易出现工具调用提前终止、推理链不完整等质量退化 因此,高德吸收其Skill 沉淀、记忆管理的思想,以确定性工程手段实现类似能力:Skill 动态注入替代模型自主创建 Skill,时空上下文体系替代模型自由管理 Memory。
Nanobot:极简 Agent Loop 与轻量化工程¶
Nanobot[18] 的特点是轻量、可读、易部署。它保留一个极简的核心 Agent Loop,同时支持聊天通道、Memory、MCP 和长运行部署路径。其设计哲学是"最小化 Agent 骨架,把复杂度交给工具层"。 但 Nanobot 的极简建立在一个隐含前提上:底层模型足够强。如果换成小参数量模型,这种极简循环反而容易暴露问题——模型的工具选择不够精准时,要么需要更多轮次来纠偏(时延上升),要么直接输出错误结果(质量下降)。
QwenPaw:模块化 Agent Core 与本地/私有化控制¶
QwenPaw[20] 的特点是个人 Agent Workstation。它强调 Prompt、Hooks、Tools、Memory 的解耦模块化,支持多渠道接入、本地模型、Skill 插件和长期记忆。 高德吸收了其核心的分层解耦理念:
- Prompt / Skill 解耦:全局 Prompt 只保留角色和安全边界,业务规则通过 Skill 动态注入
- Tools / Service 解耦:地图、搜索、天气、渲染、交通数据等能力以服务化方式接入
- Memory / Context 解耦:长期记忆和实时上下文分层管理,避免混在对话历史里
2.2 双内核 Agent 架构¶
围绕伴行 Agent 的目标,整体架构上采用了 Supervisor 驱动的双内核 Agent 架构:
- 自研行中 Agent 内核:面向行中核心场景(导航问答、周边找点、路线推荐、行中规划、动态约束),这类请求强依赖地图事实和位置状态,保障稳定性与响应效率
-
QwenPaw 通用 Agent 内核:面向开放泛化任务(通识问答、知识检索、数学运算、逻辑推理、文本翻译),拉齐通用 Agent 能力上限 核心判断:伴行 Agent 当前最需要的不是"最大自由度",而是"可控自由度"——核心动线任务必须稳定、快速、可验证;开放时空任务则需要推理、扩展和多工具协作。 基于 LangGraph4J[8] 搭建了层级式多 Agent 协同框架:一个中心 Supervisor 负责任务路由、执行边界和结果聚合,将任务委派给专业 Worker Agent 执行。 架构收益:
-
兼顾不同复杂度任务:高频简单任务走轻量链路,复杂任务按需分发至自研 Agent、通用 Agent 或全模态 Agent,动态匹配执行路径
- 支持快速业务迭代:自研内核聚焦行中场景快速迭代,QwenPaw 内核持续演进通用能力,两者解耦、互不阻塞
- 成本与效率可控:高频请求优先走确定性快路径,仅在需要开放推理或多工具协作时才进入 QwenPaw / ReAct 链路
- 面向未来的架构弹性:随模型能力提升,可逐步将更多任务迁移至通用 Agent 内核,强事实高风险链路仍保留在自研内核
三、ReAct推理引擎详解¶
3.1 行业难点与背景¶
业界方案可分为三类:
- 单轮工具调用(OpenAI Function Calling):只能一问一答
- Plan-Execute[4]:先生成完整计划再逐步执行,全局性强但计划僵化——行中场景工具返回结果高度动态,预制计划难以灵活调整
- ReAct[5]:每轮根据真实工具返回动态决策,天然适合中间状态不可预知的场景 高德选择ReAct,但原生ReAct框架在导航场景下表现远未达标,进行了一系列首创性优化:
- 面向实时交互的极简输出范式:单轮推理延迟降约300ms
- 语义化参数传递机制:参数填写准确率显著提升
- PRISM多智能体数据质量框架:在四大基准上超越现有SOTA
- SFT+RL两阶段训练策略 最终效果:平均推理轮次从8.13轮降至3.31轮,重复调用率从22%降至2.7%,全面超越参数量更大的DeepSeek V4 Pro。
3.2 核心循环架构¶
ReAct推理引擎的核心是一个受控的"思考→行动→观察"循环,设计了多重判停机制:
- 轮数硬上限保护
- 格式异常熔断
- 幻觉循环检测
- 信息增量检测
3.3 链路优化¶
3.3.1 面向实时交互的输出范式优化¶
行业现状:传统JSON格式输出工具调用指令存在明显短板:大量结构符号占用额外token,序列化和反序列化增加端到端延迟,且容易出现格式错误。 高德的创新:针对导航场景的实时性要求,设计了一套面向token效率优化的极简结构化输出范式。 效果:相比JSON格式,输出token开销降低约40%,线上单轮推理延迟降低约300ms。
3.3.2 语义化参数传递机制¶
行业现状:传统的工具调用需要模型直接输出精确的数值参数(如经纬度坐标),这对大模型来说是"反直觉"的任务——模型擅长语义理解而非精确数值记忆。 高德的创新:语义化参数传递机制——让模型以自然语言实体(如POI名称)作为工具参数,由系统层自动完成语义到精确值的映射。 效果:参数填写准确率显著提升,多步调用的逻辑正确率提升了约15%。
3.4 模型训练优化¶
通用大模型直接应用于伴行Agent时表现远未达到生产可用水平:Qwen3-Next-80B-A3B基模平均需要8.13轮ReAct循环,工具重复调用率高达22%,工具选择精确率仅43.72%。
3.4.1 SFT数据构造:多策略合成 + 真实日志融合¶
采用"真实日志回放+场景定向合成"双路径:
- 路径一:从线上真实请求和执行日志中提取完整的多轮交互轨迹,直接转化为训练样本
- 路径二:针对长尾方向(路线规划、沿途搜索、天气联动、景点攻略、终止判断、隐式意图等)做定向合成与增强 最终产出上万条SFT样本。
3.4.2 RL数据:基于真实工具调用的交互轨迹¶
RL数据的关键创新是训推一致的环境交互:每条样本是在与线上完全一致的工具调用环境中实际执行得到的,而非静态标注轨迹。每步都有真实的工具返回结果作为中间状态。 最终产出千级RL样本。
3.4.3 PRISM数据质量优化¶
将团队原创提出的PRISM(Prope-Review-Integrate Synthesis for Multi-agent Reasoning)多智能体推理框架[19] 应用于数据的自动化质量审核与修复。 核心理论贡献:多智能体推理增益分解理论——首次将多智能体系统的性能增益严格分解为三个概念正交的维度:
- Exploration(探索):通过角色多样性覆盖更大的解空间
- Information(信息):通过执行反馈获取高保真质量信号
- Aggregation(聚合):通过基于证据的合成达成可靠共识 本方法在 GSM8K、AIME-2025、MBPP、BFCL-SP 四大基准上全面超越 Self-Consistency、MoA、ReConcile 等现有多智能体 SOTA 方法。
3.4.4 两阶段训练:SFT + RL¶
基于Qwen3-Next-80B-A3B基座模型,采用两阶段训练策略:
- SFT阶段:使用万级样本夯实模型基础空间理解与工具调用能力
- RL阶段:在此基础上用千级样本优化决策质量。关键设计是分层奖励机制:Env层负责结构性硬约束(格式错误、重复调用、偷懒终止等即时惩罚),Pipeline层通过LLM Judge对完整轨迹做价值评分(4档outcome + 守门项扣分)
3.4.5 训练效果¶
经过完整训练优化流程后,模型在出行场景下的工具调用能力实现全面跃升: | 指标 | 基模 | 训练后 | |------|------|--------| | 平均推理轮次 | 8.13 | 3.31 | | 重复调用率 | 22% | 2.7% | | 工具选择精确率 | 43.72% | 显著提升 | 关键结论:
- Claude-Opus-4.7 在通用基准上处于顶级,但在空间领域的实际推理质量反而最低——因为它拥有过于强势的内置工具调用风格,在遵循垂直场景专属调用规范时表现较差
- DeepSeek V4 Pro 格式适配更好,但依然比训练模型多花19%的轮次
- 通用能力强不等于垂直场景好。决策效率不随模型规模自动涌现,只能从场景反馈中习得
四、Skill系统与动态Prompt注入¶
4.1 全量 Prompt 注入的现实瓶颈¶
业界通行做法是将全部规则硬编码到System Prompt中,但这在实时交互场景下会导致三重困境:
- TTFT激增:冗长Prompt直接拉高推理延迟
- 注意力衰减:LLM处理长上下文时对中间位置信息的召回率显著下降
- 规则耦合:新增场景规则需要考虑与已有规则的交互影响,维护成本超线性增长 核心判断:对任意一次用户请求,真正需要激活的业务约束通常只有1-2个。Prompt管理的关键不是"把规则写全",而是"让正确的规则在正确的时机出现"。
4.2 Skill的按需筛选与动态注入¶
第一层:业务约束Skill化——将业务约束从全局Prompt中拆出,变成独立的Skill。只保留对业务稳定性影响最大的几类约束:安全与合规、视觉与物理世界边界、路线与导航状态、行中信息服务。 第二层:三层筛选机制 | 层级 | 类型 | 说明 | |------|------|------| | L1 | 静态硬路由 | 隐私保护、安全边界等底线规则通过配置直接命中 | | L2 | 轻量语义筛选 | 使用轻量模型判断是否相关,输入是压缩后的"用户请求+对话摘要+工具结果摘要" | | L3 | 确定性规则覆盖 | 与工具调用或导航状态强绑定的场景,通过规则强制激活 | 第三层:动态Skill注入——将Skill分为静态和动态两类,动态Skill依赖实时状态(如用户是否偏离路线、偏离了多少米)。
4.3 Skill化动态注入收益¶
- Token压缩50%:不仅节约成本,更重要的是注意力聚焦效应——当Prompt中只包含与当前场景高度相关的1-2条规则时,模型对这些规则的遵循精度显著提升
- 减少无关信息比增加重复强调更能提升模型的指令遵循能力(与"Lost in the Middle"论文结论一致)
五、时空上下文¶
5.1 统一时空状态:按需生成 Context View¶
引入统一时空状态(Unified Spatiotemporal State):原始信号统一进入ContextData,经过结构化建模、状态融合、记忆检索和裁剪后,按任务生成不同 Agent 可用的 Context View。 核心变化:时空上下文不是某个Agent的局部Prompt,而是双内核架构中的统一状态层。
5.2 四维上下文模型¶
将上下文拆成四个维度:空间、时间、用户、环境。 这套模型的价值在于把用户交互的真实物理世界建模为可推理、可裁剪、可复用的时空状态实体:
- "左手边"结合用户朝向、当前位置和周边POI后形成相对方位判断
- "顺路"结合当前路线、候选POI与路线偏离距离进行判断
- "明天从酒店出发"会被识别为异地未来规划
5.3 Shared Memory:记忆的层次化管理¶
采用五层时空粒度 × 四类记忆表征的双轴模型: 五层时空粒度(生命周期):
- Step:保留单轮工具结果、候选POI、当前位置等瞬时事实
- Session:支撑"刚才那个""换一家"等会话内连续指代
- Goal:围绕一个明确目标组织多轮任务
- Navi:记录一次完整行程中的路线变化、偏航、沿途探索和到达反馈
-
ADIU:沉淀长期用户情境记忆和程序化策略 四类记忆表征(语义使用):
-
Profile:用户画像
- Preference:明确偏好
- Episodic:历史事件
-
Procedural:可复用的行动策略(核心,让记忆从"历史记录"升级为"决策资产") 检索机制:
-
KV精确检索用于事实精确命中
- 向量语义检索用于模糊语义召回
- Confidence Score和规则门控过滤
5.4 业务效果¶
- 空间理解更准确:"前面""左手边""顺路""绕一下"等表达可以被映射到真实位置、朝向、路线和POI
- 多Agent协作更一致:Supervisor、Mobility、OmniVista、QwenPaw都读取同一份统一状态
- 记忆复用更可控:通过分层+双模检索,既能复用历史要求,又能避免弱相关记忆污染当前决策
六、端到端评测¶
6.1 分层 Benchmark¶
| 层级 | 目标 | 说明 |
|---|---|---|
| L1 通识对齐 | 保证系统在开放世界里不轻易"掉队" | 通用能力基线 |
| L2 时空智能 | 验证出行域时空智能是否形成优势 | 地图事实、时间空间约束理解 |
| L3 场景壁垒 | 验证编排能力与时空上下文是否真正落成用户可感知的服务闭环 | 产品形态与业务壁垒 |
6.3 横向对比结论¶
在与豆包的同Settings评测下:
- L1 基本持平:通识能力不掉队
- L2/L3 显著优势:事实一致性、空间约束满足和近场行动智能形成显著优势 本质:一条完整链路在起作用——统一时空状态感知"人在哪" → 工具化事实源锚定"可不可达" → ReAct推理编排"怎么做最优"。泛化对话能力强不等于出行任务稳;必须用地图事实+空间约束兜底。
6.4 端到端体验优势¶
首包时延(秒)上,伴行Agent相较对照显著更短,完美解决4秒体验魔咒[1]。
七、总结与展望¶
核心贡献¶
- Supervisor驱动的双内核Agent架构:自研+通用的低时延、可控、可演进双内核架构
- 统一时空上下文体系:让伴行Agent真正具备可感知、可推理、可复用的真实世界上下文
- ReAct推理引擎优化:专项SFT+RL训练使推理轮次从8.13降至3.31
未来方向¶
- Agent Harness:结合线上用户真实query,搭建自动发现问题→分析问题→优化问题→上线AB的 Agent Harness系统
- 用户个性化出行伙伴:结合长期记忆和行动引擎,打造每个用户拥有一个和ta一起成长进化的出行伙伴
深度分析¶
双内核架构的深层逻辑:可控自由度¶
高德双内核架构的核心不是"两个模型",而是两种不同性质的任务强制分类。行中核心场景(导航、找点、路线)要求的是确定性——结果必须可验证、可重复;通用开放场景要求的是推理能力——可以探索、可以出错、可以多轮。 这种分类的本质是:不同任务需要不同的容错空间。确定性任务不允许模型"试试看",开放任务鼓励模型探索。把这两类任务强制分离,可以让各自在最适合自己的模式下运行,而不是让一个通用模型在两种模式之间反复横跳。 Supervisor 的角色至关重要——它不只是路由,还定义了执行边界:哪些任务必须走确定性路径,哪些可以进入推理路径。这个边界是架构的核心约束。
语义化参数传递的理论基础¶
让模型输出 POI 名称而非经纬度,这个设计的理论基础是:模型应该做它擅长的事。模型擅长语义理解和推理,不擅长精确数值记忆和计算。语义化参数传递的本质是把"精确数值映射"这个模型不擅长的任务剥离出来,交给系统层确定性处理。 这比让模型直接输出坐标要稳定得多,因为: 1. 模型输出的语义实体(POI名称)天然在模型的表达空间内 2. 语义到精确值的映射是确定性代码,可控可测 3. 出错时容易定位问题(是语义理解错了,还是映射错了)
Skill动态注入的注意力经济学¶
50% Token压缩带来的收益不只是成本降低,更重要的是注意力聚焦效应。当 Prompt 只包含当前场景高度相关的 1-2 条规则时,模型对这些规则的遵循精度显著提升——这与"Lost in the Middle"论文的结论一致:当相关信息出现在上下文中间位置时,LLM 的召回率显著下降。 Skill 动态注入解决的不只是"规则太多放不下"的问题,而是"规则出现的时机和位置"问题。L1/L2/L3 三层筛选确保:只有当前相关的 Skill 才会被激活,并且它们会出现在 Prompt 的关键位置。
相关链接¶
实践启示¶
1. 在实时性敏感的垂直场景中,双内核架构是值得参考的模式¶
不是让一个通用模型同时处理实时任务和开放推理,而是强制分类——确定性任务走专用路径,开放任务走通用路径。关键是把分类边界(Supervisor)做好,确保不同性质的任务被路由到正确的处理路径。
2. 工具参数设计应该顺应模型能力边界¶
让模型输出它擅长表达的东西(语义、意图、实体名称),而不是它不擅长精确记忆的东西(坐标、ID、数值)。系统层负责语义到精确值的确定性映射。
3. Skill 动态注入是 Prompt 工程的正确方向¶
不是"把所有规则都写进 Prompt",而是"在正确的时机注入正确的规则"。L1/L2/L3 三层筛选机制值得借鉴:L1 静态硬路由处理底线规则,L2 轻量语义筛选处理常规判断,L3 确定性规则处理与状态强绑定的场景。
4. 时空上下文应该作为统一状态层而非局部 Prompt¶
多个 Agent(Supervisor、Mobility、QwenPaw)共享同一份统一时空状态,而不是各自维护一份局部 Prompt。这确保了多 Agent 协作时的状态一致性,也避免了重复存储和上下文膨胀。
5. 垂直场景的决策效率必须从场景反馈中习得,不能靠通用能力涌现¶
Claude-Opus-4.7 在通用基准上顶级但在空间领域表现最差,DeepSeek V4 Pro 比训练后的模型多花 19% 轮次——这说明通用能力强不等于垂直场景好。决策效率不随模型规模自动涌现,必须通过场景真实数据做 SFT+RL 训练。
6. ReAct 判停机制的设计比 ReAct 循环本身更重要¶
高德在原生 ReAct 基础上增加了:轮数硬上限、格式异常熔断、幻觉循环检测、信息增量检测。这些保护机制确保 ReAct 循环不会在异常情况下失控。实现 ReAct 时,判停机制的设计优先级应该高于推理循环本身。
相关实体¶
- Claude Code Tool Design Evolution Anthropic
- Claude Code Memory Setup Token 71X楠楠自瑜
- Codex Goal Implementation Breakdown
- Elf Embedded Language Flows Hekaiming 105M
- 2026 05 06 2201
→ 原文存档
参考文献¶
[1] Maslych M et al. Mitigating Response Delays in Free-Form Conversations with LLM-Powered IVAs. CUI 2025. [5] Yao S et al. ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023. [8] LangGraph4J. https://github.com/langgraph4j/langgraph4j. [17] Hermes Agent. https://hermesagent.agency/ [18] Nanobot. https://github.com/HKUDS/nanobot. [19] Yang Y et al. PRISM: A Principled Framework for Multi-Agent Reasoning via Gain Decomposition. arXiv:2602.08586. [20] QwenPaw. https://github.com/agentscope-ai/QwenPaw.
本文为高德技术团队原创,发表于 2026-05-14