Modelle
Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
Integrieren Sie skalaren exponentiellen Zerfall mit höchstens 1000 klassischen Runge–Kutta-Schritten und endlichen begrenzten Eingaben.
def decay_steps(initial, rate, dt, steps):
if any(type(v) not in (int, float) for v in (initial, rate, dt)):
raise ValueError("decay.numeric")
if not -10**6 <= initial <= 10**6 or not 0 <= rate <= 1000 or not 0 <= dt <= 1 or rate * dt > 1:
raise ValueError("decay.range")
if type(steps) is not int or not 0 <= steps <= 1000:
raise ValueError("decay.steps")
y = float(initial)
for _ in range(steps):
k1 = -rate * y
k2 = -rate * (y + dt*k1/2)
k3 = -rate * (y + dt*k2/2)
k4 = -rate * (y + dt*k3)
y += dt*(k1 + 2*k2 + 2*k3 + k4)/6
return yRichten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
Testen Sie null Schritte und Rate null, und lehnen Sie negative Raten oder Schrittweiten sowie ein Produkt über eins ab.
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
def decay_steps(initial, rate, dt, steps):
if any(type(v) not in (int, float) for v in (initial, rate, dt)):
raise ValueError("decay.numeric")
if not -10**6 <= initial <= 10**6 or not 0 <= rate <= 1000 or not 0 <= dt <= 1 or rate * dt > 1:
raise ValueError("decay.range")
if type(steps) is not int or not 0 <= steps <= 1000:
raise ValueError("decay.steps")
y = float(initial)
for _ in range(steps):
k1 = -rate * y
k2 = -rate * (y + dt*k1/2)
k3 = -rate * (y + dt*k2/2)
k4 = -rate * (y + dt*k3)
y += dt*(k1 + 2*k2 + 2*k3 + k4)/6
return yEin numerisches Ergebnis kann vernünftig aussehen und dennoch vom Verhalten abweichen, das die Anwendung modellieren soll. DecayMarsh bietet eine KI-Programmierumgebung für Windows, um dieses Risiko im Quellcode zu untersuchen. Öffnen Sie das Projekt und besprechen Sie Aktualisierungsregel, zulässige Parameter und Referenzergebnis, bevor Sie ein verbundenes Modell um eine Implementierungsänderung bitten.
Fordern Sie beispielsweise eine Prüfung begrenzter Runge–Kutta-Schritte für eine Zerfallsberechnung an. Zeigen Sie die Steigungsausdrücke und erläutern Sie das vorgesehene Intervall und die Schrittzahl. Lassen Sie das Modell untersuchen, wie Zwischenwerte in die nächste Steigung eingehen, und den Endwert anschließend mit einer unabhängig berechneten Referenz für einen einfachen Fall in Beziehung setzen.
Beziehen Sie die Anwendungsgrenze in die Prüfung ein. Parametergrenzen, null Schritte und ungültige Zahlenwerte brauchen bewusst festgelegtes Verhalten, insbesondere bei Eingaben aus Formularen oder Konfigurationsdateien. Prüfen Sie den vorgeschlagenen Diff und führen Sie Prüfungen für gewöhnliche Fälle und Grenzfälle aus. Beschreiben Sie Vergleichstoleranzen ausdrücklich, damit eine bestandene Zusicherung eine klare numerische Bedeutung hat.
DecayMarsh unterstützt OpenAI-kompatible oder Anthropic-Modellendpunkte, einschließlich eines verfügbaren KI-Modells ohne Zensur. Das gewählte Modell und der Server bestimmen Fähigkeiten und Kontextgrenzen. Nutzen Sie das Gespräch, um Annahmen sichtbar zu machen und Änderungen vorzubereiten. Die Ausführung im Projekt und der Referenzvergleich zeigen, ob die Implementierung ihre Anforderungen erfüllt.
Verwenden Sie einen Fall mit unabhängig bekanntem Ergebnis und geben Sie die Vergleichstoleranz an. Nehmen Sie Parameter und Schrittzahl auf. Eine zweite Implementierung, die dieselben Ausdrücke kopiert, kann denselben Fehler wiederholen, statt unabhängige Nachweise zu liefern.
Legen Sie den Vertrag direkt fest und prüfen Sie ihn beim Aufrufer. Bei einer schrittbasierten Aktualisierung ist das Beibehalten des Anfangswerts ein sinnvoller erwarteter Fall zur Diskussion. Prüfen Sie, dass die vorgeschlagene Validierung eine zulässige Anfrage mit null Schritten nicht versehentlich zurückweist.
Eine falsche Zwischenabhängigkeit kann gelegentlich eine plausible Endzahl erzeugen. Lassen Sie das Modell einen kurzen Fall durch die Ausdrücke verfolgen und mit dem Quellcode vergleichen. Führen Sie anschließend die relevanten numerischen Prüfungen in Ihrer Umgebung aus.
Es kann einen Vorschlag besprechen, doch die Toleranz muss die Anforderungen Ihrer Anwendung und die Berechnung widerspiegeln. Dokumentieren Sie die gewählte Vergleichsregel und ihre Begründung. Akzeptieren Sie keinen willkürlich großzügigen Grenzwert allein deshalb, weil damit der Test besteht.
DecayMarsh · Aktualisiert 2026-10-25