Problem

Instradare richieste a modelli diversi (fast/cheap vs accurate/slow) senza introdurre dipendenze pesanti o agent pipeline complesse.

Code

// router.ts
export type Route = {
  test: (input: string) => boolean;
  model: 'fast' | 'accurate';
};

export const routes: Route[] = [
  { test: (s) => /summary|riassunto/i.test(s), model: 'fast' },
  { test: (s) => /contract|legal|clin(ico|ical)/i.test(s), model: 'accurate' },
];

export function pickModel(input: string): Route['model'] {
  for (const r of routes) if (r.test(input)) return r.model;
  return 'fast';
}

Why it works

When NOT to use it