Math Challenge
Mehr

Larry Profe — Portierung von Larry zu Math Challenge

mc-37 · Veröffentlicht: · von Math Challenge Research · 2.544 Wörter

Zusammenfassung

Larry existiert bereits in iOS als EN/ES‑Co‑Pilot auf Workers AI (kimi-k2.6 → gpt-oss-120b → vorgefertigte Antwort) mit einem einzigen zweisprachigen System‑Prompt, einem handgefertigten „Tool‑Calling“-Protokoll (JSON in einer Zeile) und einer dauerhaften D1‑Auditierung. Nichts davon nutzt die Claude‑API — es wäre die erste Claude‑Integration in diesem Repository.

Der Eigentümer hat bereits entschieden: Larry Profe nutzt die Claude‑API mit Routen nach Schwierigkeitsgrad (Haiku/Sonnet/Opus). Der nächstliegende Präzedenzfall im Repository ist nicht der freie Chat, sondern src/larry/contador/explain.ts: ein deterministischer Befund wird eingegeben, ein LLM erklärt ihn in natürlicher Sprache, ohne irgendetwas neu zu berechnen, mit einem Fallback auf eine Vorlage. Larry Profe muss exakt dieses Muster befolgen: Die Bewertungs‑Engine entscheidet, was richtig oder falsch ist; Claude erklärt lediglich, in der korrekten Sprache, dem passenden Alter und Tonfall, ohne das Kind zu beschämen.

128 Wörter

Dieses Dokument wurde von Claude (Anthropic) aus dem englischen Original übersetzt und automatisch gegen die Quelle geprüft: jede Zahl, URL, Zitatmarkierung und [unverified]-Markierung stimmt mit dem Original überein. Der Fließtext selbst wurde noch nicht von einem muttersprachlichen menschlichen Lektor geprüft.

Prüfstatus

Dieses Dokument trägt keine [unverified]-Markierung. Jede Aussage ist an eine nummerierte Quelle unten gebunden.

[unverified] heißt: Die Aussage steht in der Forschung, wurde aber in der Sitzung, die sie erzeugt hat, nicht gegen eine Primärquelle bestätigt. Sie wird veröffentlicht statt entfernt, denn ein Korpus, das seine Lücken verbirgt, ist nicht überprüfbar.

Wie diese Forschung entstanden ist

Die 47 Dokumente entstanden am 2026-07-31 durch unabhängige Agenten, jeder mit der ausdrücklichen Anweisung, keine Zitate zu erfinden und alles als [unverified] zu markieren, was sich nicht gegen eine Primärquelle bestätigen ließ. Das Websuche-Kontingent der Sitzung war zur Hälfte erschöpft; spätere Agenten arbeiteten mit direktem Abruf von Primärquellen. Mehrere Seiten (ftc.gov, ico.org.uk) blockieren automatisierten Abruf — deshalb sind bestimmte rechtliche Aussagen bewusst markiert.

Was heute existiert — Dateipfade und Zeilenreferenzen aus diesem Repository

Was für einen Mathe‑Nachhilfelehrer für Kinder geändert werden muss

  1. Ton, nicht „ehrlicher Coach“. Die iOS‑Persona richtet sich an erwachsene B2B‑Ingenieure, die eine direkte Korrektur verkraften. Ein Kind darf sich niemals beschämt fühlen — strenger als „Humor macht nie die Merkmale von Menschen zum Ziel.“
  2. Fünf Sprachen, nicht zwei. Der Typ und Wortlisten‑Detektor von locale.ts ('en'|'es') erstreckt sich nicht auf FR/PT/DE, und das Muster von prompts.ts („jede Zeile doppelt schreiben“) würde die Prompt‑Token um das 5‑fache erhöhen, obwohl der Inhalt meist ungenutzt bleibt — stattdessen ein einzelnes Sprach‑Prompt pro Locale erstellen.
  3. Mathematische Korrektheit darf nicht vom LLM abhängen. Eine falsche IOS‑Tool‑Antwort ist ein schlechter UI‑Hinweis; eine falsche Larry Profe‑Erklärung lehrt aktiv falsche Mathematik. Genau deshalb ist das Muster von contador/explain.ts („LLM erklärt, nie rechnet“) richtig und die freie Schleife von chat.ts nicht.
  4. Alterspezifischer Wortschatz, explizit im Prompt (Altersband als Parameter), nicht dem Modell überlassen, ihn aus dem Ton abzuleiten.
  5. Modell‑Routing ist neu — ADR‑006 beschreibt ein Workers‑AI‑first‑Hybrid‑Routing; Larry Profe kehrt das um (Claude‑first, drei Schwierigkeitsstufen, kein Workers AI), gemäß dem Brief des Eigentümers.
  6. Den Avatar‑Zustand denying entfernen oder abschwächen für ein Kinder‑Produkt — die Kopfschüttel‑Körpersprache (larry.css:87-98) wirkt wie „du liegst falsch“; lieber thinkingpresenting für Korrekturen verwenden.

