关于 best-of-n-solving
Cursor 技能,通过在隔离的 Git worktree 中并行尝试不同方案来解决复杂问题。编码 Agent 可依据测试、实现质量等标准比较结果并选择方案。
主要功能
- 01制定不同的解决策略
- 02在 worktree 中并行尝试
- 03按标准比较结果
- 04合并或挑选所选结果
适用场景
- 01探索复杂错误的多种修复方案
- 02比较重构或优化方法
- 03并行评估架构选择
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ spencerpauly/ awesome-cursor-skills --skill best-of-n-solving安装后在 Claude Code 中输入/best-of-n-solving确认已加载。
详细介绍
最佳方案问题求解
面对有多种可选方案的难题时,可使用此技能,例如复杂重构、棘手的 Bug、性能优化,或不确定哪种策略最有效的架构决策。
工作原理
Cursor 的 best-of-n-runner 子 Agent 类型会创建相互隔离的 git worktree——每次尝试都有自己的分支和工作目录。多个方案会并行运行,互不干扰。比较结果后,选出最佳方案。
步骤
-
确定方案——启动前,先制定 2–3 种截然不同的策略。例如,若要优化运行缓慢的数据库查询:
- 方案 A:添加复合索引并重写查询
- 方案 B:使用物化视图对架构进行反规范化
- 方案 C:使用 Redis 添加应用层缓存
-
启动并行运行器——针对每种方案,使用 Task 工具,并设置
subagent_type: "best-of-n-runner"。在一条消息中启动所有运行器,让它们并行运行:Task 1: { subagent_type: "best-of-n-runner", prompt: "Approach A: ..." } Task 2: { subagent_type: "best-of-n-runner", prompt: "Approach B: ..." } Task 3: { subagent_type: "best-of-n-runner", prompt: "Approach C: ..." }每个运行器都有自己的分支和 worktree。在提示词中写明明确的成功标准(例如“运行测试并报告是否通过”“测量查询耗时”)。
-
比较结果——所有运行器完成后,评估以下方面:
- 哪种方案通过了所有测试?
- 哪种实现最简洁?
- 哪种方案的性能最佳?
- 哪种方案最便于长期维护?
-
合并最佳方案——切换到胜出分支并合并,或挑选特定提交。清理其他 worktree 分支。
适用场景
- 可能有多种根本原因的 Bug
- 需要在不同模式之间做选择的重构(例如组合与继承)
- 存在多种策略的性能优化
- 针对同一功能尝试不同的库或方案
- 任何“直接试试”比分析更快的情况
注意事项
- 每个运行器都完全隔离,无法看到其他运行器的更改。
- 提示词要具体:包含文件路径、问题描述和明确的成功标准。
- 对于较简单的问题,这样做过于复杂——直接使用单个 Agent 即可。
- 这些分支都是真正的 git 分支,因此需要时可以手动检查。
评论
支持 Markdown