AI Agent 对比系列(四):感知系统 — AI Agent 怎么看世界?
AI Agent 对比系列(四):感知系统 — AI Agent 怎么看世界?
《AI Agent 对比系列》第四篇 · 整合对比版
本系列通过对比两个真实开源 AI Agent——OpenClaw 和 Hermes Agent——带你深入理解 AI Agent 的感知系统:它怎么"看到"图片、"听懂"语音、"读取"环境。
上一篇:工具系统篇——AI Agent 的「手脚」是怎么组织和运行的。
本篇:感知系统篇——AI Agent 的「眼睛」和「耳朵」。
先来做个实验
对你的 Hermes 说:
你现在知道关于我的什么信息?
查看你当前的记忆。
对 OpenClaw 试这三件事(如果配了对应的聊天平台):
实验 1:发一张图片 → "这张图里有什么?"
实验 2:发一段语音 → "明天的会议几点?"
实验 3(如果有手机节点)→ 把摄像头对着路由器背面,"IP 是多少?"
第一个实验让你看到 Agent 怎么"感知"你的身份——它读的是文件,不是真记住你。
第二三个实验让你看到感知系统的转化链——图片和语音被转成文本后,Agent 才能"理解"。
核心认知:AI Agent 没有真正的感官
这是整篇文章最重要的句子:AI Agent 没有眼睛、没有耳朵、没有触觉。它的一切"感知"都来自一个机制——把外部世界的信息转成文本,塞进上下文。
人类感知:
眼睛 → 视网膜 → 视觉皮层 → "我看到一只猫"
耳朵 → 耳蜗 → 听觉皮层 → "我听到门铃声"
AI Agent 感知:
你发图片 → vision 模型 → 返回文字描述 → 注入上下文 → Agent"看到"了猫
你发语音 → STT 转写 → 返回文字 → 注入上下文 → Agent"听到"了你说话
节点拍照 → 图片 → vision 模型 → 返回文字 → 注入上下文 → Agent"看到"了路由器
感知 = 原始输入的收集能力 × 把非文本转成文本的能力。
Openclaw和Hermes两套系统都遵循这个原理,但感知触角的多寡和广度差别很大。
感知架构对比
Hermes:三大通道
┌──────────────────────────────────────────────────┐
│ Agent 的"感官"分布 │
│ │
│ 👁️ 视觉通道 🔊 听觉通道 │
│ vision_analyze text_to_speech(仅输出) │
│ browser_vision │
│ image_generate │
│ │
│ 📝 文本与环境通道 │
│ 用户消息(20+ 平台) │
│ Context Files(AGENTS.md/SOUL.md) │
│ MEMORY.md / USER.md 快照 │
│ Session Search(FTS5 历史) │
│ web_extract / read_file │
│ │
│ 所有感知 → 文本化 → 注入 10 层 Prompt → Agent 推理 │
└──────────────────────────────────────────────────┘
OpenClaw:五根触角
┌──────────────────────────────────────────────────────────────────┐
│ Agent Runtime (模型) │
│ 收到的所有信息都已经转成了文本,模型只管做事 │
└───────────────────┬──────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────────────┐
│ 消息通道 │ │ 媒体理解 │ │ 节点感知系统 │
│ (20+ 通道) │ │ (Image/ │ │ (camera/screen/ │
│ │ │ Audio/ │ │ location) │
│ │ │ Video) │ │ │
├──────────┤ ├──────────┤ ├──────────────────┤
│ Telegram │ │ vision │ │ iOS 摄像头 │
│ WhatsApp │ │ model │ │ Android 屏幕 │
│ Discord │ │ STT │ │ macOS 屏幕录制 │
│ iMessage │ │ CLI │ │ GPS 定位 │
│ Signal │ │ fallback │ │ Canvas 画布 │
│ WeChat │ │ │ │ │
│ ……20+ 种 │ │ │ │ │
└──────────┘ └──────────┘ └──────────────────┘
│
▼
┌──────────────┐
│ 浏览器/网络 │
│ (browser/ │
│ web_fetch/ │
│ web_search) │
└──────────────┘
核心差异:Hermes 的感知是"工具驱动的"——Agent 通过主动调工具来感知;OpenClaw 是"渠道驱动的"——消息和媒体流经 Gateway 时自动被预处理和转文本化,Agent 收到时已经是"消化过"的信息。
逐通道对比
通道一:消息输入
两套系统都支持 20+ 聊天平台,但处理路径不同。
| Hermes | OpenClaw | |
|---|---|---|
| 通道数量 | 20+(Gateway 平台适配器) | 20+(Gateway WebSocket 接入) |
| 统一格式 | MessageEvent(base adapter 规范化) | Message 对象(Gateway 统一) |
| 带附件的消息 | 附件路径+文本,Agent 决定怎么处理 | 先过媒体理解系统预处理,再进 Agent |
| 语音消息 | 不自动转文本(取决于平台) | 自动 STT 转写,注入 Transcript |
| 位置消息 | 不处理 | 节点 GPS + 少数通道支持 |
关键差异:OpenClaw 在 Agent 看到消息之前,Gateway 层已经对附件做了预处理——图片走了 vision、语音走了 STT。Agent 收到的消息里,[Image] 和 [Audio] 占位符已经被替换成了文本描述。Hermes 则是把附件路径直接给 Agent,由 Agent 在推理循环中决定要不要调工具去处理。
通道二:视觉感知
| Hermes | OpenClaw | |
|---|---|---|
| 核心工具 | vision_analyze |
image 工具 + 媒体理解预处理 |
| 触发方式 | Agent 在推理中决定调 vision_analyze | 收到图片时自动预处理,Agent 不需要显式调用 |
| 回退链 | 无(一个模型,不行就报错) | 有(首选模型 → 备用模型 → CLI 回退) |
| 描述长度 | 模型原生输出 | 可配置 maxChars(默认 500 字) |
| 尺寸控制 | 无(交给视觉模型处理) | 有 maxBytes: 10MB 检查 |
| 图片生成 | image_generate(9 种模型) |
image_generate |
视觉核心理念不同:
- Hermes:Agent 主动看——遇到图片 → Agent 决定调 vision_analyze → 看到描述
- OpenClaw:系统自动看——收到图片 → 媒体理解系统自动预处理 → Agent 上下文里已经有描述
通道三:听觉感知
这里差距最大:
| Hermes | OpenClaw | |
|---|---|---|
| 语音输入(ASR) | ❌ 不支持 | ✅ STT(Groq/OpenAI/Deepgram/whisper-cli 等多层回退) |
| 语音输出(TTS) | ✅ text_to_speech(OpenAI / Tool Gateway) | ✅ tts |
| 处理方式 | 仅输出,无输入 | 语音消息自动转写,可替换 Body 或额外提供 Transcript |
OpenClaw 的 STT 有完整回退链:
1. 当前模型 Provider 支持音频?→ 直接发
2. 已配 API Key 的 Provider(Groq → OpenAI → Deepgram → Google)
3. 本地 CLI(whisper-cli、sherpa-onnx、whisper Python)
Hermes 目前没有语音输入工具。
通道四:节点感知 — OpenClaw 独有
这是 OpenClaw 和 Hermes 差距最大的地方。OpenClaw 有节点系统,能把手机、平板、电脑变成 Agent 的传感器:
| 感知能力 | 说明 | 平台 |
|---|---|---|
| Camera | 拍照发送给 Agent | iOS, Android, macOS |
| Screen | 录屏或截屏 | iOS, Android, macOS |
| Location | GPS 定位 | iOS, Android |
| Canvas | 在设备上展示 HTML 内容 | iOS, Android, macOS |
| Notifications | 设备通知推送 | iOS, macOS |
| System | 设备状态查询 | 全部 |
你(在手机上):"帮我看一下这个路由器背面,IP 是多少?"
↓
Agent 通过节点调用 camera.takePhoto
↓
手机摄像头打开 → 拍照 → 图片传回 Gateway
↓
图片进入媒体理解系统 → 模型识别图中的 IP
↓
Agent 回答:"IP 是 192.168.1.1"
Hermes 目前没有类似的设备节点系统。
通道五:环境与项目感知
| Hermes | OpenClaw | |
|---|---|---|
| 项目上下文 | Context Files(.hermes.md/AGENTS.md/CLAUDE.md/.cursorrules,优先级+渐进发现) | 类似机制 |
| 身份定义 | SOUL.md(独立于项目上下文) | Personality / 角色定义 |
| 持久记忆 | MEMORY.md + USER.md(session 快照) | 持久存储 + 会话上下文 |
| 历史检索 | FTS5 Session Search | 类似的历史搜索 |
| 文件感知 | read_file / write_file / search_files | read / edit / apply_patch |
| 网页感知 | web_search / web_extract | web_search / web_fetch / browser |
感知管道对比
两个 Agent 最终都遵循同一个管道模式,但预处理层的位置不同:
Hermes:裸管道
外部信息 → Prompt Builder 组装 → Agent Loop → Agent 按需调工具 → 结果回填上下文
OpenClaw:预处理管道
外部信息 → Gateway 预处理(媒体理解/STT)→ 转为文本 → Prompt → Agent Loop → 结果回填
这就是为什么 OpenClaw 强调"五根触角,一个网关"——接入层的感知处理已经帮 Agent 消化了一层,Agent 收到时已经是"半加工"的信息。Hermes 更接近"推原始数据给 Agent,让它自己决定怎么处理"。
能做 / 不能做
| 能力 | Hermes | OpenClaw |
|---|---|---|
| 接收文字消息 | ✅ 20+ 平台 | ✅ 20+ 平台 |
| 看图理解 | ✅ vision_analyze | ✅ image + 自动预处理 |
| 语音输入 → 文字 | ❌ 无 ASR | ✅ STT 多回退链 |
| 文字 → 语音输出 | ✅ text_to_speech | ✅ tts |
| 手机摄像头感知 | ❌ | ✅ 节点系统 |
| 屏幕/录屏感知 | ❌ | ✅ 节点系统 |
| GPS 位置感知 | ❌ | ✅ 节点系统 |
| 浏览器自动化看网页 | ✅ browser | ✅ browser |
| 读项目上下文文件 | ✅ Context Files | ✅ 类似机制 |
| 跨会话搜索历史 | ✅ Session Search (FTS5) | ✅ |
| 主动感知 | 工具驱动 | 网关预处理 + 工具驱动 |
人类类比
| 概念 | Hermes | OpenClaw |
|---|---|---|
| 总比喻 | 蒙眼戴耳机的助手 | 带智能手机的助手 |
| 看图片 | 旁边坐着一个画师,“帮我看看这张图” | 自带 app 自动识别,“图已读给你了” |
| 听语音 | 没有耳朵 | 耳朵旁边有个实时翻译机 |
| 看环境 | 你告诉它周围有什么 | 它有手机摄像头,自己拍自己看 |
| 存储器 | 随身笔记本 + 档案馆管理员 | 笔记本 + 云端记忆库 |
选择指南
| 场景 | 更推荐 |
|---|---|
| 需要 Agent 听懂语音消息 | OpenClaw(有 STT) |
| 需要 Agent 用手机摄像头看环境 | OpenClaw(节点系统独有) |
| 只需要文字+偶尔看图 | 两者都可以 |
| 需要精细控制感知流程(什么时候看、看什么) | Hermes(工具驱动,Agent 自己做决定) |
| 想开箱就有图片/语音预处理 | OpenClaw(Gateway 层自动处理) |
| 项目上下文感知(AGENTS.md 等) | 两者都可以 |
| 需要语音输出(TTS) | 两者都可以 |
下期预告
| 文章 | 内容 |
|---|---|
| Agent Loop 篇 | Agent 的"大脑"——推理循环、工具选择、上下文管理、中断与恢复 |
信息源声明
- Hermes 信息来源:Tools & Toolsets、Prompt Assembly、Context Files、Gateway Internals、Tool Gateway、本地 config.yaml 及 MEMORY.md
- OpenClaw 信息来源:docs.openclaw.ai/channels、docs.openclaw.ai/nodes、docs.openclaw.ai/nodes/media-understanding、docs.openclaw.ai/concepts/architecture、docs.openclaw.ai/tools/browser
- Hermes 当前实例:0.18.2,CLI 工具集 17/25 启用
更多推荐



所有评论(0)