SuperAPI AI 工具集

why

编程与开发

查看项目

更新于 10-28 16:14

技能介绍

用途

why 用于调查代码背后的动机与意图。配套的 how 技能回答代码做什么、如何运作;why 回答是什么力量塑造了它当前的形态。典型问题包括:为什么这段代码这样工作、为什么当初选择某个方案、某个设计决策的来龙去脉、回归问题、事后复盘、带数据支撑的阈值等。

主要能力

  • 在目标含糊时,结合对话上下文(打开的文件、近期编辑、光标位置、刚讨论的内容)做最佳猜测,并简要说明理解,便于用户纠正。
  • 建立代码锚点:文件路径与行范围、关键符号、最近若干次提交、合并提交中的 PR 编号、关联工单号;可用 git blame -L <start>,<end> <file>、git log --follow -p -- <file>、git log --oneline -20 -- <file>、git log -1 --format=%B <commit>,以及 gh pr view <number> --json title,body,author,createdAt,mergedAt,labels,closingIssuesReferences,comments,reviews 拉取 PR 正文与讨论。
  • 并行调查:按七类证据源(源码管理历史、工单跟踪、长文档、团队实时聊天、基础设施可观测性、错误与异常跟踪、产品分析仓库)各派一个调查代理,每个只负责一个工具或 MCP;若目标代码带防御性特征(空值检查、重试、超时、限流、功能开关、出口防护、OOM 处理),还会附加事故复盘资料。
  • 综合输出:由一个综合代理汇总调查发现(含空结果和跳过项及理由),按认知框架区分已知、可合理推断、竞争假设与未知。

使用方式

技能内部会按 pstack 设置文件中的角色行选择模型,也支持 auto 或 inherit-parent;若子代理工具拒绝某个模型标识,则回退到默认值并说明。每次派生使用 generalPurpose 且 readonly: false(agent 模式),不使用 readonly/Ask 模式,因为后者会剥离 MCP 访问,导致依赖 MCP 的调查者和综合者的引用抽查不可用;调查者本身仍不应写入任何内容。派生使用 Cursor 的 Task 工具;其它环境改用各自子代理工具(如 Claude Code 的 Agent、OpenCode 的 task、Codex 的 spawn_agent),没有子代理工具时逐个自行运行调查者。

输出结构

综合输出包含:问题、所涉代码、我们发现什么、可合理推断什么、竞争假设、我们不知道什么、查阅来源、置信度摘要。Sources Consulted 按每个调查者一行列出,包括返回空结果和被跳过者及其原因。若用户的 why 问题是为修改这段代码做准备,还会在来源部分之后给出保留 / 变更 / 避免 / 风险四类约束,供变更规划使用。

适用场景与限制

适用于需要追溯设计理由、权衡取舍、边界动机、外部约束、死代码或大范围历史梳理的工程调查。该技能强调谨慎精确、诚实区分已知与推断、避免新近性偏差(不能假定最新提交就是权威版本),并要求不跳过搜索、记录空结果。环境中没有对应类别的 MCP 时,只能标记为缺口而非主动选择;只有在能证明来源无关时才可跳过,门槛较高。单一提交的琐碎目标只有在确认七类搜索都冗余后才可直接回答,且这种情况应很少见。