name: 自我改进提示设计 description: 编写自我改进提示,将专业知识文件与代码库现实同步。当为代理专家创建维护工作流、设计验证逻辑或实施Act-Learn-Reuse的LEARN步骤时使用。 allowed-tools: Read, Grep, Glob, Write
自我改进提示设计
指导编写维护专业知识文件准确性的自我改进提示。
核心目的
自我改进提示教导代理如何学习。它们:
- 根据实际代码库(真相来源)验证专业知识
- 识别心理模型与现实之间的漂移
- 自动更新专业知识文件
- 强制执行行数限制以防止上下文膨胀
- 在Act-Learn-Reuse的每个ACT步骤后运行
何时使用
- 为代理专家创建维护工作流
- 为专业知识文件设计验证逻辑
- 实施Act-Learn-Reuse的LEARN步骤
- 为新领域编写自我改进提示
- 审查或调试现有自我改进提示
- 设置git差异条件检查以提高效率
自我改进提示模板
---
description: 同步{domain}专业知识与代码库现实
argument-hint: [check-git-diff]
---
# 自我改进:{Domain}专家
通过根据代码库实现验证来维护专业知识准确性。
## 参数
- `$1`: check_git_diff标志(可选,默认:“true”)
- “true”:仅检查git差异中更改的文件
- “false”:完全重新扫描所有领域文件
## 配置
- **EXPERTISE_FILE**: `.claude/commands/experts/{domain}/expertise.yaml`
- **MAX_LINES**: 1000
- **DOMAIN_PATHS**: [“path/to/domain/files/”]
## 工作流
### 步骤1:检查Git差异(条件性)
如果`$1`是“true”或未提供:
1. 运行`git diff --name-only HEAD~1`获取更改的文件
2. 过滤到DOMAIN_PATHS中的文件
3. 如果没有相关更改,报告“未检测到领域更改”并退出
4. 仅继续处理更改的文件
如果`$1`是“false”:
- 跳过git差异检查
- 处理DOMAIN_PATHS中的所有文件
### 步骤2:读取当前专业知识
1. 加载EXPERTISE_FILE
2. 解析YAML结构
3. 注意当前行数
4. 识别现有部分
### 步骤3:根据代码库验证
对于专业知识中的每个部分:
**core_implementation:**
- 验证所有文件路径存在
- 检查行数大致正确
- 确认关键导出仍存在
**key_operations:**
- 验证函数名存在
- 检查签名匹配
- 验证文件位置
**schema_structure:**(如果适用)
- 与实际模式定义比较
- 检查字段名和类型
**best_practices:**
- 确保仍与当前模式相关
**known_issues:**
- 检查是否有已解决的
- 查找领域中的新问题
### 步骤4:识别差异
创建发现列表:
| 部分 | 问题 | 操作 |
| --- | --- | --- |
| core_implementation | file.ext重命名 | 更新路径 |
| key_operations | 新增函数 | 添加条目 |
| known_issues | 问题#123解决 | 移除条目 |
### 步骤5:更新专业知识文件
应用更改:
1. 更新过时信息
2. 添加新发现
3. 移除陈旧条目
4. 维护YAML结构
### 步骤6:强制执行行数限制
如果行数 > MAX_LINES:
1. 识别最低优先级部分
2. 总结冗长条目
3. 移除最不关键的项目
4. 继续直到低于限制
优先级顺序(从高到低):
1. core_implementation
2. key_operations
3. best_practices
4. known_issues
5. patterns_and_conventions
6. testing_notes
### 步骤7:验证检查
1. 解析更新的YAML(确保语法有效)
2. 验证行数:{current}/{MAX_LINES}
3. 运行快速完整性检查路径/名称
## 输出报告
```markdown
## 自我改进完成:{domain}
### 摘要
- 扫描文件:X
- 检测到更改:Y
- 应用更新:Z
### 所做更改
| 部分 | 更改 | 原因 |
| --- | --- | --- |
| ... | ... | ... |
### 专业知识健康状况
| 指标 | 值 |
| --- | --- |
| 行数 | X/1000 |
| 验证文件 | X/X存在 |
| 验证函数 | X/X准确 |
| 模式准确性 | X% |
### 建议
- [任何手动审查建议]
```
## 备注
- 心理模型不是真相来源 - 代码库是
- 在每个ACT(构建、修复、修改)后运行
- 默认检查git差异以节省时间
- 定期完全重新扫描或当怀疑漂移时
关键设计原则
1. 条件性Git差异检查
始终包括git差异优化:
如果check_git_diff为true:
- 仅处理更改的文件
- 如果无相关更改则提前退出
- 在常规同步中节省时间
2. 行数限制强制执行
必须明确和优先排序:
MAX_LINES: 1000
如果超过限制:
1. 总结冗长部分
2. 移除最低优先级项目
3. 永远不超过限制
3. 更新前验证
始终在写入前验证:
在写入更新后的专业知识之前:
1. 解析为YAML(捕获语法错误)
2. 计数行数
3. 验证关键路径存在
4. 可操作的输出
报告应支持后续操作:
## 所做更改
| 部分 | 更改 | 原因 |
| --- | --- | --- |
## 建议
- 需要人工审查的项目
- 需要调查的潜在问题
验证模式
文件路径验证
对于专业知识中的每个文件路径:
1. 检查路径文件是否存在
2. 如果不存在,按名称搜索文件
3. 如果在其他地方找到,更新路径
4. 如果未找到,标记为移除
函数验证
对于key_operations中的每个函数:
1. 在文件中搜索函数定义
2. 比较签名(如果找到)
3. 更新或标记差异
模式验证
对于schema_structure中的每个表/实体:
1. 查找模式定义文件
2. 比较字段和类型
3. 注意添加/移除
反模式
| 反模式 | 问题 | 解决方案 |
|---|---|---|
| 无git差异选项 | 在无操作上浪费时间 | 始终包括条件性检查 |
| 无行数限制 | 上下文溢出 | 严格执行MAX_LINES |
| 静默失败 | 漂移未检测到 | 报告所有验证结果 |
| 手动编辑 | 浪费人类时间 | 仅自我改进更新 |
| 无验证 | 写入坏YAML | 始终在保存前解析 |
与Act-Learn-Reuse集成
┌─────────────────────────────────────────────┐
│ ACT: 构建、修复或回答 │
│ (代理执行有用工作) │
└──────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ LEARN: 自我改进提示 │
│ • 检查git差异 │
│ • 根据代码验证专业知识 │
│ • 更新心理模型 │
│ • 强制执行行数限制 │
└──────────────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────────────┐
│ REUSE: 下一次执行 │
│ (代理首先读取更新的专业知识) │
└─────────────────────────────────────────────┘
测试自我改进提示
为了验证自我改进提示正确工作:
- 初始状态:针对种子专业知识运行
- 引入更改:修改领域中的文件
- 运行自我改进:检查是否检测到更改
- 验证更新:确认专业知识正确更新
- 行数限制测试:添加内容直到达到限制,验证截断
相关技能
expertise-file-design:专业知识文件结构agent-expert-creation:完整代理专家工作流meta-agentic-creation:大规模自我改进
最后更新: 2025-12-15
版本历史
- v1.0.0 (2025-12-26):初始发布