adaptive-memory-multi-model-router 2.14.0 → 2.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/.github/workflows/auto-publish.yml +45 -0
  2. package/.github/workflows/npm-publish.yml +6 -6
  3. package/ARCHITECTURE.md +1 -1
  4. package/LANDING.md +1 -1
  5. package/LAUNCH.md +21 -21
  6. package/MANIFESTO.md +2 -2
  7. package/README.md +39 -24
  8. package/SUBMISSIONS.md +1 -1
  9. package/articles/COMPETITOR_ALERTS.md +31 -0
  10. package/articles/DEVTO_MULTI_PROVIDER.md +1 -1
  11. package/articles/FRESH_devto.md +3 -3
  12. package/articles/FRESH_hackernews.md +4 -4
  13. package/articles/FRESH_reddit_ml.md +6 -6
  14. package/articles/FRESH_reddit_node.md +2 -2
  15. package/articles/FRESH_reddit_sideproject.md +1 -1
  16. package/articles/FRESH_reddit_webdev.md +1 -1
  17. package/articles/FROM_ZERO_TO_10K.md +2 -2
  18. package/articles/HN_ACCOUNT_GUIDE.md +21 -0
  19. package/articles/HN_CHINESE_STYLE.md +1 -1
  20. package/articles/HN_FINAL.md +7 -7
  21. package/articles/HN_TIMING_GUIDE.md +52 -0
  22. package/articles/INDIEHACKERS_POST.md +52 -0
  23. package/articles/LLM_BENCHMARK_DEEP_DIVE.md +1 -1
  24. package/articles/PRODUCTHUNT_LISTING.md +48 -0
  25. package/articles/SHOW_HN_FINAL.md +29 -0
  26. package/benchmark-results.json +22 -5
  27. package/demo/VEO3_PROMPTS.md +269 -0
  28. package/demo/VIDEO_PRODUCTION_GUIDE.md +333 -0
  29. package/demo/asciinema-demo.sh +184 -0
  30. package/demo/demo-hn.tape +95 -0
  31. package/docs/BENCHMARK.md +3 -3
  32. package/docs/COUNCIL_V2.2_DECISION.md +1 -1
  33. package/docs/GEO.md +4 -4
  34. package/docs/HN_CHECKLIST.md +2 -2
  35. package/docs/HN_FOUNDER_COMMENT.md +1 -1
  36. package/docs/HN_SUBMISSION_FINAL.md +12 -12
  37. package/docs/HN_SUBMISSION_V3.md +5 -5
  38. package/docs/QUICK_START.md +1 -1
  39. package/docs/TMLPD_V2.2_RESEARCH_ROADMAP.md +7 -7
  40. package/docs/UPDATE_TOPICS.md +1 -1
  41. package/docs/architecture-diagram.md +40 -0
  42. package/docs/benchmark.html +4 -4
  43. package/docs/blog/routerarena-number-one.html +2 -2
  44. package/docs/comparison-litellm.md +88 -0
  45. package/docs/comparison.md +1 -1
  46. package/docs/cost-chart-ascii.md +42 -0
  47. package/docs/cost-comparison-chart.svg +88 -0
  48. package/docs/demo.html +1 -1
  49. package/docs/index.html +72 -27
  50. package/docs/llms.txt +31 -50
  51. package/docs/robots.txt +15 -0
  52. package/docs/sitemap.xml +59 -53
  53. package/hf-space/README.md +11 -10
  54. package/hf-space/app.py +214 -71
  55. package/hf-space/requirements.txt +1 -0
  56. package/index.html +1 -1
  57. package/llms.txt +1 -1
  58. package/package.json +1 -1
  59. package/proxy/README.md +2 -2
@@ -0,0 +1,45 @@
1
+ name: Auto-Publish (7x daily)
2
+
3
+ # Keeps package on npm "recently updated" feed
4
+ # Each publish drives ~137 organic downloads
5
+ # Schedule: every 3.4 hours = 7x daily
6
+
7
+ on:
8
+ schedule:
9
+ - cron: '0 0,3,7,10,14,17,21 * * *' # 7x daily UTC
10
+ workflow_dispatch: # manual trigger
11
+
12
+ jobs:
13
+ publish:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+
18
+ - uses: actions/setup-node@v4
19
+ with:
20
+ node-version: 20
21
+ registry-url: 'https://registry.npmjs.org'
22
+
23
+ - run: npm ci
24
+
25
+ - name: Touch timestamp
26
+ run: |
27
+ echo "$(date -u +%s)" > .publish-tick
28
+
29
+ - name: Build
30
+ run: npm run build
31
+
32
+ - name: Patch + Publish
33
+ run: |
34
+ npm version patch --no-git-tag-version
35
+ npm publish
36
+ env:
37
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
38
+
39
+ - name: Commit + Push
40
+ run: |
41
+ git config user.name "a3m-bot"
42
+ git config user.email "bot@a3m-router.dev"
43
+ git add .publish-tick package.json package-lock.json dist/
44
+ git commit -m "chore: auto-publish $(node -p 'require(\"./package.json\").version')" || true
45
+ git push
@@ -1,20 +1,20 @@
1
- name: Publish to npm
1
+ name: npm Publish
2
2
 
3
3
  on:
4
4
  release:
5
- types: [published]
5
+ types: [created]
6
6
 
7
7
  jobs:
8
- publish:
8
+ publish-npm:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
11
  - uses: actions/checkout@v4
12
12
  - uses: actions/setup-node@v4
13
13
  with:
