Modelli
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
Assegna fino a 10000 posti a un massimo di 1000 pesi interi non negativi tramite i resti maggiori.
def allocate(weights, seats):
if type(weights) not in (list, tuple) or len(weights) > 1000:
raise ValueError("weights.container")
weights = tuple(weights)
if type(seats) is not int or not 0 <= seats <= 10000:
raise ValueError("seats.range")
if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
raise ValueError("weights.invalid")
total = sum(weights)
if total == 0:
if seats:
raise ValueError("weight.zero")
return [0] * len(weights)
result = [w * seats // total for w in weights]
remaining = seats - sum(result)
order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
for i in order[:remaining]:
result[i] += 1
return resultConfigura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
Verifica pesi zero e resti uguali con precedenza all’ordine iniziale, rifiutando assegnazioni positive con peso totale zero prima della divisione.
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
def allocate(weights, seats):
if type(weights) not in (list, tuple) or len(weights) > 1000:
raise ValueError("weights.container")
weights = tuple(weights)
if type(seats) is not int or not 0 <= seats <= 10000:
raise ValueError("seats.range")
if len(weights) > 1000 or any(type(w) is not int or w < 0 for w in weights):
raise ValueError("weights.invalid")
total = sum(weights)
if total == 0:
if seats:
raise ValueError("weight.zero")
return [0] * len(weights)
result = [w * seats // total for w in weights]
remaining = seats - sum(result)
order = sorted(range(len(weights)), key=lambda i: (-(weights[i] * seats % total), i))
for i in order[:remaining]:
result[i] += 1
return resultUna routine di ripartizione può rispettare il totale distribuendo però le singole quote diversamente dalla regola attesa dagli utenti. QuotaMosaic è un software di programmazione con IA per Windows per esaminare questa distinzione nel tuo progetto. Porta implementazione, chiamante e alcune ripartizioni attese nella conversazione prima di chiedere una modifica al sorgente.
Un'attività di revisione è la ripartizione ai maggiori resti, in cui unità intere devono essere assegnate a partire da pesi non negativi. Chiedi al modello connesso di esaminare come si combinano ripartizione di base e unità rimanenti. Includi un esempio con resti uguali e indica esplicitamente la regola di spareggio, così un cambiamento nell'ordinamento non altera tacitamente il risultato.
Esamina l'interfaccia con la stessa attenzione dell'aritmetica. Definisci cosa devono significare un input vuoto o un totale interamente nullo quando vengono richieste unità, poi verifica come gli errori raggiungono il chiamante. Esegui i controlli del progetto su piccoli esempi verificati indipendentemente e controlla sia la somma finale sia le singole assegnazioni. Preservare un invariante non dimostra che sia preservato anche l'altro.
QuotaMosaic si collega a endpoint supportati compatibili con OpenAI o Anthropic. Puoi selezionare un modello IA abliterato dove disponibile, con capacità e limiti definiti da modello e server. Usa il modello per esaminare le regole e preparare una modifica revisionabile, poi verifica il comportamento risultante nell'applicazione.
Specifica come vengono ordinati resti uguali, incluso se conti l’ordine originale dell’input. Fornisci un esempio di parità con la ripartizione attesa. Altrimenti una modifica apparentemente innocua all’ordinamento può cambiare chi riceve l’ultima unità.
No. Ripartizioni diverse possono avere lo stesso totale. Controlla anche l’importo assegnato a ogni destinatario e l’esito delle parità. Usa esempi attesi indipendenti invece di ripetere soltanto nel test il calcolo dell’implementazione.
Definisci aspettative separate per la richiesta di zero unità e per quella di un numero positivo. Esamina il contratto di errore esistente con il chiamante. Il modello non deve inventare destinatari o dividere per un totale non definito solo per far restituire qualcosa alla funzione.
Definisce un contesto specifico di revisione con unità intere e pesi non negativi. Se l’applicazione prevede massimi, minimi o altre priorità, includili esplicitamente. Verifica che la modifica proposta attui ancora la politica richiesta dagli utenti.
QuotaMosaic · Aggiornato 2026-10-25