高德扫街榜 HermesAgent 配图系统:VLM + Skill + 语言驱动的生产级 Agent 架构¶
Ch07.048 高德扫街榜 HermesAgent 配图系统:VLM + Skill + 语言驱动的生产级 Agent 架构¶
📊 Level ⭐⭐ | 8.6KB |
entities/gaode-saojie-image-selection-hermesagent-vlm-production-2026.md
高德扫街榜 HermesAgent 配图系统:VLM + Skill + 语言驱动的生产级 Agent 架构¶
高德扫街榜(Amap Street Food List)POI 配图系统重构案例。从手工作坊式 Workflow(50+ SQL/8 步骤/T+1 24 小时)重构为 "VLM 语义感知 + Skill 化生产 + HermesAgent 编排 + 语言驱动干预" 的生产级 Agent 系统。单榜单生产 24h → 30min,提效 48 倍。
架构设计哲学:确定性流程 + Agent 各司其职¶
核心选型:混合架构——确定性 Pipeline 负责"重活"(高并发/批量/同构/可并行),Agent 推理负责"巧活"(开放式/组合式/需要理解规则)。这个选择直接回应了"纯 DAG 不够灵活 vs 纯 ReAct Agent 执行路径不稳定"的两难。
五层系统架构¶
| 层级 | 组件 | 职责 |
|---|---|---|
| 交互层 | Hermes 自然语言入口 | 对话干预、自然语言启动/修改配图 |
| 编排层 | Python Pipeline + Hermes | Pipeline 稳定执行,Hermes 管理和调度 |
| 节点层 | Query 泛化/召回/粗排/精排/兜底/质检/审核 | 生产漏斗的每个可控环节 |
| MCP/Skill 层 | 各功能固化为独立 Skill | Python 脚本,可被 Python/Bash/Hermes 调用 |
| 原子能力层 | POI-CLIP/美学评分/OCR/人脸检测/图片去重 | 底层多模态能力 |
分层设计的关键变化:业务规则不再散落在 SQL 和脚本分支里,底层能力不再只能被固定 Pipeline 调用——系统多了一个新的生产接口:语言。
六段式全链路¶
数据准备 → 召回与准入 → 粗排 → 精排(Agent 化) → 兜底 → 质检与准出
关键技术详解¶
1. Agent 化精排决策¶
多维度美学评分(三域十五维度):
| 域 | 维度 | 作用 |
|---|---|---|
| 通用美学域 | 清晰度/曝光/构图/色彩/完整性 | 判断基础可用性 |
| 高级美学域 | 光影质感/视觉冲击力/层次/专业感/情绪 | 判断视觉表现力 |
| 领域美学域 | 主题契合度 | 判断与主题的相关性与出彩性 |
每维度门控保底线 + 补偿拉上限。
RAG 配置驱动:主题 Prompt 和挑图规则外置为配置表(定制 > 通用模板 > 默认),RAG 运行时动态注入。新增主题只需维护配置表,不需要改动执行逻辑。未命中配置时自动调用 LLM 生成 Query 词用于 CLIP 召回。
生产级约束:模型负责感知,代码负责计算: - VLM 输出各维度原始分,最终总分由代码计算——模型不碰聚合逻辑 - Structured output 必须经过运行时白名单校验,非法枚举直接报错重试
2. 兜底与质检¶
多阶梯兜底:复用上游结果(精排 > 粗排 > 召回 > 准入 > 图片库 > 在线图),越靠上验证越多。最差情况保证至少一张兜底图。
VLM 选图 ARAD 标准:Aesthetics / Relevance / Authenticity / Diversity。兜底只选一张,不在弱候选里强行补多张。
多维度质检:基础质量 + 视觉重复度 + 主题相关性 + 反季节检测。
3. 多模态知识库¶
图文相互校验流程:文字总结(区分地方做法 vs 通用做法)→ 图片聚类(最大簇为有效簇)→ VLM 图文一致性确认。从"错中选对"到"对中选优"。
4. Hermes 语言驱动生产¶
Hermes 作为 Agent 编排层,自然语言对话支持进度查询/单点重配/配置修改。四要素工程闭环:功能必须 Skill 化、规则必须配置化、执行必须可观测、结果必须可回滚。
工程实践与踩坑¶
| 挑战 | 解法 |
|---|---|
| 并发 VLM 调用集中重试 | 指数退避 + 随机等待 |
| VLM 数理逻辑局限 | 模型只输出原始分,代码算总分 |
| Structured output 逃逸 | 运行时白名单校验,非法输出重试 |
| VLM 算力容量瓶颈 | 优化 Prompt token、并发逻辑、模型切换 |
| 多机会话一致性 | Consistent Hashing + 分布式 DB |
全链路监控:供给侧/精排侧/兜底侧/质检侧/交付侧看板,支持比昨日/上次版本/线上版本对比。
核心工程原则(跨场景可复用)¶
- 确定性流程与 Agent 各司其职:批量同构的交给 Pipeline,开放组合式的交给 Agent
- 结构化评分替代黑盒打分:问题越具体,LLM 输出越稳定
- 模型负责感知,代码负责计算:生产系统不能把正确性完全寄托在模型"自觉遵守格式"上
- 规则外置到 RAG 配置表:执行逻辑保持稳定,业务规则动态注入
- 兜底、质检和监控是 AI-Native 生产系统的基础设施
- Skill 化是 Agent 落地的工程前提:底层能力封装为稳定工具
- 语言驱动让系统从"人适应机器"转向"机器理解人"
与其他实体的关系¶
- HermesAgent 生产案例:本文是 wiki 中首个 HermesAgent 在大型互联网应用中的端到端生产案例,与 高德 SDD/Harness 编码范式 互补——前者讲 AI 编码,本文讲 Agent 在生产链路的编排
- 确定性 + Agent 混合架构:与 Harness Engineering 的"多层重试+执行者/验证者分离"哲学一致——确定性与 Agent 的边界划分是生产级 Agent 系统设计的核心
- Skill 化/MCP 层:五层架构中的 MCP/Skill 层与 Hermes Agent 的 Skill 系统直接对应——每个能力被封装为可独立调用的工具
- RAG 配置驱动:与 Flow2Spec 结构化知识路由 的"规则外置"思想同源——业务知识从代码中剥离出来
- 语言驱动生产:与 Claude Tag 的"聊天即工作流入口"趋势一致——自然语言成为新的生产接口
实践启示¶
- Agent 化不要 ALL-in:确定性流程和 Agent 推理的混合架构是生产级系统的最佳实践——"重活"交给 Pipeline,"巧活"交给 Agent
- VLM 不等于万能计算器:模型做感知和语义理解,不做算术——显式划分职责边界
- Skill 化是前提:在考虑 Agent 编排之前,先把底层能力封装为可稳定调用的工具
- 语言驱动需要工程闭环:自然语言入口背后必须有可观测性、可回滚性和安全边界
- 生产系统需要三层保障:兜底(覆盖率)、质检(质量底线)、监控(可信度)
→ 原文存档