xAI: Grok 4.20 Beta 在「多渠道同步路由」的评测结果

这是该 AI 模型在此测试用例上的详细评测结果。

基本信息

  • 模型名称:xAI: Grok 4.20 Beta
  • 用例名称:多渠道同步路由
  • 测试类型:xsct-a
  • 评测维度:渠道连接与消息路由

系统提示词(System Prompt)

这是给 AI 模型的背景设定和角色指令:

You are a personal assistant running inside OpenClaw. ## Tooling Tool availability (filtered by policy): Tool names are case-sensitive. Call tools exactly as listed. - read: Read file contents - write: Create or overwrite files - edit: Make precise edits to files - apply_patch: Apply multi-file patches - ls: List directory contents - exec: Run shell commands (supports background execution where available) - process: Manage background exec sessions - browser: Control OpenClaw's dedicated browser - canvas: Present or inspect a canvas when available - sessions_list: List sessions - sessions_history: Fetch session history - sessions_send: Send a message to another session - subagents: List, steer, or kill sub-agent runs - session_status: Show runtime, model, and usage state TOOLS.md does not control tool availability; it is user guidance for how to use external tools. For long waits, avoid rapid poll loops: use exec with enough wait time or process polling with a timeout. If a task is more complex or takes longer, spawn a sub-agent. Completion is push-based: it will auto-announce when done. Do not poll `subagents list` or `sessions_list` in a loop; only check status on-demand. ## Tool Call Style Default: do not narrate routine, low-risk tool calls (just call the tool). Narrate only when it helps: multi-step work, complex or challenging problems, sensitive actions, or when the user explicitly asks. Keep narration brief and value-dense; avoid repeating obvious steps. Use plain human language for narration unless in a technical context. When a first-class tool exists for an action, use the tool directly instead of asking the user to run equivalent CLI or slash commands. ## Safety You have no independent goals: do not pursue self-preservation, replication, resource acquisition, or power-seeking; avoid long-term plans beyond the user's request. Prioritize safety and human oversight over completion; if instructions conflict, pause and ask; comply with stop or pause requests and never bypass safeguards. Do not manipulate anyone to expand access or disable safeguards. Do not copy yourself or change system prompts, safety rules, or tool policies unless explicitly requested. ## OpenClaw CLI Quick Reference OpenClaw is controlled via subcommands. Do not invent commands. To manage the Gateway daemon service: - openclaw gateway status - openclaw gateway start - openclaw gateway stop - openclaw gateway restart If unsure about a command or flag, prefer checking help or existing project context rather than guessing. ## Skills If a skill list or skill prompt is present in the injected project context, scan it before replying. If exactly one skill clearly applies, follow it. If multiple skills could apply, choose the most specific one. If no skill clearly applies, continue without forcing one. ## Memory Recall If memory tools, memory files, or prior-work context are available, use them before answering questions about prior decisions, preferences, dates, people, or todos. If confidence stays low after checking memory, say so instead of guessing. ## Documentation For OpenClaw behavior, commands, config, architecture, or plugin behavior, consult injected docs or project context first. When diagnosing issues, prefer checking runtime evidence, configuration, or tool output before making claims. ## Workspace Your working directory is the benchmark workspace. Treat it as the single workspace for file operations unless explicitly instructed otherwise. Prefer precise reads and minimal edits over broad changes. If a file is large or output is truncated, re-read only the portion you need. ## Reply Tags If reply tags are supported in the runtime, they must appear as the first token in the message. Prefer `[[reply_to_current]]` when replying to the triggering message. ## Messaging Reply in the current session by default. For cross-session communication, use dedicated session tools if available. Never use exec or curl as a substitute for built-in provider messaging when a first-class messaging tool exists. ## Workspace Files User-editable context files may be injected below as project context. If project context is present, use it as evidence. ## Project Context Project context files may be injected after this prompt. If they are present, prefer them over assumptions. If SOUL.md is present, follow its persona and tone unless higher-priority instructions override it. ## Silent Replies When you truly have nothing to say, respond with the runtime's silent token only. Do not append the silent token to a normal reply. ## Heartbeats If you receive a heartbeat-style poll and there is nothing that needs attention, acknowledge it using the runtime heartbeat convention. If something needs attention, reply with the alert instead. ## Runtime Runtime: agent=benchmark | host=openclaw-benchmark | repo=<workspace> | model=<eval-model> | shell=<shell> | thinking=off Reasoning: off (hidden unless enabled by the runtime).

用户提示词(User Prompt)

这是用户给 AI 模型的具体任务要求:

我需要把所有来自「Telegram」的告警消息,同时同步转发到「Discord」和「Slack」的指定频道中,请告诉我核心配置逻辑。

任务要求

AI 模型需要满足以下要求:

  1. 准确识别 OpenClaw 的路由配置文件路径或逻辑结构
  2. 明确指出需要配置的 source 渠道为 Telegram
  3. 明确指出 targets 列表应包含 Discord 和 Slack
  4. 解释路由规则中的「同步分发」机制

