Each tool receives a score based on multiple weighted factors:
| Factor | Weight | Decision | Rationale |
|---|---|---|---|
| Capability Match | 1.0 each | - | Base score from matching capability tags |
| Claude Provider | 1.5x | D-M1-003 | Tool calling maturity, project requirement |
| Internal Tool | 1.2x | D-M1-004 | Lower latency, no token costs, more control |
| Learning Boost | 0.5-2.0x | D-M5-004 | Historical success rate, temporal weighting |
Task: "Generate Python code" with capability: code_generation
Calculation: 1.0 * 1.5 * 1.0 * 1.35 = 2.03
Same task, different tools competing:
| Tool | Cap | Prov | Int | Learn | Final |
|---|---|---|---|---|---|
| claude_code_generation | 1.0 | x1.5 | x1.0 | x1.35 | 2.03 |
| openai_code_gen | 1.0 | x1.0 | x1.0 | x1.10 | 1.10 |
| internal_codegen | 1.0 | x1.0 | x1.2 | x0.80 | 0.96 |
Winner: claude_code_generation with score 2.03