Modell‑Routing‑Tabelle

Preis-/Modell-IDs stammen aus dem claude-api-Skill (gecached 2026-06-24; die Einführungspreise für Sonnet 5 gelten bis 2026-08-31), nicht aus dem Trainingsgedächtnis. Die Kostenschätzungen gehen von einem gemeinsamen System-Prompt-Präfix aus (siehe Caching unten) sowie einer Nutzlast pro Aufruf von {Aufgabe, Schülerschritte, Bewertungsergebnis}; die Zahlen sind Schätzwerte, die gegen echte Prompts validiert werden müssen, keine Messungen.

SchwierigkeitsstufeModell‑ID$/MTok ein / ausGeschätzte Token ein → ausGeschätzte Kosten / 1.000 ErklärungenLatenz‑Ziel
Grundrechenartenclaude-haiku-4-5$1,00 / $5,00~300 → ~150~$1,05< 1,5 s, kein Streaming nötig
Mittelstufe (Brüche, Algebra, Geometrie)claude-sonnet-5$3,00 / $15,00 (Einführung $2/$10 bis 2026-08-31)~500 → ~300~$6,00 (Einführung ~$4,00)2–4 s, streamen wenn > ~3 s
Fortgeschritten (Tensorrechnung, Doppelintegrale, Beweise)claude-opus-5$5,00 / $25,00~800 → ~600 + adaptives Denken~$19 Mindestpreis, realistisch $35–60 sobald Denk‑Token gezählt werden5–15 s; muss streamen

Die Prompt‑Architektur — vorgeschlagener Skelett, 5 Sprachen, harte Regeln

Ausgehend vom Muster „jede Zeile zweimal“ in prompts.ts erstellen Sie einen Prompt pro (Locale, Altersgruppe, Stufe), Englisch wird gezeigt (FR/PT/DE/ES sind parallele einsprachige Darstellungen, keine Konkatenationen):

You are Larry Profe, Larry the orange rhinoceros, teaching math to
[AGE_BAND] students. Same character as always — just teaching math now.

WHAT YOU RECEIVE: a JSON verdict from the grading engine (problem, student
steps, which were correct, where the error started, its classification).
You do NOT grade or recompute. Every number/step you reference MUST come
verbatim from that JSON.

WHAT YOU DO:
1. Say specifically what the student did right (not just "good job").
2. Explain what went wrong and why — the real misconception, not "wrong answer."
3. Walk through the correct process, like a patient professor, at a level a
   [AGE_BAND] student can follow.
4. End on encouragement, never on the mistake.

HARD RULES:
- Never call a student "bad at math," "slow," or any variant — mistakes are
  how math is learned.
- Never use sarcasm, exasperation, or a disappointed tone, even softened.
- Never invent or alter a number/step/verdict not in the provided JSON.
- Never compare the student to other students or a class average.
- Never skip "what you did right," even if everything was wrong — find
  something true and specific (effort, a correct partial step, right
  approach/wrong arithmetic).
- If asked something outside math tutoring, redirect kindly to a
  parent/teacher.

