code wiki / _hdl_build / nx_race_vs_claude.nx
nx_race_vs_claude.nx source
↩ module page · 39 lines · 2010 B
1// nx_race_vs_claude.nx -- compare the TEAM's capabilities to CLAUDE's, head to head (operator: "compare
2// their capabilities to yours via the team and you racing off"). For each task type we hold an accuracy
3// for the team and for Claude; the verdict is TEAM_WINS / TIE / CLAUDE_WINS. Crucially, where the team
4// TIES on accuracy it still wins on COST (free) + REPRODUCIBILITY (deterministic -- same input, same
5// output, which a sampled LLM cannot guarantee). So the honest picture: the team has caught Claude on
6// the mechanizable tasks (and beats it on cost/reproducibility there); Claude still wins the semantic /
7// creative rung -- exactly the open LLM-gaps. As PPMI->embeddings->Nishi-LLM land, the team closes those.
8// The accuracies are Claude's honest self-assessment, grounded in the proven team tests. license_tier: ORIGINAL
9
10import "nx_syscalls.nx"
11
12const RC_CLAUDE_WINS: i64 = 0
13const RC_TIE: i64 = 1 // equal accuracy -> team preferred (free + reproducible)
14const RC_TEAM_WINS: i64 = 2
15
16func rc_verdict(team_acc: i64, claude_acc: i64) -> i64 {
17 if team_acc > claude_acc { return RC_TEAM_WINS }
18 if team_acc == claude_acc { return RC_TIE }
19 return RC_CLAUDE_WINS
20}
21
22// where the team is competitive (tie or win) it ALSO wins on cost + reproducibility.
23func rc_team_competitive(verdict: i64) -> i64 { if verdict == RC_CLAUDE_WINS { return 0 } return 1 }
24
25func rc_count(verdicts: *i64, n: i64, kind: i64) -> i64 {
26 var c: i64 = 0; var i: i64 = 0
27 while i < n { if verdicts[i] == kind { c = c + 1 } i = i + 1 }
28 return c
29}
30
31// tasks where the team is competitive with Claude (caught up).
32func rc_caught_up(verdicts: *i64, n: i64) -> i64 {
33 var c: i64 = 0; var i: i64 = 0
34 while i < n { if rc_team_competitive(verdicts[i]) == 1 { c = c + 1 } i = i + 1 }
35 return c
36}
37
38// tasks where Claude still wins = the remaining LLM rung the team must close.
39func rc_claude_still_needed(verdicts: *i64, n: i64) -> i64 { return rc_count(verdicts, n, RC_CLAUDE_WINS) }