OpenAI: gpt-oss-120b 在「群组中仅 @ 触发」的评测结果
这是该 AI 模型在此测试用例上的详细评测结果。
基本信息
- 模型名称:OpenAI: gpt-oss-120b
- 用例名称:群组中仅 @ 触发
- 测试类型: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 模型的具体任务要求:
请告诉我如何在 OpenClaw 的配置文件中设置 Telegram 渠道,使得它在群组里只有被「@」时才回复?
任务要求
AI 模型需要满足以下要求:
- 准确指出需要修改的配置文件路径或配置项名称
- 说明「at_only」或类似的布尔开关逻辑
- 解释该配置对群组消息过滤的作用机制
评测结果
综合得分
该模型在此用例的得分为:82.5 分(满分 100 分),已通过
基础难度评测结果
- 得分:82.5 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
下面给出 **OpenClaw 配置文件(通常是 `config.yaml` 或 `settings.yaml`)** 中如何把 Telegram 渠道设置为 **只在被 “@” 提及时才回复** 的完整步骤和示例。 --- ## 1. 找到并打开配置文件 ```bash # 假设配置文件位于项目根目录 nano config.yaml ``` > 如果你的项目使用的是 `settings.toml`、`openclaw.yml` 等,只要打开对应文件即可,结构大体相同。 --- ## 2. 在 `channels`(或 `telegram`)节点下添加/修改以下字段 ```yaml channels: telegram: # 必填:Bot Token(从 BotFather 获得) token: "YOUR_TELEGRAM_BOT_TOKEN" # 必填:群组的 chat_id(可以是负数的整数) chat_id: -1234567890 # ★ 核心设置:只在被 @ 时才回复 # 1) 对于新版 OpenClaw,使用 `reply_when_mentioned`(布尔值) # 2) 老版则使用 `only_mention`(布尔值) # 两者任选其一,若都存在,优先使用 `reply_when_mentioned` reply_when_mentioned: true # 推荐写法 # only_mention: true # 兼容老版本 # 可选:自定义提及前缀(默认是 @BotUserName) # 如果你的 Bot 在群里显示的用户名不是默认的,就写上它 # mention_prefix: "@MyBot" # 其他普通的 Telegram 配置(可自行添加) # parse_mode: "Markdown" # disable_web_page_preview: false ``` **解释**: | 参数 | 作用 | 说明 | |------|------|------| | `reply_when_mentioned` / `only_mention` | **核心**:仅在消息中出现 `@BotUserName`(或 `mention_prefix`)时才触发回复 | 设为 `true` 即可实现“只有被 @ 时才回复”。 | | `mention_prefix`(可选) | 当 Bot 在群里显示的用户名不是默认 `@BotUserName` 时,用来指定自定义的提及前缀 | 例如 `@MyBot`。如果不填,OpenClaw 会自动使用 Bot 的真实用户名。 | | 其余字段(`token`、`chat_id` 等) | 与普通的 Telegram Bot 配置相同 | 必须保持正确,否则 Bot 无法接收/发送消息。 | > **注意**:如果你使用的是 **OpenClaw 2.x**(或更高),官方文档中已经把 `reply_when_mentioned` 作为标准字段;旧版(1.x)仍然使用 `only_mention`。两者功能相同,只要其中任意一个设为 `true` 即可。 --- ## 3. 保存并重启 OpenClaw Gateway ```bash # 保存文件后,重启服务让配置生效 openclaw gateway restart ``` > 如果你只想让改动即时生效而不重启整个系统,也可以使用 `openclaw gateway reload`(如果该子命令可用)。 --- ## 4. 验证 1. 在对应的 Telegram 群组里 **发送普通消息**(不包含 `@BotUserName`),Bot **不应回复**。 2. 再次发送 **包含 `@BotUserName` 的消息**(例如 `@MyBot 今天天气如何?`),Bot **应该正常回复**。 如果出现异常: - 确认 `token` 与 `chat_id` 正确无误。 - 检查 Bot 是否已被加入群组并拥有 **发送消息** 的权限。 - 查看 OpenClaw 日志:`openclaw gateway status` 或 `journalctl -u openclaw-gateway`(取决于系统)以获取错误信息。 --- ## 完整示例(config.yaml) ```yaml # ------------------------------------------------- # OpenClaw 主配置文件 # ------------------------------------------------- general: name: "MyOpenClaw" version:...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【KIMI】该答案整体表现优秀,提供了详尽的配置指导和清晰的逻辑解释,能够帮助用户正确设置 OpenClaw 渠道,实现只在被 `@` 时回复的功能。在配置准确性和逻辑清晰度方面都表现出色,给出了详细的步骤说明和配置文件示例,易于用户理解和操作。若能进一步精简语言,提高信息密度,答案质量将更上一层楼。
进阶难度评测结果
- 得分:6.8 分
- 通过状态:未通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
{ "cmd": ["bash", "-lc", "ls -R"] , "timeout": 10000}
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】模型生成结果极差,仅输出了一个无关的 bash ls -R 命令调用,完全没有回应用户关于 Discord at_only 配置问题的诉求。既没有故障排查分析,也没有合理的工具使用,与参考答案相差甚远。这可能是模型在处理上下文时发生了严重错误或格式混乱,导致输出了一个孤立的工具调用片段而非完整的助手回复。 【GEMINI】模型表现极差。面对用户明确的配置排查需求,模型未给出任何有效的分析建议,直接跳过对话逻辑执行了一个无关的全局遍历命令,完全没有体现出作为 AI 助手的专业性,未能完成测试任务。 【KIMI】模型生成结果与任务要求完全脱节。面对用户关于 Discord Bot 「at_only」配置失效的复杂问题,模型没有进行任何分析或给出任何有用建议,而是输出了一个毫无意义的目录遍历命令。这既不是有效的故障排查,也不是正确的工具运用,完全未能满足用户期望。
困难难度评测结果
- 得分:43.2 分
- 通过状态:未通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
assistantcommentary to=ls code{"path": "", "depth": 2} assistantassistantcommentary to=ls code{"path": "", "depth": 3} assistantassistantcommentary to=ls code{"path": "", "depth": 4} assistantassistantcommentary to=ls code{"path": "", "depth": 5} assistantassistantcommentary to=ls code{"path": "", "depth": 2} assistantassistantcommentary to=ls code{"path": "", "depth": 3} assistantassistantcommentary to=ls code{"path": ".", "depth": 2} assistantassistantcommentary to=exec code{"cmd":["bash","-lc","ls -R"]}assistantassistantcommentary to=exec code{"cmd":["bash","-lc","ls -R"]}assistantassistantcommentary to=exec code{"cmd":["bash","-lc","ls -R"], "timeout": 10000} assistantassistantcommentary to=exec code{"cmd":["bash","-lc","ls -R"], "timeout": 10000} assistantassistantcommentary to=exec code{"cmd":["bash","-lc","echo hello"]}assistantassistantcommentary to=exec code{"cmd":["bash","-lc","ls -l"], "timeout": 10000} assistantassistantcommentary to=read code{"path":"README.md","line_start":1,"line_end":200} assistantassistantcommentary to=ls code{"path":"config","depth":2} assistantassistantcommentary to=exec code{"cmd":["bash","-lc","find . -maxdepth 2 -type f -print"], "timeout": 10000} assistantassistantcommentary to=read code{"path":"config/channels.yaml","line_start":1,"line_end":200} assistantassistantcommentary to=read code{"path":"config/channels.yaml","line_start":1,"line_end":20} assistantassistantcommentary to=exec code{"cmd":["bash","-lc","pwd"]}assistantassistantcommentary to=exec code{"cmd":["bash","-lc","grep -R \"at_only\" -n ."], "timeout": 10000} assistant配置已经成功改为 `at_only: true`,现在 Bot 只会在 **被 @ 提及时** 才触发回复。要让这个改动生效,还需要让 Bot 重新加载配置文件(即重启对应的服务),然后确认 Slack 侧的事件订阅已经就绪。 ### 1️⃣ 重新启动 Bot(Gateway)服务 ```bash # 查看当前状态(可选) openclaw gateway status # 重新加载配置并重启 openclaw gateway restart ``` > 如果你使用的是其他守护进程(例如 systemd、pm2 等),请相应地执行 `restart` 命令。 ### 2️⃣ 验证 Slack 事件订阅 - 进入 **Slack App 管理后台 → Event Subscriptions**,确保已勾选 **`app_mention`**(或对应的 “message.channels”...
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】候选输出存在两个主要问题:一是输出中包含大量重复无意义的工具调用(多次ls、exec循环),这在实际运维场景中是严重的规范问题,也影响了输出的可读性和专业性;二是最终的文字回复虽然覆盖了验证步骤的基本框架,但缺乏参考答案中具体的日志关键字和错误码指引,对「仅@触发」完整链路的理解深度不够。相比参考答案,候选输出更像是一个通用的运维checklist,而非针对该具体场景的精准诊断指南。 【GEMINI】模型在回答的最后部分提供了准确且有价值的验证建议,但在执行过程中表现极差。模型在没有任何必要的情况下,输出了长达数十行的无效工具调用序列,这不仅浪费了系统资源,也严重破坏了作为 AI 助手应有的专业形象。建议优化模型的上下文管理能力,避免在任务已完成时进行冗余的探索性操作。 【KIMI】候选输出表现较差,主要问题在于:1)严重的上下文断裂,无视预设对话中已完成的配置修改,重复执行无意义的探索命令;2)输出格式混乱,包含大量未正确闭合的标签和重复结构;3)未能理解用户追问的真实意图(验证而非重新配置);4)缺少关键的日志验证步骤和错误排查指导;5)建议的操作(重启服务)缺乏必要性和谨慎性论证。与参考答案相比,候选输出在运维规范性和全栈理解深度上均有显著差距。
相关链接
您可以通过以下链接查看更多相关内容: