Modelos
Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
Integre decaimento exponencial escalar com até 1000 passos clássicos de Runge–Kutta e entradas finitas limitadas.
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 yConfigure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
Teste zero passos e taxa zero, rejeite taxa ou passo negativos e produto entre eles acima de um.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
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 yUm resultado numérico pode parecer razoável enquanto se afasta do comportamento que a aplicação pretende modelar. DecayMarsh oferece um ambiente de programação com IA para Windows para examinar esse risco no código. Abra o projeto e discuta a regra de atualização, os parâmetros aceitos e o resultado de referência antes de pedir a um modelo conectado que altere a implementação.
Por exemplo, solicite uma revisão de passos limitados de Runge–Kutta para um cálculo de decaimento. Mostre as expressões das inclinações e explique o intervalo e a quantidade de passos pretendidos. Peça ao modelo para examinar como os valores intermediários alimentam a próxima inclinação e relacionar o valor final a uma referência calculada independentemente para um caso simples.
Mantenha os limites da aplicação na revisão. Limites de parâmetros, zero passos e valores numéricos inválidos precisam de comportamento deliberado, especialmente quando as entradas vêm de um formulário ou arquivo de configuração. Examine as diferenças propostas e execute verificações de casos comuns e limites. Descreva explicitamente as tolerâncias de comparação para que uma asserção aprovada tenha significado numérico claro.
DecayMarsh aceita endpoints de modelos compatíveis com OpenAI ou Anthropic, incluindo um modelo de IA sem censura disponível. O modelo e o servidor escolhidos determinam capacidades e limites de contexto. Use a conversa para tornar premissas visíveis e preparar alterações, enquanto a execução do projeto e a comparação com a referência estabelecem se a implementação cumpre seus requisitos.
Use um caso com resultado conhecido independentemente e declare a tolerância de comparação. Inclua os parâmetros e a quantidade de passos. Uma segunda implementação copiada das mesmas expressões pode repetir o mesmo erro, em vez de fornecer evidência independente.
Especifique diretamente o contrato e verifique-o no chamador. Para uma atualização por passos, manter o valor inicial é um caso esperado útil para discutir. Verifique se a validação proposta não rejeita acidentalmente uma solicitação permitida de zero passos.
Uma dependência intermediária incorreta pode ocasionalmente produzir um número final plausível. Peça ao modelo para rastrear um caso curto pelas expressões e compará-lo com o código. Depois execute as verificações numéricas relevantes no seu ambiente.
Ele pode discutir uma proposta, mas a tolerância deve refletir as necessidades da aplicação e o cálculo. Registre a regra de comparação escolhida e sua justificativa. Evite aceitar um limite arbitrariamente permissivo apenas porque faz o teste passar.
DecayMarsh · Atualizado 2026-10-25