Regressão isotônica sem pesos
Ajuste uma sequência não decrescente a até 128 observações finitas entre ±10^6 com mínimos quadrados sem pesos.
from math import isfinite
def isotonic_fit(values):
if type(values) is not list or len(values) > 128:
raise ValueError("bounded list")
if any(type(x) not in (int, float) or abs(x) > 10**6 or
not isfinite(x) for x in values):
raise ValueError("bounded finite values")
blocks = []
for value in values:
blocks.append([float(value), 1])
while len(blocks) > 1 and (
blocks[-2][0] / blocks[-2][1] > blocks[-1][0] / blocks[-1][1]):
total, count = blocks.pop()
blocks[-1][0] += total; blocks[-1][1] += count
return [total / count for total, count in blocks for _ in range(count)]Projeto
Teste entradas vazias e decrescentes, rejeitando booleanos e preservando a lista original.
Revise antes de aplicar
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
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.
from math import isfinite
def isotonic_fit(values):
if type(values) is not list or len(values) > 128:
raise ValueError("bounded list")
if any(type(x) not in (int, float) or abs(x) > 10**6 or
not isfinite(x) for x in values):
raise ValueError("bounded finite values")
blocks = []
for value in values:
blocks.append([float(value), 1])
while len(blocks) > 1 and (
blocks[-2][0] / blocks[-2][1] > blocks[-1][0] / blocks[-1][1]):
total, count = blocks.pop()
blocks[-1][0] += total; blocks[-1][1] += count
return [total / count for total, count in blocks for _ in range(count)]Peça evidências que distingam uma correção de uma reescrita plausível
OrderSaffron é um software de programação com IA para Windows que torna alterações propostas mais fáceis de avaliar por verificações significativas. Abra a pasta do projeto e descreva o comportamento que precisa de evidências. Um modelo conectado pode ajudar a examinar conjuntamente implementação e testes, para que a conversa questione se uma asserção captura o requisito, não apenas se o código atual a satisfaz.
O exemplo isotonic_fit.py oferece uma tarefa de produção de uma sequência ajustada não decrescente. Traga uma entrada pequena com resultado esperado conhecido e pergunte quais casos distinguem o comportamento pretendido de uma saída apenas aparentemente ordenada. Inclua valores iguais e uma entrada já ordenada. O exemplo é um exercício de revisão de projeto; não significa que o ambiente inclua um produto de ajuste numérico ou um serviço automático de certificação de testes.
Um modelo de IA sem filtros pode ser selecionado se seu endpoint compatível com OpenAI ou Anthropic aceito o fornecer. Configure os detalhes exigidos de conexão e avalie os limites de ferramentas e contexto do modelo. Revise a correção de código e seus testes propostos antes de executar as verificações do projeto. Preserve expectativas independentes e informe eventuais lacunas. Um resultado aprovado só é evidência útil quando os testes exercitam o contrato que você pretendia preservar ou alterar.
Avaliação de um conjunto proposto de testes numéricos
- Por que verificar ordem não decrescente é insuficiente?
Muitas saídas podem estar ordenadas sem serem o ajuste exigido. Inclua expectativas pequenas calculadas independentemente e outras propriedades do contrato, como o comprimento da saída. Pergunte quais erros de implementação cada verificação detectaria antes de aceitar uma suíte de testes como evidência.
- Uma entrada já ordenada deve estar nos testes?
Sim, quando o comportamento pretendido é preservá-la. Esse caso pode revelar alteração desnecessária ou erros de indexação. Declare explicitamente os valores esperados e inclua entradas repetidas para exercitar a igualdade e também entradas estritamente crescentes.
- O assistente pode escrever código e testes?
Ele pode propor ambos dentro das ferramentas disponíveis, mas revise os raciocínios independentemente. Testes derivados da mesma premissa errada podem concordar com uma implementação defeituosa. Use requisitos externos ou exemplos conferidos à mão para fundamentar os resultados esperados.
- Como informar uma verificação incompleta?
Separe verificações realmente executadas de verificações propostas e premissas não resolvidas. Inclua falhas e limitações do ambiente em vez de tratar ausência de saída como sucesso. Isso dá ao próximo revisor um relato claro do que a correção demonstra e do que permanece incerto.
OrderSaffron · Atualizado 2026-10-25