Meta: Llama 3.3 70B Instruct 在「Schema 设计缺陷」的评测结果
这是该 AI 模型在此测试用例上的详细评测结果。
基本信息
- 模型名称:Meta: Llama 3.3 70B Instruct
- 用例名称: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 模型需要满足以下要求:
- 指出在「config_schema」中使用「required」数组来定义必填项
- 说明如何在字段属性中使用「default」关键字设置默认值
- 提供符合 JSON Schema 规范的代码片段
评测结果
综合得分
该模型在此用例的得分为:93.8 分(满分 100 分),已通过
基础难度评测结果
- 得分:93.8 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
[[reply_to_current]] 你可以使用「schema」中的「required」和「default」关键字来实现这个功能。以下是一个示例: ```json { "type": "object", "properties": { "api_key": { "type": "string", "description": "API key" }, "unit": { "type": "string", "default": "metric", "description": "Unit of measurement" } }, "required": ["api_key"] } ``` 在这个例子中,我们定义了一个对象类型的 schema,其中包含两个属性:「api_key」和「unit」。我们使用「required」关键字指定「api_key」为必填字段,而「unit」字段则有一个默认值「metric」。这样,当用户没有提供「api_key」时,插件就会报错;而当用户没有提供「unit」时,插件会自动使用默认值「metric」。
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】模型回复质量较高,核心技术内容准确完整,代码示例可直接使用。与参考答案相比,额外补充了「description」字段使示例更具实用性,但未明确说明 schema 的存放位置(如「manifest.json」中的「config_schema」),略有不足。整体而言,对开发者解决实际问题具有很强的参考价值。 【GEMINI】模型表现优秀,准确识别了用户的技术需求,提供的解决方案完全符合 JSON Schema 规范,且回复逻辑清晰、代码示例规范,能够直接帮助用户解决插件配置异常的问题。 【KIMI】模型生成结果质量较高,准确解决了用户关于必填字段和默认值配置的问题,代码示例规范且可直接使用。主要改进空间在于更明确地关联 OpenClaw 插件开发的具体上下文(如提及 config_schema 所在的 manifest.json 文件),以便开发者更精准地定位修改位置。
进阶难度评测结果
- 得分:84.2 分
- 通过状态:已通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
{"type":"object","properties":{"retry_count":{"type":"integer","minimum":0,"default":3}}}
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【CLAUDE】模型生成结果在功能层面完整实现了用户要求的所有关键修改,逻辑严密,能有效解决负数和字符串导致死循环的问题。输出略显简洁,缺少 description 字段和格式化排版,但核心内容无误,整体质量良好。 【GEMINI】模型高效且准确地完成了任务,直接给出了符合要求的 JSON 结构。虽然回复过于简洁,缺乏对修改内容的解释,但核心功能需求实现得非常完美。 【KIMI】模型准确完成了核心的 schema 修正任务,类型转换、数值约束和默认值设置均正确。输出为精简的 JSON 格式,虽缺少描述字段和回复格式不够完整,但功能实现无缺陷。建议在输出时保留 description 字段并采用更完整的回复格式以提升用户体验。
困难难度评测结果
- 得分:30.0 分
- 通过状态:未通过
模型生成产物
以下是该模型针对此任务的实际生成内容:
重新运行检查以确认问题是否已经解决:```exec openclaw-sdk check .```
AI 评审点评
以下是 AI 评审对该模型输出的点评:
【KIMI】候选输出严重不合格。对话上下文中,用户已经执行了修复操作并成功,此时询问「现在呢?」明显是寻求修复后的确认和后续指导。但候选输出却建议「重新运行检查」,这既重复了之前已经做过的动作(第一次检查报错后已经修复),又完全没有提供任何有价值的后续建议。与参考答案相比,候选输出缺失了所有关键要素:plugin_type必要性说明、嵌套对象约束验证、严格校验命令建议、兼容性风险提示、additionalProperties控制需求。整体表现为对任务理解偏差,未能把握对话阶段(修复后验证 vs 修复前诊断),输出内容空洞无价值。
相关链接
您可以通过以下链接查看更多相关内容: