kit初版,模型引入,agent优化
This commit is contained in:
@@ -12,6 +12,32 @@ alwaysApply: true
|
||||
3. 这些信息帮助 Agent 快速建立位置感:项目进展到什么阶段、最近的工作重心在哪个模块
|
||||
4. 在后续回复中自然参考,不显式提及"根据开发日志"
|
||||
|
||||
## 主动定位辅助
|
||||
|
||||
L3 概要的核心价值之一是帮助 Agent 在**冷启动**(新会话、无上下文)时理解用户意图。
|
||||
当用户的请求缺少具体文件名或模块名时,Agent 应主动利用 L3 进行推断:
|
||||
|
||||
### 典型场景
|
||||
|
||||
1. **隐式延续**:用户说"继续做昨天那个"、"把那个功能完善一下"
|
||||
→ 从 L3 中找到最近的相关条目,上溯到 L2 获取具体文件列表
|
||||
2. **模糊指代**:用户说"那个组件有 bug"、"之前改的那个接口"
|
||||
→ 用 L3 中的关键词匹配用户描述,定位到具体改动
|
||||
3. **上下文补全**:用户直接提出一个任务,没有背景说明
|
||||
→ 用 L3 判断该任务是否与近期某个改动有关联(如同一模块、同一功能线)
|
||||
|
||||
### 流程
|
||||
|
||||
```
|
||||
1. 解析用户请求,识别是否存在隐式引用或模糊指代
|
||||
2. 在 L3 概要中查找语义最匹配的 1-3 条记录
|
||||
3. 提取匹配条目的锚点 ID,上溯到 L2 获取 affected_files 和 tags
|
||||
4. 如有必要,继续上溯到 L1 获取完整的决策背景
|
||||
5. 将定位到的文件/模块作为任务的起点,开始执行
|
||||
```
|
||||
|
||||
如果 L3 中没有匹配到任何相关记录,正常处理即可——不是所有任务都与近期改动有关。
|
||||
|
||||
## L2 自动触发
|
||||
|
||||
Agent 开始处理一个新任务时,判断是否需要读取近期详细记录:
|
||||
@@ -42,7 +68,30 @@ Agent 开始处理一个新任务时,判断是否需要读取近期详细记
|
||||
获取行号后用 Read 工具读取该行号 ±20 行范围
|
||||
4. 一次上溯通常只涉及 1-3 条记录,不批量上溯
|
||||
|
||||
## 被动写入提醒
|
||||
## 任务完成 Checklist(强制)
|
||||
|
||||
Agent 在完成涉及代码/配置文件实质性改动的任务后,应读取 `dev-changelog` Skill
|
||||
并执行其"操作 A:记录写入"流程,静默追加三层记录。
|
||||
Agent 在即将输出最终回复前,**必须**逐项检查以下清单。
|
||||
这是硬性要求,不是建议——**跳过任何一项都视为执行错误**。
|
||||
|
||||
1. **本次是否有代码/配置文件改动?**(不含 `.cursor/` 下的基础设施文件)
|
||||
- 否 → 跳过后续项
|
||||
- 是 → 继续
|
||||
|
||||
2. **是否已写入三层开发日志?**
|
||||
- 否 → **立即**读取 `dev-changelog` Skill 并执行操作 A,写入 L1 + L2 + L3 后再输出回复
|
||||
- 是 → 继续
|
||||
|
||||
3. **是否修改了任何 Skill?**(包括 SKILL.md 内容变更)
|
||||
- 否 → 跳过
|
||||
- 是 → 检查是否已同步 `epee-orchestrator` 的 `registry.md`,未同步则立即执行
|
||||
|
||||
4. **本次是否有 Skill 使用异常?**(遗漏、误触、产物与用户预期偏差)
|
||||
- 否 → 跳过
|
||||
- 是 → 执行 `epee-orchestrator.mdc` 中的自迭代确认流程
|
||||
|
||||
5. **静默 Hook 重复触发**(每次 checklist 完成后必须执行)
|
||||
- 用 Write 工具创建空文件 `.cursor/changelog/.changelog-ack`
|
||||
- 这会更新 ack 文件的 mtime,阻止 `check-changelog.ps1` hook 在后续回复中重复提醒
|
||||
|
||||
**执行原则**:先完成 checklist 中的所有写入动作,再输出面向用户的回复文本。
|
||||
回复末尾如果执行了第 2 项,附 `[已记录到开发日志]`。
|
||||
|
||||
@@ -28,6 +28,9 @@ Agent **必须**执行以下操作:
|
||||
2. 更新或新增对应 Skill 的条目(格式参见 registry.md 中的条目结构)
|
||||
3. 确保条目中的能力描述和触发场景与 Skill 实际内容一致
|
||||
|
||||
> **注意**:此项已纳入 `changelog-recall.mdc` 的"任务完成 Checklist"第 3 项。
|
||||
> 如果 Agent 在 checklist 阶段发现遗漏,必须立即补执行。
|
||||
|
||||
### Skill 自迭代(强制)
|
||||
|
||||
每个 SKILL.md 必须包含一个"自迭代日志"章节,用于记录使用该 Skill 过程中发现的经验教训。
|
||||
@@ -38,6 +41,9 @@ Agent **必须**执行以下操作:
|
||||
2. 用户需要反复补充同类信息
|
||||
3. 生成产物与用户预期存在系统性偏差
|
||||
|
||||
> **注意**:此项已纳入 `changelog-recall.mdc` 的"任务完成 Checklist"第 4 项。
|
||||
> Agent 不应等到"下次使用 Skill 时"才想起自迭代——当次就应检查。
|
||||
|
||||
**流程**:
|
||||
|
||||
1. 识别问题根因,归纳为一条简明的检查项
|
||||
|
||||
31
.cursor/rules/common/pitfall-recall.mdc
Normal file
31
.cursor/rules/common/pitfall-recall.mdc
Normal file
@@ -0,0 +1,31 @@
|
||||
## 踩坑经验自动检索
|
||||
|
||||
### 被动检测触发
|
||||
|
||||
Agent 在以下场景中,应自动读取 `.cursor/pitfalls/pitfalls.md` 并进行匹配检索:
|
||||
|
||||
1. **进入 Debug mode**:读取全部条目,将当前错误症状与已有记录比对
|
||||
2. **遇到运行时错误**:提取错误信息关键词,在"症状"字段中检索匹配
|
||||
3. **同一问题第二次出现**:如果当前会话中某个错误已出现过一次且未解决,强制检索
|
||||
|
||||
### 匹配策略
|
||||
|
||||
```
|
||||
1. 提取当前问题的信号:错误信息关键词、涉及文件/模块、技术栈
|
||||
2. 在 pitfalls.md 中匹配:
|
||||
- 硬匹配:错误关键词出现在条目的"症状"中
|
||||
- 软匹配:模块/技术栈出现在条目的"关联"中
|
||||
3. 命中时在分析开头提示:
|
||||
> 注意:之前遇到过类似问题 [PF-xxx]:[标题]。根因是 [xxx],先排查这个方向。
|
||||
```
|
||||
|
||||
### 写入提醒
|
||||
|
||||
Agent 在完成涉及 debug/修复的任务后,应读取 `pitfall-journal` Skill 并执行其"操作 A:写入记录"流程。
|
||||
判断标准:问题的根因是否"非显而易见"——如果只看代码逻辑觉得应该没问题,但实际运行时才暴露,就值得记录。
|
||||
|
||||
### 注意
|
||||
|
||||
- 检索结果是**辅助参考**,不是确定性答案——匹配到不代表根因一定相同
|
||||
- pitfalls.md 不存在时跳过,不报错
|
||||
- 每次会话中对同一条 pitfall 最多提醒一次
|
||||
18
.cursor/rules/project/project-launcher.mdc
Normal file
18
.cursor/rules/project/project-launcher.mdc
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
description: 当用户要求启动项目、运行项目、打开前端/后端服务时触发
|
||||
globs:
|
||||
alwaysApply: false
|
||||
---
|
||||
|
||||
## 项目启动快捷指令
|
||||
|
||||
当用户表达以下意图时,读取并执行 `project-launcher` Skill:
|
||||
|
||||
**触发关键词**:启动项目、运行项目、跑起来、打开前端和后端、启动服务、start、launch、run dev、启动前端、启动后端
|
||||
|
||||
**执行方式**:
|
||||
|
||||
1. 读取 `.cursor/skills/project-launcher/SKILL.md`
|
||||
2. 按 Skill 中的流程,在**独立可见的终端窗口**中启动前端和/或后端
|
||||
3. 必须使用 `Start-Process`(PowerShell)或 `start cmd`(CMD)打开新窗口
|
||||
4. **不要**在 Cursor 内置终端中后台运行——用户需要看到窗口并能手动关闭
|
||||
Reference in New Issue
Block a user