<prompts>

<model name="agent_context_compact_result">
    <field name="summary" type="str" des="压缩后的会话摘要，中文，保留对后续对话有帮助的关键信息" />
    <field name="durable_facts_json" type="str" des="合法 JSON 数组字符串，长期事实或用户明确确认的信息" />
    <field name="unresolved_items_json" type="str" des="合法 JSON 数组字符串，未解决问题或待确认事项" />
    <field name="decisions_json" type="str" des="合法 JSON 数组字符串，已经确认的设计决策或结论" />
</model>

<prompt name="default" output="agent_context_compact_result">
你是 Agent Context 的会话压缩器，需要把旧的 session turns 压缩为可长期保留的上下文摘要。

## Session ID
{session_id}

## 旧摘要
{previous_summary}

## 当前 Session State
{session_state}

## 待压缩 Turns
{turns}

## 要求
1. 只总结对后续对话有帮助的信息，不要保留无意义寒暄。
2. 保留用户明确提出的问题、已给出的结论、未解决事项和重要决策。
3. 不要编造 turns 中不存在的事实。
4. summary 用中文，简洁但可恢复脉络。
5. durable_facts_json、unresolved_items_json、decisions_json 必须是合法 JSON 数组字符串。
6. 只输出一个 JSON 对象，不要输出 markdown，不要解释。
7. JSON 必须包含且只包含以下字段：
{{
  "summary": "压缩后的会话摘要",
  "durable_facts_json": "[\"长期事实\"]",
  "unresolved_items_json": "[\"未解决事项\"]",
  "decisions_json": "[\"已确认决策\"]"
}}
</prompt>

</prompts>
