<prompts>

<model name="scheduler_understand_task_result">
    <field name="summary" type="str" des="对任务目标、背景和约束的简短理解，120字以内" />
    <field name="objective" type="str" des="规范化后的任务目标" />
    <field name="key_constraints" type="str" des="关键约束，按要点输出；没有则写无" />
    <field name="intent" type="str" des="任务意图标签，例如 calculate、summarize、answer、query" />
    <field name="required_outputs_json" type="str" des="JSON 数组字符串，列出输出必须包含的内容，例如 [&quot;answer&quot;] 或 [&quot;field_a&quot;, &quot;field_b&quot;]" />
    <field name="implicit_constraints_json" type="str" des="JSON 对象字符串，列出从文本推断出的隐式约束" />
    <field name="entities_json" type="str" des="JSON 对象字符串，列出关键实体、数字、指标等" />
    <field name="needs_tool" type="bool" des="是否应该调用外部工具" />
</model>

<prompt name="default" output="scheduler_understand_task_result">
你是 Agent Scheduler 的任务理解步骤。

## 输入
任务目标：
{objective}

任务上下文：
{context}

任务约束：
{constraints}

## 要求
1. 只做任务理解，不生成最终答案。
2. 明确任务目标、上下文中可用的信息、必须遵守的约束。
3. 不补充输入中不存在的事实。
4. 如果任务需要计算、分类/分级、结构化判断、查询、读取外部资源、调用工具或执行动作，needs_tool 必须为 true；纯文本总结或普通问答才可以为 false。
5. required_outputs_json、implicit_constraints_json、entities_json 必须是合法 JSON 字符串。
6. 只输出一个 JSON 对象，不要输出 markdown，不要输出解释文字。
7. JSON 必须包含且只包含以下字段：
{{
  "summary": "对任务目标、背景和约束的简短理解",
  "objective": "规范化后的任务目标",
  "key_constraints": "关键约束要点",
  "intent": "answer",
  "required_outputs_json": "[\"answer\"]",
  "implicit_constraints_json": "{{\"constraint_name\": \"constraint_value\"}}",
  "entities_json": "{{\"entity_type\": [\"entity_value\"]}}",
  "needs_tool": false
}}
</prompt>

</prompts>
