关于 auto-research
auto-research 是用于开展聚焦、循证优化实验的 Agent 技能,指导研究者明确目标、建立基线、测试假设并检查回归,同时保存可持续使用的研究记录。
主要功能
- 01明确可衡量的成功标准
- 02建立精简的假设队列
- 03开展匹配且隔离的实验
- 04记录参数影响与证据
- 05晋级前检查回归
- 06保存状态以便交接
适用场景
- 01针对明确目标优化模型或系统
- 02用小规模测试排查性能瓶颈
- 03对照已解决任务验证候选改动
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dzhng/ skills --skill auto-research安装后在 Claude Code 中输入/auto-research确认已加载。
详细介绍
自动研究
优化单位时间内的学习量。先完成一项快速且能揭示问题的任务,规划相互竞争的假设,分别测试,再组合已验证有效的方案,随后扩大覆盖范围。持久化成果应是参数影响图以及最佳已验证产物。实验是一个检查点,而非终点。
工作流
-
恢复研究状态。 阅读目标、用户反馈、项目说明和现有研究记录。将交接信息与实际产物及运行中的任务核对;启动另一项任务前,先收集待完成的尝试。确定最佳已验证产物(当前最佳方案)、活动任务、回归测试集、假设队列和剩余预算。沿用现有记录位置。
-
实验前明确成功标准。 找回已达成一致的标准;不要要求用户重复说明。如果评估器、指标、比较基线或所需改进幅度不明确,应提出有针对性的问题,并等待答复后再修改候选方案或启动评估。检查现有产物,并提出具体选项以便用户回答;不要擅自决定成功的含义。持续澄清,直至答案构成可检验的标准,包括评估范围、汇总方式和非回归门槛。将该标准重新写入研究约定。
区分通过正确性门槛与达到优化目标。说明目标是绝对分数、绝对变化,还是相对于指定基线的相对提升。“将准确率提高 5%”存在歧义:从 60% 起,提升五个百分点意味着达到 65%,而相对提升 5% 则意味着达到 63%。明确单位和方向;必要时记录计算公式。基线值可以稍后测量,但必须先确定其身份和比较规则。只有在用户确实希望开放式优化时,才接受这种做法;不要自行设定阈值,也不要用任意改进替代用户要求的改进。
然后定义最小可用循环。 记录可变参数和固定评估器,并选择一项能体现待改进行为的低成本任务。测量其周转时间,并从内循环中去除不必要的设置、模型、案例和实现工作。如果不确定性在于架构,应优先进行架构试验。可用的基准测试任务是一组备选项,而不是必须全部运行的清单;选择足以支撑预期结论和用户范围的验证覆盖度。
记录评估命令、超时时间、修复额度、资源限制、晋级规则和确认计划。将研究投入与所优化的成本或运行时间区分开。完成意味着成功标准已明确,且下一次试验的运行成本低、决策规则清晰;在测试第一个假设之前,不要构建庞大的基准测试矩阵。
-
建立活动任务的基线。 对未更改的产物运行一次,或复用与之兼容的记录结果和跟踪信息。验证评估器确实测量了预期结果;如果尚未证明其检测能力,应使用一个已知会失败的对照项。针对该任务、模型和测试框架固定基线;不要为每个变体重复运行。对于有噪声的测量,只安排足以区分效果的重复次数,同时遵守用户关于复用单一基线的指示,并报告这一限制。保存精确输入、产物身份和原始输出。
-
规划一小批假设。 编辑前,列出当前瓶颈的不同解释,以及可用于验证这些解释的参数或策略。检查实际失败跟踪和匹配的基线行为,不要仅凭汇总分数猜测。对于每个假设,记录:
- 参数/改动及其机制:为什么它可能影响结果。
- 预测的观察结果、可证伪的结果,以及成本最低的区分性测试。
- 固定的对比父版本、预期试验成本,以及与其他假设的依赖关系或可能的交互作用。
按单位时间内获得的信息量排序。针对同一父版本逐一测试备选方案,以便清晰解读其效果。避免穷举参数网格。保持队列简短,并根据结果进行调整;规划是每个研究周期的一部分,不是一份一次性待办清单,也不是推迟首次试验的理由。
-
在当前任务上验证一个假设。 保留现有最佳版本,并将候选方案与无关工作隔离。只改变一个概念因素;如果必须采用耦合改动组合,则将结果归因于该组合。运行前记录候选方案的身份和预测。先做低成本检查,再测试目标任务;不要对每个变体都运行完整测试套件。保存带有唯一标识的原始输出,并检查相关跟踪。限制崩溃和修复的处理范围;修复后的候选方案必须有新的身份。缺失结果应视为未知,而不是零。
将观察结果与预测进行比较,包括回归和无结果的情况。记录
keep、discard、inconclusive或invalid,并更新映射。测试备选方案时恢复父版本;在回滚范围之外保留可复现的快照或补丁及证据。否决某个候选方案并不意味着其整体策略已被证伪:如果发现有前景的局部收益,应进行诊断,并在证据支持时规划有针对性的后续测试。 -
组合并晋升。 将兼容的优胜方案组合起来,与单项表现最好的候选方案进行比较。不要假定收益会叠加:检查交互作用;如果难以归因,则一次移除一项改动。若组合方案不如更简单的候选方案,就不能将其晋升为现有最佳版本。
目标明确的任务上取得的胜利仍属暂定结果。晋升前,使用已保存的基线和预先声明的容差,在累积的回归测试集中检查候选方案对先前已解决任务的表现。应拒绝或修复回归,而不是让它们藏在平均值里。按照计划的证据确认不稳定的胜利,包括所有计划的尝试和成本。保存已验证的候选方案,并更新参数效果映射,记录交互作用和任务特定的限制。
-
取得进展后再扩展。 当前任务达到本地标准且先前任务仍通过后,再加入一个任务或一小批任务,用于探测新的失败模式或映射中尚不确定的效果。仅为这些任务补充缺失的基线。如果新任务失败,就将其设为当前任务,重新开始假设规划,并保留旧任务作为回归检查。调试这一项失败时,不要反复运行扩展后的整个测试套件。
这种课程安排改变的是探索覆盖范围,而不是总体成功标准。将更广泛的评估留到覆盖范围扩展检查点和最终确认时进行。单个任务上的胜利无法完成更广泛的目标。
-
根据已学到的内容重新规划。 完成一批假设测试、出现新的失败或连续多次试验未取得进展后,整理映射并选择下一批信息量最高的测试。如果证据与预期机制相矛盾,就调整怀疑的机制或实验设计;不要无休止地反复调整同一类参数,或重复运行相同的测试。只有前提发生变化时,才重新考虑被否决的想法。继续推进,无需在每次实验后询问是否继续。
持久化研究记录
使用项目现有格式;保持这些视图简洁,并关联到证据:
- **契约:**目标、固定的评估规则、预算、当前任务和回归集,以及最终验证范围。对协议变更进行版本管理;不要混用不兼容的分数,也不要降低用户的标准来让结果达标。
- **假设队列:**计划中的批次、优先级、依赖项、预测,以及已测试/已否决/待处理状态。随着全局认识不断完善,淘汰过时条目。
- **参数影响图:**每个有意义的参数或策略占一行:测试设置/范围、对质量/成本/运行时间的观察结果、适用的任务类型、权衡、交互作用、置信度、证据链接和剩余的不确定性。区分实测影响与推测机制;纳入有害影响和无影响结果。这份综合分析是主要交付成果,而不只是排行榜或按时间排列的实验日志。
- **尝试台账:**假设、父项/候选项标识、协议版本、任务、命令/配置、指标、关卡结果、资源使用情况、判定和证据路径。在适用时记录模型/提示词/数据版本和随机种子。
- **交接记录:**当前基准、活动任务、待处理作业/输出位置、剩余预算,以及下一项具体测试及其理由。每次判定后以及每次轮次交接前更新;绝不能只留下“继续优化”。
证据规范
- 优化实际结果。较小的输出或更快的微基准测试只是诊断依据,直到端到端质量和成本关卡通过。缩小试验范围时,保留正在研究的行为;绝不对任务答案硬编码。
- 确保比较条件匹配。在同一组内冻结候选项,避免资源竞争,绝不在看到分数后挑选有利基线或重复试验。
- 将开发与确认分开。反复调优的案例属于开发证据。要提出泛化结论,请使用未触碰过的案例;候选项工作不得接触隐藏答案和仅供评估器使用的输入。
- 将失败的试验和重试计入研究支出。说明客观成本的计入/排除项,并在声称节省成本前核对未完成的账单。基础设施故障既不算成功,也不算候选项的实测退化。
- 立即披露重要发现;工作流顺序绝不能延迟披露。
停止
在获授权的会话和限制范围内继续工作,直到目标通过所需验证、用户停止工作、预算耗尽,或真正的外部阻碍导致无法取得有效进展。遇到停滞应重新规划,而不是凭空声称已达到最优。跨续接保留研究状态;此技能本身不会安排未来工作。
到达停止边界时,应确保当前基准可恢复,并说明待处理作业的情况。交付参数影响图、基线与最佳已验证结果、覆盖范围和局限性、已用预算、停止原因,以及若尚未完成则列出确切的下一项实验。达到分数目标并不能取代对实验所得结论的记录;即使运行尚未完成,也应留下有用的已知信息图谱。