AI 工具链

构建失败别急着清缓存:从依赖图反查可疑变更点

构建失败时不必急于清缓存重跑。先查依赖图和缓存命中记录,锁定上次成功构建后的可疑变更点,可省去全量重编。区分真失效、假失效与传播性失效,从失败节点反查重编集合,利用缓存日志做时间切片,重点排查链接输入变化与ABI不一致。清缓存只是重置而非修复,应作为最后手段。

AI 工具链

团队共用一个补全工具,靠共享规则文件把某些补全模式关干净

共享规则文件可强制覆盖个人配置,前提是放对位置、写对字段。Copilot 需在 `.vscode/settings.json` 中分三层关闭行内补全、NES 和 Chat Agents;Cursor 用 `.cursor/rules.json` 按 glob 禁止补全,但规则非硬开关。不同 IDE 配置体系不互通,JetBrains 和 Vim 无法通过仓库文件自动同步,需额外方案。

AI 工具链

让调试助手看懂你的错误码字典,比堆栈和异常文本更早定位问题

错误码的语义密度远高于堆栈文本,能让 AI 调试助手从“死在哪一行”升级到“为什么死、该怎么查”。关键在于将错误码字典结构化到可查询粒度,通过 MCP 工具按需检索而非塞入 prompt,并关联日志、指标和错误码间转移关系,实现提前定位。错误码体系本身的质量决定调试助手理解能力的上限。

AI 工具链

把 proto、日志和请求参数拼成一段上下文,调试 gRPC 报错才不用来回翻三个地方

gRPC 调试的难点在于 proto、日志和请求参数分散三处,需将其对齐、标注、压缩后拼成连续上下文,才能让模型和人快速定位错误。对齐靠请求 ID 锁定日志与参数,标注区分来源角色,压缩只留关键日志。拼好后用提示词要求模型给出证据链而非直接结论,最终以“他人 5 分钟内可复现”作为上下文质量的硬指标。

AI 工具链

异步调用链里 traceId 为什么会串?我踩过的上下文传递坑和修法

异步场景下 traceId 串值的根因是上下文载体选错:ThreadLocal 绑定线程,线程池复用、CompletableFuture 切换、响应式线程跳跃都会导致值丢失或污染。修法分别是 TTL 包装线程池、显式传递线程池或 javaagent 增强、改用 Reactor Context,跨服务则需正确传播 header 并匹配内部上下文模型。核心原则:先统一上下文载体,再谈透传。

AI 工具链

Copilot 单行与多行补全的触发条件差异,按代码块类型切换才不打架

Copilot 单行与多行补全的切换取决于光标前方的语法完整度和代码块类型,而非停顿时间。单行补全在语句未闭合、行有语法前缀或注释内触发;多行补全则需前方语句闭合且处于函数体、循环体等高置信度模板结构。实操中,保持语句不闭合可引导单行,先闭合签名再留空块可稳定触发多行。语言服务器状态、文件语法错误及模型置信度也会影响补全行为,且无官方设置可强制切换模式。

AI 工具链

智能调试建议先过 ESLint 和 tsc 再采纳:一个交叉验证流程的实践记录

通过将 ESLint 与 tsc 的检查结果作为硬约束反馈给 AI 调试建议,形成“生成—验证—反馈”闭环,可显著提升建议质量。该流程以本地工具链错误清单为基准,对 AI 建议进行机器过滤,并将新增报错反向输入模型迭代优化,把“判断建议是否正确”转化为“判断报错是否可接受”,降低认知负担,同时指出其适用边界与自动化潜力。