Instruction file imported from Xieweikang123/AIALL (
.cursor/rules/agent-reply-accuracy.mdc). Copyright stays with the author.
Agent 回复准确度(通用)
修改 Agent system prompt、探索策略、答疑/Build 行为提示 时,须保持与具体功能、字段名、当前需求解耦。
适用范围
src/services/agentReplyAccuracy.ts、src/services/agentUserIntent.ts(含isBehaviorContradictionPrompt)server/vibeAgent.ts、server/agentAskPrompt.ts中的 system prompt 片段- 以及任何
*ReplyAccuracy*、*ExplorationHint*、*AnswerStructure*类逻辑
机制事实结论
用户询问代码如何工作、实际走哪条路径,或是否会产生某结果时:
- 先拆出结论涉及的定义、调用关系、输入、条件分支与结果。
- 按代码实际结构追踪,不强制固定入口、层数或中间层;可以从调用方、定义、数据来源或触发点开始,取决于当前问题。
- 继续追到直接决定结论的最后证据,例如返回值、输出、异常、状态、事件、缓存结果或外部副作用。
- 禁止只打开最底层、名字相近的函数、类型字段或注释就下结论;必须区分实际执行路径与旁路 API。
二元结论
「会/不会」「是/不是」类问题:
- grep 命中后必须 read 完整函数体及直接调用方
- 确认所有相关结果路径及其前提后再作答;禁止凭记忆或单层符号断言,证据不足明确说不确定
工具策略
- 先 grep 精确符号,再 read 定义与调用方
- 避免:宽泛关键词广搜 + 同一文件多段重叠 read
- 简单「规则在哪」:1–2 次定点 read 优先;广搜仅在前一步无结果时使用
多轮自洽
- 新结论与先前回复矛盾时:显式更正 + 引用新证据
- 用户现象与当前证据不符时:注入
buildBehaviorContradictionHint(isBehaviorContradictionPrompt),Ask/Build 均适用;回到决定结论的分支或结果点继续核对 - 咨询只读连续探索:
CONSULTATIVE_BUILD_EXPLORE_TURN_BUDGET(默认 4 轮)后注入buildConsultativeExploreBudgetNudge - grep 零命中:当轮注入
buildGrepEmptyRecoveryNudge,提示换符号/搜调用方
修改收尾
- patch/write 后 read 验证变更区域,再宣告完成
- 运行中断恢复后:re-read 确认,不可假设上一轮已成功
- 项目有相关测试:跑测或说明应跑项
通用排查与诊断规范
- 假设验证原则:诊断问题时,必须写下逻辑链假设,并逐一通过代码查看工具(view_file)进行验证。严禁在未读取相关文件定义前假设任何布局方向(如 row/column)、数据格式或接口契约。
- 全局上下文盘点:绝不孤立分析单个异常症状。如遇到 UI 截断,盘点同级元素的可见性以判断是否整体高度/宽度坍缩;遇到逻辑报错,排查堆栈上下文生命周期与前/后置条件。
- 智能检索分流:在
grep前确认搜索词是静态源码符号还是运行时动态数据(如临时输入的描述、生成的草稿信息或随机 UUID)。严禁在源码中检索动态数据。优先定点 read 代码,其次才是全局 search。
表达约束
- 无用户证据时不写「你之前…」「所以你看到…」
- 结论附带适用前提(代码中的 if/guard)
- 不确定时说「不确定」,不用肯定语气包装猜测
禁止
- 在规则/提示词里写具体功能名、API 字段、页面名、用户原话专有名词
- 把某次 bug 的个案边界写进全局规则
Code Review 三问
- 这条提示里有没有具体功能名或本次需求的词?
- 换成 unrelated 需求(如改路由、加重试),规则仍成立吗?
- 分析回复里提到某标识符,会不会误导为唯一路径?
