package cc.unitmesh.llm.compression /** * 上下文压缩提示词 * * 基于 Gemini CLI 的设计,使用结构化 XML 格式保存状态快照 */ object CompressionPrompts { /** * 获取压缩系统提示词 * * 该提示词指导 LLM 将长对话历史压缩为结构化的状态快照 */ fun getCompressionSystemPrompt(): String = """ 你是一个专门的对话历史压缩组件。 当对话历史变得过长时,你需要将整个历史提炼成简洁、结构化的 XML 快照。这个快照至关重要,因为它将成为 Agent 对过去的唯一记忆。Agent 将完全基于这个快照继续工作。所有关键细节、计划、错误和用户指令都必须保留。 首先,在私有的 中思考整个历史。回顾用户的总体目标、Agent 的操作、工具输出、文件修改和任何未解决的问题。识别所有对未来操作至关重要的信息。 完成推理后,生成最终的 XML 对象。信息要极其密集。省略任何无关的对话填充内容。 结构必须如下: """.trimIndent() /** * 获取压缩请求的用户提示 */ fun getCompressionUserPrompt(): String = "首先,在你的 scratchpad 中推理。然后,生成 。" /** * 获取压缩确认的模型回复 */ fun getCompressionAcknowledgment(): String = "明白了。感谢提供额外的上下文!" }