LANGUAGE: Reply only in [LOCALE_NAME]. Never mix languages or offer translation.
VOCABULARY: [age-band guidance — e.g. ages 6-8: concrete objects, no jargon;
ages 13+: precise terminology expected.]

Reservieren Sie output_config.format / strict: true Tool‑Schemas für die Übergabe vom Bewertungssystem → Larry‑Profe (das eigene Backend von Math Challenge validiert dieses JSON, nicht Claude) — die Ausgabe dieses Prompts ist einfacher gestreamter Fließtext, keine strukturierten Daten.

Caching‑ und Kostenkontrollstrategie

Zwei unabhängige Schichten:

  1. Claude‑Prompt‑Caching auf dem stabilen Präfix (Persona + Regeln + eine Sprache + eine Altersgruppe). Pro‑Modell, pro‑Präfix — Schreibvorgänge kosten 1,25× (5‑min TTL) oder 2× (1‑Stunde), Lesevorgänge ~0,1×. Ein 1‑Stunde‑TTL mit periodischem Vorwärmen (max_tokens: 0‑Anfragen, gemäß shared/prompt-caching.md) passt zu traffic‑intensiven Hausaufgaben‑Stunden. Für Haiku überspringen, es sei denn, das Präfix überschreitet 4.096 Tokens (siehe oben).

  2. Anwendungsebene‑Missverständnis‑Cache (D1/KV) — der Mechanismus, den das Briefing des Eigentümers tatsächlich verlangt. Cache die gesamte generierte Erklärung, indiziert nach (topic, misconception-classification, age-band, locale) — nicht die exakte Problem‑Instanz, sodass verschiedene Bruch‑Probleme mit demselben Fehler „gemeinsamer Nenner vergessen“ denselben Cache‑Eintrag treffen. Spiegelt das bestehende statische S3_ERROR_KB/METRIC_KB‑Lookup‑Muster (src/larry/tools.ts:59-135) wider, wird jedoch zur Generierungszeit mit Claude‑Ausgabe befüllt; bei einem Fehl‑Treffer wird ein Live‑Aufruf durchgeführt und der Cache befüllt, analog zur AI‑dann‑Template‑Struktur von contador/explain.ts. Protokollieren Sie cache_hit: boolean und die echten usage.input_tokens/usage.output_tokens in einer Audit‑Tabelle analog zur Migration 0011 — nicht die Schätzung text.length/4, die audit.ts heute verwendet.

  3. Batch‑API für Cold‑Start‑Seeding — vor dem Start die Top‑N‑Missverständnisse pro Thema mit 50 % Rabatt vorab generieren, wodurch der Großteil des frühen Traffics ab dem ersten Tag aus Cache‑Lesevorgängen stammt.

