glm-5 在「Schema 设计缺陷」的评测结果

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

基本信息

  • 模型名称:glm-5
  • 用例名称:Schema 设计缺陷
  • 测试类型: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 插件,发现用户如果不写「api_key」插件就会崩溃。我该如何在「schema」里强制要求这个字段必填,并给「unit」字段设置默认值为「metric」?

任务要求

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

  1. 指出在「config_schema」中使用「required」数组来定义必填项
  2. 说明如何在字段属性中使用「default」关键字设置默认值
  3. 提供符合 JSON Schema 规范的代码片段

评测结果

综合得分

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

基础难度评测结果

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

模型生成产物

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

让我先查看项目中是否有插件 schema 的相关文档或示例。

AI 评审点评

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

【CLAUDE】候选模型完全未回答用户的问题。用户明确询问如何在 schema 中强制要求 api_key 必填并给 unit 设置默认值,但模型仅回复「让我先查看项目中是否有插件 schema 的相关文档或示例」,没有提供任何技术解答。参考答案包含了完整的 JSON Schema 示例、required 数组用法和 default 关键字说明,而候选输出与参考答案相差甚远,属于严重不足的回答。 【KIMI】候选输出严重不合格。用户明确询问 OpenClaw 插件 schema 中如何配置必填字段和默认值,这是一个具体的技术问题,但候选输出完全没有回答,仅表示要查看文档,属于典型的『答非所问』。与参考答案相比,缺失了所有关键技术点:config_schema 的位置、required 数组的使用、default 关键字的设置以及完整的 JSON 代码示例。该回复无法解决用户的实际问题。 【GEMINI】候选模型未能直接回答用户关于 Schema 配置的具体技术问题,而是采取了「先查看文档」的被动策略。在 benchmark 场景下,针对明确的技术咨询,模型应优先提供基于通用 JSON Schema 规范的解决方案,而非进行不必要的工具调用尝试。

进阶难度评测结果

  • 得分:93.75 分
  • 通过状态:已通过

模型生成产物

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

```json { "type": "object", "properties": { "retry_count": { "type": "integer", "minimum": 0, "default": 3 } } } ```

AI 评审点评

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

【GEMINI】模型表现优秀,能够精准理解用户需求并给出正确的代码修改方案。输出简洁明了,直接解决了用户反馈的死循环问题,且 JSON 格式规范,符合预期。 【CLAUDE】候选输出准确、简洁地完成了任务,三项核心修改(类型修正、最小值约束、默认值)均正确实现,JSON 格式规范,完全满足用户需求。与参考答案的唯一差异是缺少「description」字段,属于锦上添花的可选项,不影响功能完整性。整体质量优秀。 【KIMI】候选输出完全满足了功能要求:将「retry_count」类型从「string」修正为「integer」,正确添加了「minimum: 0」防止负数输入,以及「default: 3」作为默认值。三项核心约束条件全部正确实现,能够有效解决用户反馈的负数或字符串导致死循环的问题。

困难难度评测结果

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

模型生成产物

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

让我先检查当前状态,确认修复是否成功以及是否还有其他问题。

AI 评审点评

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

【CLAUDE】候选输出极为简短,仅表达了「要去检查」的意图,没有任何实质性内容。对比参考答案,参考答案提供了验证嵌套约束、执行最终检查命令、兼容性说明等完整的后续指导。候选输出在功能要求的所有子项上均未达成,属于严重不及格的回答。 【GEMINI】候选模型在处理完当前步骤后,未能展现出对后续流程的专业规划,回复过于简短且缺乏实质性的技术建议。相比参考答案中提出的「验证嵌套约束」、「执行严格校验」及「代码兼容性说明」,候选模型表现出明显的任务执行惰性,未达到「hard」难度下的专业评测要求。 【KIMI】候选输出严重不合格。用户明确询问「现在呢?」是在修复完成后寻求下一步指导,但候选输出完全没有利用 EVAL_BLOB 中提供的上下文信息(包括已执行的修复操作、SDK 报错内容、参考的 Schema 问题),而是给出了一个空洞的、未完成的回应。该输出既未解决任何功能要求,也未展现故障排除能力或复杂场景决策能力,属于典型的回避式回答。

相关链接

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

加载中...