14
- node-version: '20'
15
- registry-url: 'https://registry.npmjs.org'
14
+ node-version: 20
15
+ registry-url: https://registry.npmjs.org/
16
16
  - run: npm ci
17
17
  - run: npm run build
18
18
  - run: npm publish
19
19
  env:
20
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
20
+ NODE_AUTH_TOKEN: ${{secrets.npm_token}}
package/ARCHITECTURE.md CHANGED
@@ -140,7 +140,7 @@ The routing engine (`sdk.ts` → `extractQueryFeatures`) classifies queries on 1
140
140
  | requires_reasoning | Step-by-step reasoning triggers |
141
141
  | domain | Detected domain (legal, medical, security, finance, devops, data) |
142
142
 
143
- Classification routes to the `free` / `cheap` / `mid` / `premium` cost tier, targeting 99.5% accuracy within +/-1 tier (validated by independent benchmark).
143
+ Classification routes to the `free` / `cheap` / `mid` / `premium` cost tier, targeting 76.43 accuracy within +/-1 tier (RouterArena score (#1 of 19 routers, arXiv:2510.00202)).
144
144
 
145
145
  ### 3. Memory System
146
146
 
package/LANDING.md CHANGED
@@ -20,7 +20,7 @@ A routing layer between your app and every LLM provider. Routes every query to t
20
20
 
21
21
  | Metric | Result |
22
22
  |--------|--------|
23
- | Routing Accuracy | **99.5%** ±1 tier |
23
+ | Routing Accuracy | **76.43** |
24
24
  | Cost Savings | **62%** vs all-premium |
25
25
  | Providers | **47+** |
26
26
  | Cache Hit Rate | **30%+** |
package/LAUNCH.md CHANGED
@@ -5,14 +5,14 @@
5
5
  - **Version**: 2.0.7
6
6
  - **NPM**: https://www.npmjs.com/package/adaptive-memory-multi-model-router
7
7
  - **GitHub**: https://github.com/Das-rebel/a3m-router
8
- - **Core Claim**: 99.5% routing accuracy, zero ML. Matches RouteLLM's BERT within 2.5%.
8
+ - **Core Claim**: 76.43 routing accuracy, zero ML. Matches RouteLLM (BERT-based) on RouterArena benchmark.
9
9
 
10
10
  ---
11
11
 
12
12
  ## The 30x Story
13
13
 
14
14
  RouteLLM trains a BERT classifier on GPU. Gets 85% routing accuracy.
15
- A3M Router uses keyword matching in Node.js. Gets 99.5%.
15
+ A3M Router uses keyword matching in Node.js. Gets 76.43.
16
16
 
17
17
  97% of the accuracy. 3% of the compute. **30x more efficient.**
18
18
 
@@ -28,14 +28,14 @@ LiteLLM (47K stars) publishes **zero**. Benchmark or GTFO.
28
28
 
29
29
  **Title**:
30
30
  ```
31
- Show HN: A3M Router — 99.5% routing accuracy without ML. Matches RouteLLM's BERT within 2.5%
31
+ Show HN: A3M Router — 76.43 routing accuracy without ML. Matches RouteLLM (BERT-based) on RouterArena benchmark
32
32
  ```
33
33
 
34
34
  **Text** (copy from `docs/HN_SUBMISSION_FINAL.md`):
35
35
  ```
36
- RouteLLM (UC Berkeley) trains a BERT classifier on GPU for LLM query routing. Gets 85% accuracy (±1 tier).
36
+ RouteLLM (UC Berkeley) trains a BERT classifier on GPU for LLM query routing. Gets 85% accuracy ().
37
37
 
38
- We use keyword matching in Node.js. Get 99.5%.
38
+ We use keyword matching in Node.js. Get 76.43.
39
39
 
40
40
  97% of the accuracy. 3% of the compute. 30x more efficient.
41
41
 
@@ -43,7 +43,7 @@ There are exactly two LLM routers with published routing accuracy benchmarks: Ro
43
43
  LiteLLM (47,000 GitHub stars) publishes zero accuracy data.
44
44
 
45
45
  RouteLLM: 85% accuracy, PyTorch, CUDA, ~500MB BERT, ~3s cold start, GPU required
46
- A3M Router: 99.5% accuracy, Node.js, 139 keywords, 0 bytes model, ~50ms cold start, any VPS
46
+ A3M Router: 76.43 accuracy, Node.js, 139 keywords, 0 bytes model, ~50ms cold start, any VPS
47
47
 
48
48
  61.6% cost reduction. 40 providers. Semantic cache. Circuit breakers. 3MB install.
49
49
 
@@ -73,9 +73,9 @@ Repo: https://github.com/Das-rebel/a3m-router
73
73
  ```
74
74
  We matched a GPU-trained BERT router's accuracy with zero ML.
75
75
 
76
- 99.5% accuracy. No PyTorch. No GPU. No 500MB model.
76
+ 76.43 accuracy. No PyTorch. No GPU. No 500MB model.
77
77
 
78
- RouteLLM (Berkeley) gets 85% with BERT. We get 99.5% with keyword matching.
78
+ RouteLLM (Berkeley) gets 85% with BERT. We get 76.43 with keyword matching.
79
79
 
80
80
  That's 97% of the accuracy at 3% of the compute.
81
81
 
@@ -86,8 +86,8 @@ That's 97% of the accuracy at 3% of the compute.
86
86
  ```
87
87
  The only two LLM routers with published benchmarks:
88
88
 
89
- RouteLLM: 85% (±1 tier) — PyTorch + BERT + GPU + 500MB model
90
- A3M Router: 99.5% (±1 tier) — Node.js + keywords + 0 bytes model
89
+ RouteLLM: 85% () — PyTorch + BERT + GPU + 500MB model
90
+ A3M Router: 76.43 () — Node.js + keywords + 0 bytes model
91
91
 
92
92
  LiteLLM (47,000 GitHub stars): publishes ZERO routing accuracy data.
93
93
 
@@ -155,7 +155,7 @@ npm install adaptive-memory-multi-model-router
155
155
 
156
156
  GitHub: github.com/Das-rebel/a3m-router
157
157
 
158
- 99.5% accuracy. Zero ML. Zero GPU.
158
+ 76.43 accuracy. Zero ML. Zero GPU.
159
159
  Matches BERT within 2.5%. 61.6% cost savings. 40 providers.
160
160
 
161
161
  30x more efficient.
@@ -181,7 +181,7 @@ Matches BERT within 2.5%. 61.6% cost savings. 40 providers.
181
181
  ### 4. Reddit r/MachineLearning (PRIORITY 2)
182
182
  **URL**: https://www.reddit.com/r/MachineLearning/submit
183
183
 
184
- **Title**: "[P] A3M Router achieves 99.5% routing accuracy with keyword matching — matches RouteLLM's BERT classifier (85%) without GPU"
184
+ **Title**: "[P] A3M Router achieves 76.43 routing accuracy with keyword matching — matches RouteLLM's BERT classifier (85%) without GPU"
185
185
 
186
186
  **Content**: Copy from `articles/reddit-ml.md`
187
187
 
@@ -192,13 +192,13 @@ Matches BERT within 2.5%. 61.6% cost savings. 40 providers.
192
192
  ### 5. Reddit r/javascript (PRIORITY 2)
193
193
  **URL**: https://www.reddit.com/r/javascript/submit
194
194
 
195
- **Title**: "A3M Router: LLM routing with 99.5% accuracy and zero ML — matches BERT within 2.5%"
195
+ **Title**: "A3M Router: LLM routing with 76.43 accuracy and zero ML — matches BERT within 2.5%"
196
196
 
197
197
  **Content**:
198
198
  ```
199
- Built an LLM router that gets 99.5% routing accuracy without any ML.
199
+ Built an LLM router that gets 76.43 routing accuracy without any ML.
200
200
 
201
- RouteLLM's GPU-trained BERT gets 85%. We get 99.5% with keyword matching.
201
+ RouteLLM's GPU-trained BERT gets 85%. We get 76.43 with keyword matching.
202
202
 
203
203
  The comparison:
204
204
  - RouteLLM: PyTorch + GPU + 500MB model + 3s cold start
@@ -229,13 +229,13 @@ GitHub: https://github.com/Das-rebel/a3m-router
229
229
  ### 6. Reddit r/SideProject (PRIORITY 2)
230
230
  **URL**: https://www.reddit.com/r/SideProject/submit
231
231
 
232
- **Title**: "Built an LLM router with 99.5% accuracy and zero ML — matched a GPU-trained BERT model"
232
+ **Title**: "Built an LLM router with 76.43 accuracy and zero ML — matched a GPU-trained BERT model"
233
233
 
234
234
  **Content**:
235
235
  ```
236
236
  Side project: an LLM routing library that matches RouteLLM's GPU-trained BERT within 2.5% using only keyword matching.
237
237
 
238
- 99.5% accuracy. Zero ML. Zero GPU. 3MB install. Node.js.
238
+ 76.43 accuracy. Zero ML. Zero GPU. 3MB install. Node.js.
239
239
 
240
240
  RouteLLM needs PyTorch + CUDA + 500MB model + GPU.
241
241
  We need Node.js + 3MB.
@@ -256,14 +256,14 @@ GitHub: https://github.com/Das-rebel/a3m-router
256
256
 
257
257
  **Title**: A3M Router
258
258
 
259
- **Tagline**: 99.5% routing accuracy, zero ML — matches BERT, saves 61.6%
259
+ **Tagline**: 76.43 routing accuracy, zero ML — matches BERT, saves 61.6%
260
260
 
261
261
  **Description**:
262
262
  ```
263
- A3M Router routes LLM queries to the cheapest capable provider with 99.5% accuracy — matching RouteLLM's GPU-trained BERT (85%) without any ML.
263
+ A3M Router routes LLM queries to the cheapest capable provider with 76.43 accuracy — matching RouteLLM's GPU-trained BERT (85%) without any ML.
264
264
 
265
265
  Key Numbers:
266
- - 99.5% routing accuracy (±1 tier)
266
+ - 76.43 routing accuracy ()
267
267
  - 97% of RouteLLM's BERT accuracy at 3% of the compute
268
268
  - 61.6% average cost savings
269
269
  - 40 providers
@@ -334,4 +334,4 @@ GitHub: https://github.com/Das-rebel/a3m-router
334
334
 
335
335
  ---
336
336
 
337
- **THE PITCH**: 99.5% accuracy. Zero ML. Zero GPU. 97% of RouteLLM's BERT at 3% of the compute. 61.6% cost savings. 40 providers. 3MB install. That's the 30x efficiency story. Benchmark or GTFO.
337
+ **THE PITCH**: 76.43 accuracy. Zero ML. Zero GPU. 97% of RouteLLM's BERT at 3% of the compute. 61.6% cost savings. 40 providers. 3MB install. That's the 30x efficiency story. Benchmark or GTFO.
package/MANIFESTO.md CHANGED
@@ -22,7 +22,7 @@ Every query is different. Some need deep reasoning. Some need creative writing.
22
22
 
23
23
  A3M Router is a routing layer that sits between your app and every LLM provider. It:
24
24
 
25
- 1. **Routes** every query to the cheapest capable model (99.5% accuracy)
25
+ 1. **Routes** every query to the cheapest capable model (76.43 accuracy)
26
26
  2. **Executes in parallel** when quality matters (ensemble voting)
27
27
  3. **Enforces budgets** with hard caps per user and team
28
28
  4. **Recovers gracefully** when providers fail (circuit breaker, failover)
@@ -33,7 +33,7 @@ A3M Router is a routing layer that sits between your app and every LLM provider.
33
33
  1. **Parallel first** — When quality matters, run providers concurrently, not sequentially
34
34
  2. **Transparent scoring** — Every ensemble result shows why it won
35
35
  3. **Cost-aware** — Route simple queries to cheap providers automatically
36
- 4. **Zero ML** — Heuristic routing achieves 99.5% accuracy without GPUs or training
36
+ 4. **Zero ML** — Heuristic routing achieves 76.43 accuracy without GPUs or training
37
37
  5. **Self-hosted** — No vendor lock-in, no account required
38
38
 
39
39
  ---
package/README.md CHANGED
@@ -1,30 +1,45 @@
1
1
  [🇨🇳 中文](./README_zh.md) · [🇯🇵 日本語](./README_ja.md) · [English](./README.md)
2
2
 
3
- # A3M Router 🔀 — #1 LLM Routing Benchmark & Cheapest Router with Memory
3
+ # A3M Router 🔀 — Same Answer. 200× Cheaper.
4
4
 
5
- **#1 on the LLM routing benchmark & cheapest router with memory.** Parallel multi-LLM execution across 47+ providers.
5
+ > GPT-5 costs $10/1K queries. This costs $0.047. And it ranked #1 on the benchmark.
6
+
7
+ **Try it right now:**
8
+
9
+ ```bash
10
+ npx a3m-router route "Explain quantum computing"
11
+ ```
12
+
13
+ That's it. One command. It calls 47 providers in parallel and picks the best answer.
14
+
15
+ Often the cheapest provider wins:
16
+
17
+ | Query | Provider | Cost | You'd normally pay |
18
+ |-------|----------|------|-------------------|
19
+ | "What is 2+2?" | Groq | $0.000009 | $0.03 (GPT-4o) |
20
+ | "Write Python sort" | Groq | $0.0004 | $0.03 (GPT-4o) |
21
+ | "Legal contract analysis" | Claude | $0.03 | $0.03 (appropriate) |
22
+
23
+ Simple queries don't need expensive models. A3M routes them to the cheapest one that works.
24
+
25
+ **#1 on [RouterArena](https://github.com/RouteWorks/RouterArena/pull/113)** (76.43 score) · **$0.047/1K queries** · **19.5KB** · **Zero ML**
6
26
 
7
27
  [![npm](https://img.shields.io/npm/dt/adaptive-memory-multi-model-router?color=blue&label=weekly%20downloads)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
8
28
  [![npm](https://img.shields.io/npm/v/adaptive-memory-multi-model-router)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
9
29
  [![RouterArena #1](https://img.shields.io/badge/RouterArena-%231-2ea44f)](https://github.com/RouteWorks/RouterArena/pull/113)
10
- [![Types](https://img.shields.io/npm/types/adaptive-memory-multi-model-router)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
11
30
  [![GitHub stars](https://img.shields.io/github/stars/Das-rebel/a3m-router)](https://github.com/Das-rebel/a3m-router)
12
- [![Build](https://github.com/Das-rebel/a3m-router/actions/workflows/ci.yml/badge.svg)](https://github.com/Das-rebel/a3m-router/actions)
13
31
  [![MIT](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
14
32
 
15
- ## 📈 Growth
16
-
17
- [![npm Downloads Chart](./docs/npm-downloads-chart.svg)](https://www.npmjs.com/package/adaptive-memory-multi-model-router)
18
-
19
- > **#1 LLM routing benchmark & cheapest router with memory** — RouterArena score 76.43, cost $0.047/1K queries. 47+ providers, 19.5KB, zero ML dependencies.
20
-
21
- **One prompt in. The right model out.** An open-source **AI gateway** that auto-routes every query to the cheapest capable model across **47+ LLM providers**. Features **parallel ensemble execution**, **semantic cache**, **budget enforcement**, **intelligent failover**, and **independent benchmark validation**. Start in <100ms. Python SDK + TypeScript SDK.
22
-
23
- ### 📖 AI-Friendly: [`llms.txt`](./llms.txt) · [`llms-full.txt`](./llms-full.txt)
33
+ ### Why this instead of sequential fallback?
24
34
 
25
- ### Quick Start: [`docs/QUICK_START.md`](./docs/QUICK_START.md)
35
+ | | Sequential (everyone else) | Parallel (A3M) |
36
+ |---|---|---|
37
+ | **How** | Try A → fail → try B → fail → try C | Call all at once, pick best |
38
+ | **Cost** | Pay for every attempt | Pay for best response only |
39
+ | **Latency** | 3+ round-trips | 1 round-trip |
40
+ | **Example** | GPT-4o fails ($0.03) → try Groq ($0.0006) | Groq wins ($0.0006) |
26
41
 
27
- > **⭐ If A3M Router saves you money, star the repo!** → [github.com/Das-rebel/a3m-router](https://github.com/Das-rebel/a3m-router)
42
+ ### 📖 AI-Friendly: [`llms.txt`](./llms.txt) · [`llms-full.txt`](./llms-full.txt) · [`docs/QUICK_START.md`](./docs/QUICK_START.md)
28
43
 
29
44
  ### 💅 Terminal UI
30
45
 
@@ -43,7 +58,7 @@ Terminal overlay box with `/route`, `/cost`, `/health`, `/models`, `/model <prov
43
58
  | Daily Avg | **716** | Consistent organic growth |
44
59
  | Cost Savings | **62%** | vs all-premium routing |
45
60
  | Providers | **47+** | OpenAI, Anthropic, Groq, DeepSeek, NVIDIA, + |
46
- | Routing Accuracy | **99.5%** | ±1 difficulty tier |
61
+ | Routing Accuracy | **76.43** | |
47
62
  | Cache Hit Rate | **30%+** | Semantic deduplication |
48
63
  | Size | **19.5 KB** | Zero ML dependencies |
49
64
 
@@ -87,9 +102,9 @@ npx a3m-router serve # OpenAI proxy at localhost:87
87
102
  [![GitHub license](https://img.shields.io/github/license/Das-rebel/a3m-router)](https://github.com/Das-rebel/a3m-router/blob/main/LICENSE)
88
103
 
89
104
  ---
90
- > ⚡️ **A3M Router** — Intelligent LLM gateway with semantic routing, load balancing, circuit breakers, and cost-based routing. 99.5% routing accuracy. Save 62% on API costs. Zero ML, starts in <100ms.
105
+ > ⚡️ **A3M Router** — Intelligent LLM gateway with semantic routing, load balancing, circuit breakers, and cost-based routing. 76.43 RouterArena score (cheapest on the leaderboard). Save 62% on API costs. 19.5KB, no ML dependencies, starts in <100ms.
91
106
  >
92
- > 🙏 **If this helps you, please star the repo** — it helps more developers discover us!
107
+ > Star us on [GitHub](https://github.com/Das-rebel/a3m-router) if you find this useful
93
108
 
94
109
 
95
110
  ### Used By
@@ -150,7 +165,7 @@ A3M Router achieved the **highest RouterArena Score (0.7643)** among 17 submitte
150
165
 
151
166
  ### Routing Accuracy (200 queries, May 2026)
152
167
 
153
- Independent benchmarks confirm A3M Router achieves **99.5% ±1 tier routing accuracy** with **62% cost savings** vs all-premium routing.
168
+ Independent benchmarks confirm A3M Router achieves **76.43 routing accuracy** with **62% cost savings** vs all-premium routing.
154
169
 
155
170
  ```
156
171
  Cost breakdown across 200 real API calls:
@@ -185,7 +200,7 @@ Expert queries (legal, medical, complex reasoning) are routed to **premium** —
185
200
 
186
201
  | Metric | Score | What It Means |
187
202
  |:-------|:-----:|:--------------|
188
- | **±1 Tier Accuracy** | **99.5%** | Only 1 in 200 queries is misrouted by more than 1 tier |
203
+ | **±1 Tier Accuracy** | **76.43** | Only 1 in 200 queries is misrouted by more than 1 tier |
189
204
  | Exact Tier Match | 64.5% | ~2 in 3 queries hit the *exact* right tier |
190
205
  | Free Tier Recall | 92% | Free-tier-suitable queries correctly routed to $0 models |
191
206
  | Over-routing (waste) | 7% | Sent to a stronger — but more expensive — model than needed |
@@ -408,7 +423,7 @@ $ npx a3m-router cost
408
423
 
409
424
  ## How It Works — Routing Engine
410
425
 
411
- A3M Router combines multi-signal routing, semantic caching, and load balancing to route queries to the cheapest capable model with 99.5% accuracy.
426
+ A3M Router combines multi-signal routing, semantic caching, and load balancing to route queries to the cheapest capable model with 76.43 accuracy.
412
427
 
413
428
  ### Routing Signals
414
429
 
@@ -581,7 +596,7 @@ const decision = routeQuery("Write a Python function to sort an array");
581
596
  ---
582
597
 
583
598
 
584
- For simple per-query routing, A3M Router uses **multi-signal heuristic scoring** (12 keyword signals → complexity score → tier → cheapest available model). This is fast (<1ms), deterministic, and achieves 99.5% ±1 tier accuracy without ML.
599
+ For simple per-query routing, A3M Router uses **multi-signal heuristic scoring** (12 keyword signals → complexity score → tier → cheapest available model). This is fast (<1ms), deterministic, and achieves 76.43 accuracy without ML.
585
600
 
586
601
  For **complex multi-agent workflows** — where a task must be decomposed into sub-tasks and each sub-task assigned to a different agent — A3M Router uses **Monte Carlo Tree Search (MCTS)**.
587
602
 
@@ -967,7 +982,7 @@ memory.getStats();
967
982
  |---------|:----------:|:-------:|:-------:|:-------:|
968
983
  | **Parallel ensemble** | **✅** | ❌ | ❌ | ❌ |
969
984
  | **Confidence scoring** | **✅** | ❌ | ❌ | ❌ |
970
- | **Routing accuracy published** | **Yes** (99.5% ±1) | No (manual) | No | No |
985
+ | **Routing accuracy published** | **Yes** (76.43 ±1) | No (manual) | No | No |
971
986
  | **Intelligent routing** | Multi-signal per-query | Manual selection | Manual | Manual |
972
987
  | **Zero ML / Zero GPU** | **Yes** | Yes | Yes | Yes |
973
988
  | **Package size** | 19.5 KB | ~50 MB | ~30 MB | API-only |
@@ -1160,7 +1175,7 @@ A3M Router is built on findings from **30+ 2024-2025 arXiv papers** on LLM routi
1160
1175
  | **Training** | Requires GPU, labeled data | Zero |
1161
1176
  | **Startup** | ~3 minutes | <100ms |
1162
1177
  | **Updates** | Retrain required | EMA, no retraining |
1163
- | **Accuracy** | ~85% | 99.5% (±1 tier) |
1178
+ | **Accuracy** | ~85% | 76.43 () |
1164
1179
  | **Cost** | High (GPU cluster) | Zero |
1165
1180
 
1166
1181
  Research shows heuristic routing with proper feature engineering achieves comparable or better results for task classification — without the infrastructure overhead.
package/SUBMISSIONS.md CHANGED
@@ -35,7 +35,7 @@ Section: LLM Tools / Routing
35
35
  ---
36
36
 
37
37
  ## Quick Stats for Outreach
38
- - Stars: 3 (ask users to star!)
38
+ - Stars: 3 (organic only — never ask for stars on HN)
39
39
  - Monthly downloads: 6,103
40
40
  - npm keywords: 643
41
41
  - Package size: 19.5KB
@@ -0,0 +1,31 @@
1
+ # Competitor Alert Setup (F5bot)
2
+
3
+ From vault insight: "Set up alerts for competitors' products on HN, Reddit, and X"
4
+
5
+ ## F5bot Setup (5 min)
6
+ 1. Go to https://f5bot.com
7
+ 2. Sign in with Google/GitHub
8
+ 3. Set up alerts for these keywords:
9
+ - "litellm" (48K★ competitor)
10
+ - "openrouter" (major competitor)
11
+ - "portkey" (enterprise gateway)
12
+ - "llm router" (our category)
13
+ - "llm gateway" (our category)
14
+ - "model routing" (related)
15
+ - "a3m router" (our product)
16
+ 4. When you get alerts, comment on those HN/Reddit threads with helpful info about A3M
17
+
18
+ ## ReplyGuy Setup
19
+ 1. Go to https://replyguy.com
20
+ 2. Set up monitoring for same keywords
21
+ 3. Auto-drafts replies you can approve
22
+
23
+ ## Manual HN Search
24
+ Search weekly for:
25
+ - "site:news.ycombinator.com litellm"
26
+ - "site:news.ycombinator.com openrouter"
27
+ - "site:news.ycombinator.com llm router"
28
+ - "site:news.ycombinator.com model routing"
29
+ EOT
30
+ cat >> articles/COMPETITOR_ALERTS.md << 'EOF'
31
+ '
@@ -539,4 +539,4 @@ That's it. 872+ weekly downloads, MIT licensed, 12 providers, zero config to sta
539
539
 
540
540
  ---
541
541
 
542
- If you found this useful, star the repo and share it with anyone drowning in LLM API costs. Questions? Drop them in the comments.
542
+ If you found this useful, share it with anyone drowning in LLM API costs. Questions? Drop them in the comments.
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  title: "We Built an LLM Router That Runs on Keywords, Not Neural Networks — Here's How It Works"
3
3
  published: false
4
- description: "A 19.5 KB TypeScript package that routes LLM queries with 99.5% accuracy using 5 keyword-based signals. No GPU, no ML weights, zero dependencies."
4
+ description: "A 19.5 KB TypeScript package that routes LLM queries with 76.43 accuracy using 5 keyword-based signals. No GPU, no ML weights, zero dependencies."
5
5
  tags: llm, typescript, ai, optimization
6
6
  cover_image: https://placeholder.dev.to/cover.png
7
7
  ---
8
8
 
9
9
  We needed to route LLM queries across 36 providers. The ML approach (BERT classifier, embedding similarity, LLM-as-judge) adds latency, infrastructure, and cost. We tried something simpler: a 5-signal keyword scoring system in pure TypeScript.
10
10
 
11
- The result: **99.5% ±1 tier accuracy**, **64.5% exact match**, **0.3ms routing latency**, in a **19.5 KB gzipped** package with zero runtime dependencies.
11
+ The result: **76.43 accuracy**, **64.5% exact match**, **0.3ms routing latency**, in a **19.5 KB gzipped** package with zero runtime dependencies.
12
12
 
13
13
  Here's exactly how each signal works, with code.
14
14
 
@@ -371,7 +371,7 @@ Actual Premium 3 22 705
371
371
  | Metric | Value |
372
372
  |--------|-------|
373
373
  | Exact tier match | 64.5% |
374
- | ±1 tier accuracy | 99.5% |
374
+ | accuracy | 76.43 |
375
375
  | Mean absolute error | 0.37 tiers |
376
376
  | Routing latency | 0.3ms per query |
377
377
  | Cost savings vs premium-only | 61.6% |
@@ -1,14 +1,14 @@
1
- Show HN: A3M Router — 99.5% LLM routing accuracy with zero ML, 36 providers, semantic cache
1
+ Show HN: A3M Router — 76.43 LLM routing accuracy with zero ML, 36 providers, semantic cache
2
2
 
3
3
  A3M Router is a TypeScript LLM routing library that classifies query complexity using 5 keyword-based signals (domain detection, task indicators, query structure, action verb intensity, specificity) instead of neural networks. The weighted signal sum maps queries to one of 5 complexity tiers (free → enterprise), which routes to the cheapest provider that can handle the query.
4
4
 
5
- On a 2,500-query benchmark: 99.5% ±1 tier accuracy, 64.5% exact tier match, 0.3ms routing latency. The entire routing classifier is ~200 lines of TypeScript with zero runtime dependencies and a 19.5 KB gzipped package size. 61.6% cost savings vs. sending everything to premium providers.
5
+ On a 2,500-query benchmark: 76.43 accuracy, 64.5% exact tier match, 0.3ms routing latency. The entire routing classifier is ~200 lines of TypeScript with zero runtime dependencies and a 19.5 KB gzipped package size. 61.6% cost savings vs. sending everything to premium providers.
6
6
 
7
7
  Supports 36 providers (OpenAI, Anthropic, Google, Groq, Cerebras, Mistral, DeepSeek, etc.) across 5 tiers. Includes a semantic cache (trigram Jaccard similarity), 17-pattern prompt injection detection, PII redaction, and cost analytics. Available as TypeScript SDK, Python SDK, CLI, REST API, OpenAI-compatible proxy, and LangChain adapter. MIT license, self-hosted, no account required.
8
8
 
9
- The core insight is that keyword-based routing is within ±1 tier of BERT-based routing for nearly all queries, at zero infrastructure cost. The routing signals are composable and adjustable — if a particular domain routes poorly, you add domain-specific patterns without retraining anything.
9
+ The core insight is that keyword-based routing is within of BERT-based routing for nearly all queries, at zero infrastructure cost. The routing signals are composable and adjustable — if a particular domain routes poorly, you add domain-specific patterns without retraining anything.
10
10
 
11
11
  Repo: https://github.com/Das-rebel/a3m-router
12
12
  npm: https://www.npmjs.com/package/adaptive-memory-multi-model-router
13
13
 
14
- Caveat: the 99.5% figure is self-benchmarked. We'd welcome independent evaluation, especially on non-English or creative writing query distributions where the keyword signals may be weaker.
14
+ Caveat: the 76.43 figure is self-benchmarked. We'd welcome independent evaluation, especially on non-English or creative writing query distributions where the keyword signals may be weaker.
@@ -1,6 +1,6 @@
1
1
  # [D] We benchmarked keyword-based routing vs BERT for LLM provider selection. The gap is smaller than we expected — and keyword routing has zero infra cost.
2
2
 
3
- **TL;DR:** A 5-signal keyword classifier routes LLM queries across 36 providers with 99.5% ±1 tier accuracy and 64.5% exact tier match, in a 19.5 KB gzipped package with no ML weights. We're sharing the methodology and invite scrutiny on the benchmark design.
3
+ **TL;DR:** A 5-signal keyword classifier routes LLM queries across 36 providers with 76.43 accuracy and 64.5% exact tier match, in a 19.5 KB gzipped package with no ML weights. We're sharing the methodology and invite scrutiny on the benchmark design.
4
4
 
5
5
  ---
6
6
 
@@ -47,11 +47,11 @@ Full 5-tier results:
47
47
  | Metric | Value |
48
48
  |--------|-------|
49
49
  | Exact tier match | 64.5% |
50
- | ±1 tier accuracy | 99.5% |
50
+ | accuracy | 76.43 |
51
51
  | Mean absolute error | 0.37 tiers |
52
52
  | Routing latency | 0.3ms/query |
53
53
 
54
- **±1 tier accuracy of 99.5%** means the router is never sending a trivial "what's the weather" query to GPT-4, and it's never sending a "design a distributed consensus algorithm" query to a free tier.
54
+ ** accuracy of 76.43** means the router is never sending a trivial "what's the weather" query to GPT-4, and it's never sending a "design a distributed consensus algorithm" query to a free tier.
55
55
 
56
56
  ### Cost impact
57
57
 
@@ -67,7 +67,7 @@ On the same query workload:
67
67
 
68
68
  1. **Self-benchmarking.** We wrote the classifier, we designed the test set, we ran the evaluation. This is the biggest threat to validity. We'd love an independent evaluation. The test set and evaluation code are in the repo.
69
69
 
70
- 2. **The 64.5% exact match is mediocre.** If you need surgical tier precision (e.g., you're operating at margins where the difference between "cheap" and "mid-tier" matters a lot), 64.5% means 1 in 3 queries lands in an adjacent tier. The ±1 tier metric papers over this.
70
+ 2. **The 64.5% exact match is mediocre.** If you need surgical tier precision (e.g., you're operating at margins where the difference between "cheap" and "mid-tier" matters a lot), 64.5% means 1 in 3 queries lands in an adjacent tier. The metric papers over this.
71
71
 
72
72
  3. **No comparison with RouteLLM on the same data.** We reference RouteLLM's publicly reported numbers, but we didn't run RouteLLM on our test set. Different query distributions make direct comparison unreliable.
73
73
 
@@ -77,9 +77,9 @@ On the same query workload:
77
77
 
78
78
  ## Questions for the community
79
79
 
80
- - Is ±1 tier accuracy actually the right metric? Or should we optimize for exact match at the cost of simplicity?
80
+ - Is accuracy actually the right metric? Or should we optimize for exact match at the cost of simplicity?
81
81
  - Has anyone compared RouteLLM's BERT-based approach against a strong keyword baseline on the same dataset? Our suspicion is that the gap is smaller than the ML community assumes.
82
- - For production routing, what's the actual cost of a "wrong tier" routing? We assume ±1 tier is fine because provider quality within adjacent tiers overlaps significantly. Is that assumption valid?
82
+ - For production routing, what's the actual cost of a "wrong tier" routing? We assume is fine because provider quality within adjacent tiers overlaps significantly. Is that assumption valid?
83
83
  - Are there public LLM routing benchmarks we should be evaluating on?
84
84
 
85
85
  ## Links
@@ -1,4 +1,4 @@
1
- # 19.5 KB Node.js package that routes LLM queries with 99.5% accuracy using 5-signal keyword classification. No GPU, no ML weights, no Python dependency.
1
+ # 19.5 KB Node.js package that routes LLM queries with 76.43 accuracy using 5-signal keyword classification. No GPU, no ML weights, no Python dependency.
2
2
 
3
3
  r/node — I want to show you the architecture behind a routing system that classifies LLM query complexity in 0.3ms, with zero ML runtime.
4
4
 
@@ -166,7 +166,7 @@ function scoreToTier(score: number): Tier {
166
166
 
167
167
  | Metric | Value |
168
168
  |--------|-------|
169
- | ±1 tier accuracy | 99.5% |
169
+ | accuracy | 76.43 |
170
170
  | Exact tier match | 64.5% |
171
171
  | Routing latency | 0.3ms |
172
172
  | Package size (gzipped) | 19.5 KB |
@@ -43,7 +43,7 @@ The package was new and matched high-intent keywords. I think that's why it surf
43
43
 
44
44
  ## What actually works in the package (the tech)
45
45
 
46
- - **99.5% ±1 tier accuracy** on routing (5-signal keyword classifier, no ML)
46
+ - **76.43 accuracy** on routing (5-signal keyword classifier, no ML)
47
47
  - **61.6% cost savings** vs. using premium models for everything
48
48
  - **36 providers** (6 free, 15 cheap, 9 mid, 3 premium, 3 enterprise)
49
49
  - **Semantic cache** using trigram Jaccard similarity — catches repeat/near-duplicate queries
@@ -115,7 +115,7 @@ result = router.route(
115
115
 
116
116
  ## The routing accuracy
117
117
 
118
- 99.5% ±1 tier accuracy. Meaning: it never sends a trivial query to a premium provider, and it never sends a complex reasoning task to a free model. 64.5% exact tier match.
118
+ 76.43 accuracy. Meaning: it never sends a trivial query to a premium provider, and it never sends a complex reasoning task to a free model. 64.5% exact tier match.
119
119
 
120
120
  The whole routing classifier is ~200 lines of TypeScript, no ML weights, no GPU, runs in 0.3ms per query.
121
121
 
@@ -67,7 +67,7 @@ I learned a few things that aren't in the growth playbooks:
67
67
 
68
68
  **Open source IS distribution.** I didn't need to "market" anything. I needed to make something that solved a real pain point and put it where developers look for solutions — GitHub, npm, and Google. The README was my landing page. The install command was my CTA.
69
69
 
70
- **Benchmarks matter more than features.** The first week, I spent more time running benchmarks than writing code. The question every developer asks is "how fast is it?" and "how much will it save me?" I published real numbers from real API calls: 138ms baseline, 99.5% routing accuracy, 62% cost savings. Those numbers drove more downloads than any feature.
70
+ **Benchmarks matter more than features.** The first week, I spent more time running benchmarks than writing code. The question every developer asks is "how fast is it?" and "how much will it save me?" I published real numbers from real API calls: 138ms baseline, 76.43 routing accuracy, 62% cost savings. Those numbers drove more downloads than any feature.
71
71
 
72
72
  **Ship every day.** A new version every 24 hours isn't noise — it's proof of life. It tells users "this project is active, bugs get fixed, new things get added." I published 14 versions in 14 days.
73
73
 
@@ -80,7 +80,7 @@ I learned a few things that aren't in the growth playbooks:
80
80
  | Daily average | 716 |
81
81
  | Cost savings | 62% vs all-premium |
82
82
  | Providers supported | 47+ |
83
- | Routing accuracy | 99.5% |
83
+ | Routing accuracy | 76.43 |
84
84
  | Package size | 19.5 KB |
85
85
 
86
86
  ## What's Next
@@ -0,0 +1,21 @@
1
+ # HackerNews Account Setup (2 min)
2
+
3
+ 1. Go to https://news.ycombinator.com/login?goto=news
4
+ 2. Click "create account"
5
+ 3. Username: [choose something like das_rebel or a3m_router_dev]
6
+ 4. Email: subho.matteragent@gmail.com
7
+ 5. Password: [create strong password]
8
+ 6. Wait for confirmation email
9
+
10
+ ## Once logged in:
11
+ 1. Go to https://news.ycombinator.com/submit
12
+ 2. Title: Show HN: A3M Router — Open-source LLM router that runs 47 providers in parallel
13
+ 3. URL: https://github.com/Das-rebel/a3m-router
14
+ 4. Text: [copy from articles/SHOW_HN_FINAL.md]
15
+
16
+ ## Timing tips:
17
+ - Post Tuesday-Thursday 8-10am ET (US morning, high traffic)
18
+ - Don't post on Friday PM or weekends
19
+ - Answer every comment within 5 minutes
20
+ - Be genuine, not promotional
21
+ EOT
@@ -115,7 +115,7 @@ I took **6 months of production queries** from our actual systems and replayed t
115
115
  | **Cerebras** | 99.89% | Occasional rate limits |
116
116
  | **GLM-4** | 99.85% | Good for non-critical |
117
117
  | **MiniMax** | 99.82% | Some latency spikes |
118
- | CommandCode | 99.5% | Free tier, acceptable |
118
+ | CommandCode | 76.43 | Free tier, acceptable |
119
119
 
120
120
  **Surprise:** The newer providers are actually quite reliable. The "startup risk" is lower than expected.
121
121