mcpField
B
best-of-n-solving

best-of-n-solving

github.com/revitalb-portAgent 工作流059 次安装10 周前更新
代码仓库

关于 best-of-n-solving

best-of-n-solving 是面向 Cursor 编码 Agent 的技能,适用于存在多种可行方案的难题。它在隔离的 git worktree 中并行尝试策略,便于比较结果并选出方案。

主要功能

  1. 01在隔离 worktree 中并行运行
  2. 02定义 2–3 种不同策略
  3. 03比较测试、实现与性能
  4. 04合并或拣选最终方案

适用场景

  1. 01排查可能有多种原因的缺陷
  2. 02比较不同重构模式
  3. 03尝试多种性能优化方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/revitalb-port/skills-registry-demo --skill best-of-n-solving

安装后在 Claude Code 中输入/best-of-n-solving确认已加载。

详细介绍

最佳方案问题求解

面对有多种可选方案的难题时,可使用此技能,例如复杂重构、棘手的 Bug、性能优化,或不确定哪种策略最有效的架构决策。

工作原理

Cursor 的 best-of-n-runner 子 Agent 类型会创建相互隔离的 git worktree——每次尝试都有自己的分支和工作目录。多个方案会并行运行,互不干扰。比较结果后,选出最佳方案。

步骤

  1. 确定方案——启动前,先制定 2–3 种截然不同的策略。例如,若要优化运行缓慢的数据库查询:

    • 方案 A:添加复合索引并重写查询
    • 方案 B:使用物化视图对架构进行反规范化
    • 方案 C:使用 Redis 添加应用层缓存
  2. 启动并行运行器——针对每种方案,使用 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。在提示词中写明明确的成功标准(例如“运行测试并报告是否通过”“测量查询耗时”)。

  3. 比较结果——所有运行器完成后,评估以下方面:

    • 哪种方案通过了所有测试?
    • 哪种实现最简洁?
    • 哪种方案的性能最佳?
    • 哪种方案最便于长期维护?
  4. 合并最佳方案——切换到胜出分支并合并,或挑选特定提交。清理其他 worktree 分支。

适用场景

  • 可能有多种根本原因的 Bug
  • 需要在不同模式之间做选择的重构(例如组合与继承)
  • 存在多种策略的性能优化
  • 针对同一功能尝试不同的库或方案
  • 任何“直接试试”比分析更快的情况

注意事项

  • 每个运行器都完全隔离,无法看到其他运行器的更改。
  • 提示词要具体:包含文件路径、问题描述和明确的成功标准。
  • 对于较简单的问题,这样做过于复杂——直接使用单个 Agent 即可。
  • 这些分支都是真正的 git 分支,因此需要时可以手动检查。

评论

支持 Markdown