并行探索Skill parallel-explore

并行探索是一个软件开发技能,用于使用 git worktrees 并行测试多种实现方法,帮助在面临技术决策时比较选项、评估优劣并提高代码质量。关键词包括:并行探索、git worktrees、软件开发、决策比较、代码实现、选项评估、架构设计。

架构设计 0 次安装 0 次浏览 更新于 3/15/2026

name: 并行探索 description: “指导使用 git worktrees 并行探索多个实现方法。当面临有多个有效路径的决策时使用。触发条件:探索选项、比较方法、并行探索。”

并行探索技能

指导使用 git worktrees 并行探索多个实现方法的过程。


任务

  1. 识别何时并行探索有价值
  2. 定义要探索的独特方法
  3. 为每种方法创建隔离的 worktrees
  4. 并行执行探索
  5. 评估和比较结果
  6. 合并最佳解决方案

何时使用并行探索

好候选

  • 架构决策 - 不同的模式(例如,微服务 vs 单体架构)
  • 库选择 - 动手比较类似库
  • 算法选择 - 同一问题的不同方法
  • API 设计 - 不同的接口设计
  • 性能优化 - 多种优化策略

不值得并行化

  • 简单、明确的决策
  • 有明显单一方法的任务
  • 非常小的变更
  • 变更不需要额外开销

探索过程

步骤 1: 识别决策点

当遇到重大决策时:

## 决策点已识别

**问题:** [需要决定什么]
**背景:** [为什么这很重要]
**要探索的方法:**
1. [方法 A] - [简要描述]
2. [方法 B] - [简要描述]
3. [方法 C] - [简要描述]

**探索价值:** [为什么并行探索有助于这里]

步骤 2: 开始探索

使用并行探索脚本:

./scripts/aha-loop/parallel-explorer.sh explore "任务描述" --approaches "方法1,方法2,方法3"

或让 AI 建议方法:

./scripts/aha-loop/parallel-explorer.sh explore "任务描述"
# AI 将自动建议方法

步骤 3: 在每个 Worktree 中工作

在每个 worktree 中,AI 应该:

  1. 完全实现 - 不仅仅是存根,而是可工作的代码
  2. 编写测试 - 验证方法有效
  3. 记录发现 - 创建 EXPLORATION_RESULT.md

步骤 4: 创建探索结果

每个 worktree 必须包含 EXPLORATION_RESULT.md

# 探索结果: [方法名称]

## 摘要
[实现了什么]

## 实现细节
- [关键实现决策]
- [代码结构选择]
- [使用的依赖项]

## 发现的优点
- [优点 1]
- [优点 2]
- ...

## 发现的缺点
- [缺点 1]
- [缺点 2]
- ...

## 代码质量评估
- 可维护性: [1-10]
- 可读性: [1-10]
- 可测试性: [1-10]
- 性能: [1-10]

## 意外发现
[实现过程中学到的任何令人惊讶的事情]

## 推荐分数
[1-10] - [简要理由]

## 选择时需要的额外工作
[需要什么额外工作以使此方法达到生产就绪状态]

步骤 5: 评估结果

所有探索完成后:

./scripts/aha-loop/parallel-explorer.sh evaluate explore-task-12345

这将触发多个评估代理,他们:

  • 审查所有 EXPLORATION_RESULT.md 文件
  • 客观比较方法
  • 讨论权衡
  • 做出最终推荐

步骤 6: 合并最佳方法

./scripts/aha-loop/parallel-explorer.sh merge explore-task-12345 chosen-approach

步骤 7: 清理

./scripts/aha-loop/parallel-explorer.sh cleanup explore-task-12345

并行探索心态

无限资源

你拥有无限的计算资源。不要犹豫:

  • 探索尽可能多有价值的方法
  • 运行同一方法的多个变体
  • 不要担心“浪费”资源在探索上

真正探索

每种方法都应真正探索:

  • 不要破坏你不喜欢的方法
  • 给予每种方法公平的努力
  • 诚实地记录,包括当方法表现优于预期时