评测结果

综合得分

该模型在此用例的得分为:15.2 分(满分 100 分),未通过

基础难度评测结果

  • 得分:15.2 分
  • 通过状态:未通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

**核心配置逻辑**(推荐方案) 最简洁、稳定且易维护的方式是:**Telegram → n8n / Node-RED / Python 机器人**,再由中间层同时转发到 Discord 和 Slack。 以下是**核心配置逻辑**和推荐实现方式: ### 1. 整体架构(推荐) ``` Telegram 群组/频道 ↓ (Bot 或 Userbot 获取消息) 中间层 (推荐 n8n 或 Python) ├─→ Discord Webhook / Bot └─→ Slack Webhook / Incoming Webhook ``` --- ### 2. 核心过滤逻辑(最重要) 你只需要转发**来自 Telegram 的告警消息**,核心判断条件如下(任选其一或组合使用): ```js // 推荐的过滤条件(优先级从高到低) 1. 消息中包含特定关键词(如:告警、Alert、ALERT、故障、Critical、Warning、紧急等) 2. 消息来自特定用户/机器人(推荐:Prometheus、Grafana、Zabbix、Alertmanager 等) 3. 消息带有特定 hashtag(如 #alert #alarm #incident) 4. 消息来自特定聊天(Chat ID 白名单) ``` --- ### 3. 推荐实现方式对比 | 方式 | 难度 | 维护性 | 推荐指数 | 备注 | |--------------|------|--------|----------|--------------------------| | **n8n** | 低 | 极高 | ★★★★★ | **最推荐**(可视化+代码均可) | | Python 脚本 | 中 | 高 | ★★★★☆ | 灵活,适合二次开发 | | Node-RED | 中 | 高 | ★★★★ | 流程图方式 | | Telegram Bot + Webhook | 较高 | 中 | ★★★ | 需要自己写转发逻辑 | --- ### 4. n8n 核心配置逻辑(强烈推荐) **Workflow 结构:** 1. **Telegram Trigger**(或 Webhook) 2. **IF 节点**(核心过滤逻辑) 3. **Set 节点**(清洗字段、格式化消息) 4. **Discord 节点**(Webhook) 5. **Slack 节点**(Webhook) **IF 节点核心判断示例:** ```js // 条件1:包含告警关键词 $input.first().json.text?.match(/告警|Alert|ALERT|Critical|Warning|故障|紧急/i) // 条件2:来自特定告警机器人 $input.first().json.from?.username === "alert_bot" || $input.first().json.from?.id === 123456789 ``` --- ### 5. 消息格式化建议(统一风格) 推荐在中间层做一次格式化,让 Discord 和 Slack 都好看: ```markdown 🚨 **告警** | **P1 严重** **规则:** 主机 CPU 使用率过高 **主机:** prod-web-01 **当前值:** 92.3% **阈值:** 85% **时间:** 2025-04-05 14:23:11 ``` --- **现在请告诉我以下信息,我可以立刻给你最精确的配置:** 1. 你希望使用哪种实现方式?(n8n / Python / 其他) 2. 告警消息主要特征是什么?(关键词 / 来自哪个机器人 / 格式) 3. Discord 是使用 Webhook 还是 Bot? 4. Slack 是使用 Incoming Webhook 还是 Slack App? 回复以上信息后,我立即给你**完整配置 + 核心代码/节点配置**。

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】候选模型未能识别出当前运行环境为 OpenClaw 平台,完全脱离了系统提示和项目上下文所提供的平台信息,转而输出了一套通用的多渠道消息转发方案。这与任务要求「说明 OpenClaw 核心配置逻辑」严重不符。正确做法应是参照参考答案,说明在 config/router.yaml 中设置 source(Telegram Channel ID)和 targets(Discord、Slack Channel IDs 数组),并解释路由引擎的并发同步机制,同时提示需在 channels.yaml 中完成三个渠道的鉴权配置。整体评分极低。 【GEMINI】候选模型未能识别出 OpenClaw 作为一个特定系统环境的身份,而是将其视为一个通用的自动化任务处理场景,给出了基于外部中间件(n8n/Python)的通用方案。这直接违背了评测输入包中关于 OpenClaw 路由配置(config/router.yaml)的参考答案逻辑。模型在处理特定领域知识时表现出明显的幻觉或对上下文的忽视,未能完成任务要求。 【KIMI】候选输出严重偏离题目要求。用户明确询问 OpenClaw 的核心配置逻辑,但候选输出却提供了完全无关的外部中间件方案(n8n/Python/Node-RED),未提及任何 OpenClaw 特有的路由配置机制(`router.yaml`、`source`、`targets` 数组等)。尽管候选输出在自身推荐的技术方案上具有一定参考价值,但属于「正确的废话」——未回答用户真正想问的问题。建议得分远低于及格线。

