Modelos
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Integra un decaimiento exponencial escalar con hasta 1000 pasos clásicos de Runge–Kutta y entradas finitas acotadas.
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 yConfigura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Prueba cero pasos y tasa cero, rechaza tasa o paso negativos y su producto superior a uno.
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
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 yUn resultado numérico puede parecer razonable mientras se desvía del comportamiento que pretende modelar la aplicación. DecayMarsh proporciona un entorno de programación con IA para Windows que permite examinar ese riesgo en el código. Abre el proyecto y analiza la regla de actualización, los parámetros admitidos y el resultado de referencia antes de pedir al modelo conectado que cambie la implementación.
Por ejemplo, solicita una revisión de pasos Runge–Kutta acotados para un cálculo de decaimiento. Muestra las expresiones de las pendientes y explica el intervalo y el número de pasos previstos. Pide al modelo que examine cómo alimentan los valores intermedios la siguiente pendiente y que relacione el valor final con una referencia calculada independientemente para un caso sencillo.
Incluye los límites de la aplicación en la revisión. Los límites de parámetros, los cero pasos y los valores numéricos inválidos necesitan un comportamiento deliberado, especialmente si las entradas provienen de un formulario o archivo de configuración. Examina las diferencias propuestas y ejecuta comprobaciones de casos habituales y límite. Describe explícitamente las tolerancias de comparación para que una aserción satisfecha tenga un significado numérico claro.
DecayMarsh admite endpoints de modelos compatibles con OpenAI o de Anthropic, incluido un modelo de IA sin censura disponible. El modelo y el servidor elegidos determinan las capacidades y los límites de contexto. Utiliza la conversación para hacer visibles los supuestos y preparar cambios, mientras la ejecución del proyecto y la comparación de referencia establecen si la implementación cumple sus requisitos.
Utiliza un caso con un resultado conocido de forma independiente e indica la tolerancia de comparación. Incluye los parámetros y el número de pasos. Una segunda implementación copiada de las mismas expresiones puede repetir el mismo error en lugar de aportar pruebas independientes.
Especifica directamente el contrato y verifícalo en el código consumidor. En una actualización por pasos, conservar el valor inicial es un caso esperado útil para analizar. Comprueba que la validación propuesta no rechace accidentalmente una solicitud permitida de cero pasos.
Una dependencia intermedia incorrecta puede producir ocasionalmente un número final plausible. Pide al modelo que siga un caso breve por las expresiones y lo compare con el código. Ejecuta después las comprobaciones numéricas pertinentes en tu entorno.
Puede analizar una propuesta, pero la tolerancia debe reflejar las necesidades de tu aplicación y el cálculo. Registra la regla de comparación elegida y su justificación. Evita aceptar un umbral arbitrariamente permisivo solo porque haga pasar la prueba.
DecayMarsh · Actualizado 2026-10-25