Skip to content

Solvers · 5 种求解策略

每次 Tapilot 执行一个任务,背后是一个 solver 决定怎么走。5 种模式,按 "AI 含量" 排:

模式怎么决策何时用LLM 调用
scripted预写 JS / TS 函数,100% 确定性CI 回归守护,验证工具链本身没坏0
dslYAML 脚本一步步执行最常用。Regression、冒烟、参数化0
ai-dslLLM 生成完整 DSL,一次性执行AI 能一眼看懂目标的简单任务1 次
ai-hybridLLM 规划 → DSL 执行 → 看截图 → 再规划复杂流程,状态多变N 次
ai纯 AI 每一步自主决策 tool-use探索性测试,全新 appN 次

选型决策树

你知道完整步骤吗?
  是 → scripted 或 dsl(dsl 更易读)
  否 → 任务描述能用一段话讲清楚吗?
          能 → ai-dsl(一次生成,省 token)
          不能 → 状态依赖多吗?
                  是 → ai-hybrid(规划+执行循环)
                  不是,完全探索 → ai

切换 solver

环境变量 SOLVER(主仓 scripts/run-tasks.ts 消费):

bash
SOLVER=dsl pnpm -C apps/mcp-server tasks
SOLVER=ai-dsl pnpm -C apps/mcp-server tasks
SOLVER=ai-hybrid pnpm -C apps/mcp-server tasks
SOLVER=ai pnpm -C apps/mcp-server tasks

或 DSL 里直接声明:

yaml
id: my-test
solver: ai-hybrid    # 覆盖默认

评测报告

每次跑完,solver 的步数 / 耗时 / token 消耗写入 tests/reports/metrics.json,便于对比"同一任务在不同 solver 下的表现",指导选型。

详见

  • LLM 配置:GEMINI_API_KEY / ANTHROPIC_API_KEY,见 安装
  • 代码入口:apps/mcp-server/src/runner/ai-solver.ts / ai-dsl-solver.ts / ai-hybrid-solver.ts / dsl-solver.ts

Released under MIT License.