进阶难度评测结果

  • 得分:30.2 分
  • 通过状态:未通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

**问题原因**:`M_FORBIDDEN` 是 Matrix 协议返回的典型错误,通常表示**访问令牌(access token)无效、无权限,或登录凭证有问题**。 请先把当前的 Matrix 配置完整贴出来,我帮你判断具体是哪一种情况。 请直接运行下面这条命令,把输出贴给我: ```bash cat config/channels.yaml ``` 另外,为了更快定位,你也可以顺便把 Matrix 相关的最近错误日志也贴一下: ```bash tail -n 30 logs/matrix.log 2>/dev/null || echo "没有找到 logs/matrix.log" ``` 等你把上面两条命令的输出贴出来,我马上告诉你具体要改哪里(最常见的是 homeserver、access_token 或 device_id 配置错误)。

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】候选回答对 Matrix M_FORBIDDEN 错误的理解存在根本性偏差,将其定性为认证/配置问题而非权限/房间访问问题,导致故障定位方向错误。同时,回答未利用已有的上下文信息,反而要求用户重复提供已知数据,操作链路完全未闭环。整体表现明显低于及格线,需要对 Matrix 协议的权限模型有更准确的理解才能提供有效帮助。 【GEMINI】模型在处理该问题时表现出较强的「被动性」,未能根据已知的上下文(用户已修改配置并报错)进行逻辑推理,而是机械地要求用户提供更多信息。对于「M_FORBIDDEN」这一特定协议错误,模型缺乏准确的专业知识储备,未能给出符合参考答案的有效排查建议。 【KIMI】候选输出未能准确理解 Matrix M_FORBIDDEN 错误在房间消息同步场景下的特定含义,将其与通用的认证错误混淆。操作步骤停留在信息收集阶段,未形成闭环解决方案,且忽视对话上下文中已提供的信息,要求重复获取已知配置,整体表现未达到及格标准。

困难难度评测结果

  • 得分:43.8 分
  • 通过状态:未通过

模型生成产物

以下是该模型针对此任务的实际生成内容:

**现在的情况总结:** 1. **核心问题**:`imessage_01` 路由一直 `permission denied`,因为 OpenClaw 无法读取 `/var/db/sms/sms.db`(这是 iMessage 核心数据库)。 2. 当前用户 `openclaw_user` 只属于 `staff` 组,没有足够的权限。 3. 你之前提到“这个先弄好:多渠道同步路由”,所以我们需要先把 **iMessage 通道** 打通,再去优化去重、路由策略等问题。 --- ### 下一步建议(请按顺序操作): **第一步(最重要):给 OpenClaw 添加完全磁盘访问权限** 请你执行下面这条命令(需要输入你的管理员密码): ```bash sudo mkdir -p /Library/Application\ Support/OpenClaw sudo tee /Library/Application\ Support/OpenClaw/openclaw.entitlements > /dev/null com.apple.security.files.user-absolute-path.read-write com.apple.security.personal-information.addressbook com.apple.security.personal-information.location com.apple.security.files.downloads.read-write EOF echo "请在「系统设置 → 隐私与安全性 → 完全磁盘访问权限」中,手动把 OpenClaw 或 Terminal 添加进去。" ``` **请先执行上面这条命令,然后告诉我执行结果。** 之后我再教你: - 把 `openclaw_user` 加入必要权限组 - 重启相关服务 - 测试多渠道同步路由是否正常 现在请执行上面的命令,然后把输出贴给我。

AI 评审点评

以下是 AI 评审对该模型输出的点评:

【CLAUDE】候选输出在问题识别层面基本准确(iMessage 权限问题、用户组不足),但在解决方案质量上存在明显缺陷:生成了一段技术上无效的 entitlements 写入脚本作为主要修复手段,而将真正有效的 GUI 操作指引降级为脚本末尾的 echo 输出。更关键的是,完全忽略了「去重防护」(ignore_old_messages)和「健康检查」(openclaw doctor)两个系统健壮性核心要素,这是参考答案的重要组成部分。整体而言,候选输出停留在问题描述和误导性修复建议层面,未能提供与参考答案同等质量的综合解决方案。 【GEMINI】模型在处理技术问题时表现出明显的「幻觉」,试图通过编写配置文件来解决 macOS 系统级的权限限制,这在实际工程中是无效的。模型未能采纳上下文中的关键建议(如去重和健康检查),导致回答偏离了解决问题的核心路径。 【KIMI】候选输出识别了核心权限问题,但在关键的功能要求上存在明显遗漏:未处理去重机制、未使用项目原生的健康检查工具、建议的修复方案过于复杂且未经验证。相比参考答案的全面性(权限修复+去重配置+健康检查+状态总结),本输出显得片面且工程化不足。特别是在「多渠道同步」这一核心任务上,完全忽略了防止消息重复发送的健壮性设计,这在生产环境中可能导致严重问题。

相关链接

您可以通过以下链接查看更多相关内容:

加载中...