Skip to main content

position-drift-anti-pattern

当需要识别和避免位置漂移反模式时使用此 skill。适用于:代码审查报告生成、问题定位等场景。不适用于:不需要精确定位的场景。关键 trigger 信号:用户提到"位置不准"、"行号漂移"、"文件引用错误"等问题。

跳到安装

来源信息

仓库
Natsummerance/agents
最近来源活动
2026年8月27日 07:35
检测到的 SKILL.md 语言
中文
星标
3
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
3 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
position-drift-anti-pattern
description
当需要识别和避免位置漂移反模式时使用此 skill。适用于:代码审查报告生成、问题定位等场景。不适用于:不需要精确定位的场景。关键 trigger 信号:用户提到"位置不准"、"行号漂移"、"文件引用错误"等问题。
source_book
alibaba/open-code-review
source_project
alibaba/open-code-review
source_chapter
The Problem with General-Purpose Agents — Position Drift
tags
["anti-pattern","position-drift","accuracy"]
related_skills
["deterministic-engineering-hard-constraints"]
# Position Drift Anti-Pattern(位置漂移反模式) ## R (Reading) — 原文引用 > "Position drift — Reported issues frequently don't match the actual code location, with line numbers or file references drifting off target." > > "The root cause: a purely language-driven architecture lacks hard constraints on the review process." ## I (Interpretation) — 方法论骨架 **核心思想**: 通用 Agent 报告的审查问题经常与实际代码位置不匹配,行号或文件引用发生漂移,根本原因是纯语言驱动架构缺乏独立的定位模块。 **关键特征**: 1. **行号漂移**: 报告的问题行号与实际代码行号不一致 2. **文件引用错误**: 报告的问题指向错误的文件 3. **根本原因**: 缺乏独立的外部定位模块 **解决方案**: - **External positioning module**: 独立的评论定位模块,基于 AST 解析和行号计算 - **Comment reflection**: 独立的评论反思模块,二次验证位置准确性 **与相邻 skill 的区分**: - 与 `incomplete-coverage-anti-pattern` 的区别:前者关注位置不准确,后者关注文件覆盖不全 - 与 `unstable-quality-anti-pattern` 的区别:前者关注位置精度,后者关注质量稳定性 ## A1 (Past Application) — 书中作者用过的案例 **案例**: Alibaba Group 内部代码审查系统优化 - **背景**: 通用 Agent 报告的问题位置经常不准确 - **问题**: 开发者需要手动查找实际问题位置,降低审查效率 - **应用**: 引入 External positioning module + Comment reflection - **结果**: 位置准确性显著提高,开发者无需手动查找问题位置 ## A2 (Future Trigger) — 用户在什么情境下会需要这个 **触发场景**: - 用户抱怨"报告的问题位置不准确" - 用户发现"行号或文件引用漂移" - 用户遇到"需要手动查找实际问题位置" - 用户需要"确保审查报告的位置精确" **不应触发的场景**: - 不需要精确定位的场景(如整体架构建议) - 纯文本分析任务 - 位置信息不重要的场景 **关键 trigger 词**: "位置不准"、"行号漂移"、"文件引用错误"、"定位不准确"、"外部定位" ## E (Execution) — 可执行步骤 1. **识别风险**: 检查是否存在位置漂移问题 - 完成标准: 给出是否存在漂移的结论,并附至少一条问题位置与实际代码不符的实例证据(或证明无漂移) 2. **分析原因**: 确认是否是纯语言驱动架构导致的位置漂移 - 完成标准: 归因结论成文,指明是否缺乏独立定位模块 3. **应用外部定位**: 引入 External positioning module,基于 AST 解析和行号计算 - 完成标准: 定位模块上线,报告中的文件路径与行号均来自 AST 计算结果而非模型生成 4. **二次验证**: 使用 Comment reflection 模块二次验证位置准确性 - 完成标准: 抽样复核报告中每条问题的位置,命中实际代码位置的比率达到约定阈值 5. **验证效果**: 检查报告的位置是否与实际代码位置一致 - 完成标准: 连续抽样比对显示报告位置与实际代码位置一致率 100% **完成标准**: 所有报告的问题位置与实际代码位置一致,无漂移 **判停条件**: 连续 10 次审查无位置漂移问题 ## B (Boundary) — 什么时候不适用 / 作者的盲点 **不适用场景**: - 不需要精确定位的场景 - 纯文本分析任务 - 位置信息不重要的场景 **作者盲点**: - **AST 解析依赖**: 需要支持多种编程语言的 AST 解析器 - **性能开销**: 外部定位模块可能增加审查时间 - **复杂代码处理**: 对于宏、模板元编程等复杂代码,定位可能仍有困难 **时代局限**: - 当前架构基于现有 AST 解析能力,未来可能需要调整 - 定位精度依赖于对编程语言语法的理解
在 GitHub 查看