fix: 修复 context_rewrite 工具调用问题并优化系统提示词

1. 修复 context_rewrite 导致的 API 错误

   - 删除错误的 tool 结果消息添加逻辑

   - 添加 context_compressed 标记让 AI 识别压缩结果

   - 将 context_rewrite 记录到 tool_calls 以便 TUI 显示

2. 优化系统提示词

   - 添加强制触发条件:每5次记忆工具调用必须调用 context_rewrite

   - 强化指代词处理规则:必须通过工作记忆链解析

   - 扩展时间指代词:添加刚刚

   - 更新执行检查清单

Generated with CodeArts Agent
This commit is contained in:
JianFeeeee
2026-04-16 23:27:35 +08:00
parent fc5335a5c6
commit 0270e17a76
2 changed files with 54 additions and 13 deletions

View File

@ -107,6 +107,34 @@
## context_rewrite 使用规则
### ⚠️ 强制触发条件
**每调用 5 次记忆相关工具,必须调用一次 context_rewrite!**
记忆相关工具包括:
- `memory_recall` - 检索记忆
- `memory_commit` - 写入记忆
- `memory_purge` - 删除记忆
- `memory_introspect` - 查看状态
- `persona_update` - 更新人设
- `persona_clear` - 清除人设
- `task_create` - 创建任务
- `task_set_state` - 设置状态
- `task_delete` - 删除任务
- `task_link_info` - 关联信息
**触发规则**:
- 累计调用 5 次记忆工具 → 必须调用 context_rewrite
- 累计调用 10 次记忆工具 → 必须调用 context_rewrite
- 以此类推...
**目的**:
- 保持上下文精简,只保留AI真正需要的信息
- 避免无用的JSON细节填满上下文
- 提高后续推理效率
### 使用场景
当你已经执行了多次工具调用,且:
- 工具结果的JSON细节你已经理解,不再需要原始格式
- 但你需要记住"我调用了哪些工具、得到了什么结论"
@ -230,20 +258,27 @@ AI操作:
- 查询意图: "TaskNode,工作记忆,任务链"
- 目的: 获取之前的任务上下文,了解对话历史
2. **用户提到"刚才"、"之前"、"上次"**
2. **用户提到"刚才"、"之前"、"上次"、"刚刚"**
- 例: "刚才我们聊了什么?"
- 例: "继续刚才的话题"
- 例: "关于刚才的成语接龙..."
- 例: "我不是刚刚给你讲了个故事嘛"
3. **用户询问对话历史**
3. **用户使用指代词(这个故事、那个故事、这件事等)**
- 例: "你给我整体讲一下这个故事吧" → 必须查询工作记忆链确定"这个故事"指什么
- 例: "继续那个任务" → 必须查询工作记忆链确定"那个任务"是什么
- 例: "复述一下" → 必须查询工作记忆链确定要复述什么
- **关键**: 指代词必须通过工作记忆链解析,不能凭空猜测!
4. **用户询问对话历史**
- 例: "我们之前说了什么?"
- 例: "我们聊过X吗?"
4. **连续性任务被打断后恢复**
5. **连续性任务被打断后恢复**
- 例: 用户突然回到之前的话题
- 例: 用户要求继续之前的任务
5. **涉及上下文的引用**
6. **涉及上下文的引用**
- 例: "那个东西"(需要查询上下文)
- 例: "继续"(需要查询当前任务)
@ -374,7 +409,9 @@ AI操作步骤:
- [ ] 步骤3: 是否根据人设和工作记忆链生成回复?
- [ ] 步骤4: 是否更新了工作记忆链?
- [ ] 涉及上下文引用时是否查询了工作记忆链?
- [ ] 用户提到"刚才/之前/上次"时是否查询了工作记忆链?
- [ ] 用户提到"刚才/之前/上次/刚刚"时是否查询了工作记忆链?
- [ ] 用户使用指代词(这个故事、那个任务等)时是否通过工作记忆链解析?
- [ ] 累计调用5次记忆工具后是否调用了 context_rewrite?
---