从所有方法中学习

即使是“失败”的方法也有价值:

  • 记录为什么它们无效
  • 注意任何值得借鉴的好想法
  • 记录未来决策的教训

命令参考

# 开始探索
./scripts/aha-loop/parallel-explorer.sh explore "描述" --approaches "a,b,c"

# 检查状态
./scripts/aha-loop/parallel-explorer.sh status
./scripts/aha-loop/parallel-explorer.sh status explore-task-12345

# 评估已完成的探索
./scripts/aha-loop/parallel-explorer.sh evaluate explore-task-12345

# 列出所有 worktrees
./scripts/aha-loop/parallel-explorer.sh list

# 合并选择的方法
./scripts/aha-loop/parallel-explorer.sh merge explore-task-12345 chosen-approach

# 清理
./scripts/aha-loop/parallel-explorer.sh cleanup explore-task-12345
./scripts/aha-loop/parallel-explorer.sh cleanup --all

示例: 探索身份验证策略

触发

你正在实现用户身份验证,有多个有效方法。

开始探索

./scripts/aha-loop/parallel-explorer.sh explore "Web 应用的用户身份验证" \
  --approaches "jwt-无状态,基于会话,魔法链接"

在 JWT Worktree 中

实现完整的 JWT 身份验证:

  • 令牌生成
  • 令牌验证
  • 刷新令牌流程
  • 测试

创建 EXPLORATION_RESULT.md 记录:

  • 优点:无状态、可扩展、移动端友好
  • 缺点:令牌失效复杂、请求较大
  • 分数:7/10

在 Session Worktree 中

实现基于会话的身份验证:

  • 会话创建
  • 会话存储(Redis/数据库)
  • 会话中间件
  • 测试

创建 EXPLORATION_RESULT.md 记录:

  • 优点:易于失效、请求较小
  • 缺点:需要会话存储、有状态
  • 分数:8/10

在 Magic Link Worktree 中

实现无密码魔法链接:

  • 邮件发送
  • 链接生成
  • 链接验证
  • 测试

创建 EXPLORATION_RESULT.md 记录:

  • 优点:无需管理密码、良好用户体验
  • 缺点:依赖邮件、可能有延迟
  • 分数:6/10

评估

多个评估代理审查所有三种方法并产生:

  • 比较表
  • 最终推荐(基于会话的简单性)
  • 建议借鉴 JWT 的令牌轮换想法

合并

./scripts/aha-loop/parallel-explorer.sh merge explore-auth-12345 session-based

嵌套探索

在探索过程中,你可能发现新的决策点。你可以:

  1. 推迟 - 记下来以备后用,继续当前探索
  2. 嵌套 - 在 worktree 中启动子探索

对于嵌套探索,创建一个子目录:

.worktrees/
  explore-auth-12345/
    jwt/
      .worktrees/          # 嵌套探索
        explore-refresh-67890/
          rotating-tokens/
          sliding-window/

与可观察性集成

将探索决策记录到 logs/ai-thoughts.md

## 2026-01-29 14:00:00 | 任务: PRD-003 | 阶段: 探索

### 决策点
需要确定身份验证策略。

### 正在探索的方法
1. JWT(无状态)
2. 基于会话(有状态)
3. 魔法链接(无密码)

### 探索状态
已启动并行探索:explore-auth-12345

### 预期结果
将评估所有三种方法并合并最佳方法。

检查清单

开始探索前:

  • [ ] 决策点清晰识别
  • [ ] 存在多个有效方法
  • [ ] 方法有显著差异
  • [ ] 探索努力是合理的

探索期间:

  • [ ] 每种方法真正实现
  • [ ] 为每种编写测试
  • [ ] 创建 EXPLORATION_RESULT.md

探索后:

  • [ ] 所有方法公平评估
  • [ ] 最终推荐记录
  • [ ] 最佳方法合并
  • [ ] worktrees 清理完毕