Designimplikationen

  1. Larry Profe ist eine neue Claude‑API‑Integration; leiten Sie sie nicht über das Workers‑AI‑Gateway von IOS — der Eigentümer möchte Claude, und ADR‑006 ist eine andere, Workers‑AI‑first‑Architektur für ein anderes Produkt.
  2. Modellieren Sie die Bewertungs‑Engine als Quelle der Wahrheit, Claude nur zum Erklären — folgen Sie der Struktur von contador/explain.ts, nicht der freien Tool‑Schleife von chat.ts.
  3. Verwerfen Sie das Muster des bilingualen Inline‑Prompts; ein Prompt pro Locale, da 5 Sprachen innerhalb eines Prompts sowohl kostenintensiv als auch fehleranfällig sind.
  4. Nehmen Sie das Locale als expliziten Parameter vom Client (Math Challenge hat bereits eine Spracheinstellung) statt es wie locale.ts für IOS zu inferieren.
  5. Implementieren Sie den Schwierigkeits‑Stufen‑Router im Backend von Math Challenge (neben der Bewertung, die bereits Thema/Stufe kennt) — lassen Sie Claude niemals seine eigene Modell‑Stufe wählen.
  6. Behandeln Sie effort als zweite Routing‑Achse, unabhängig von der Modellauswahl; beginnen Sie konservativ (medium auf Opus 5), da es das Hauptinstrument gegen steigende Denk‑Token‑Kosten ist.
  7. Protokollieren Sie die echten Claude‑usage‑Felder im Audit‑Sink ab dem ersten Tag, anstatt die Zeichen‑Zähl‑Schätzung von audit.ts zu wiederholen.
  8. Erstellen Sie ein Kind‑Sicherheits‑Hard‑Rule‑Kanon parallel zu docs/larry.md §4.2’s Fünf‑Punkte‑Liste, jedoch von Grund auf neu — IOS‑Regeln betreffen Datensicherheit, nicht emotionale Sicherheit.
  9. LarryAvatar und seine Zustandsmaschine unverändert wiederverwenden, aber prüfen, ob denying jemals bei einem Kind ausgelöst werden sollte.
  10. Behalten Sie den Missverständnis‑Cache und das Claude‑Prompt‑Caching als separate Systeme — sie lösen unterschiedliche Probleme (Vermeidung des erneuten Sendens von Präfixen vs. Vermeidung der Neugenerierung semantisch identischer Ausgaben) und ihre Zusammenlegung liefert das Ziel „eine Generation, nicht tausend“ nicht.
  11. Verwenden Sie die Batch‑API, um den Missverständnis‑Cache vor dem Start vorzuseeden und neue in der Produktion gefundene Missverständnis‑Typen nachträglich zu füllen.
  12. Jede harte Regel und Prompt‑Zeile benötigt von Menschen geprüfte EN/ES/FR/PT/DE‑Kopien — ein ermutigender Ton in einer Sprache kann in einer anderen herablassend wirken; überlassen Sie das nicht der Laufzeit‑Übersetzung.

Offene Fragen für den Projektinhaber

  1. Lebt der Schwierigkeits‑Stufen‑Router im Backend von Math Challenge (Bewertungs‑Engine taggt Thema/Stufe), oder sollte Larry Profe die Schwierigkeit aus dem Problemtext neu klassifizieren?
  2. Wie sehen die tatsächlichen Altersgruppen aus (K‑2/3‑5/6‑8/9‑12 oder nach Klassenstufe)? Das bestimmt sowohl die Wortschatz‑Varianten als auch die Anzahl der zu authorierenden gecachten Prompt‑Kombinationen (Locale × Altersgruppe × Stufe könnten 5×4×3 = 60 sein).
  3. Soll effort von Opus 5 pro Stufe fest sein, oder pro Thema innerhalb von „advanced“ anpassbar (ein Doppel‑Integral und ein voller Tensor‑Kalkül‑Beweis benötigen plausibel unterschiedliche Anstrengungen)?
  4. Gibt es ein produkt‑level Latenz‑Budget (z. B. „muss innerhalb von 2 s mit dem Streamen beginnen oder einen Lade‑Zustand zeigen“), das das Standard‑Streaming pro Stufe steuern sollte?
  5. Wer prüft die FR/PT/DE‑Hard‑Rule‑ und Prompt‑Kopien — ein mehrsprachiger Bildungs‑Content‑Reviewer oder maschinelle Übersetzung als erster Entwurf aus der EN/ES‑Version?
  6. Benötigt der Missverständnis‑Cache ein TTL, oder ist eine gecachte Erklärung für ein seltenes Missverständnis in Ordnung, unbegrenzt zu dienen?
  7. Muss „what the student did right“ immer etwas finden, selbst bei einer leeren/geratene Antwort — und wenn ja, was ist die ehrliche Untergrenze (z. B. „du hast es versucht“)?

Quellen

Dieses Dokument zitiert Repository-Dateien und andere Forschungsdokumente statt einer nummerierten Quellenliste.

Fragen, die dieses Dokument offen lässt

Sie bleiben bewusst unbeantwortet. Sie werden aufgelistet, nicht gelöst — sie zu einer FAQ zu machen hieße, Antworten zu erfinden, die das Dokument nicht enthält.

Eines von 51 Forschungsdokumenten, insgesamt 168.346 Wörter, beim Build aus den Dateien selbst gezählt. Dieses Dokument im Repository lesen