Modele
Configurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
Alocă până la 10000 de locuri pentru cel mult 1000 de ponderi întregi nenegative prin cele mai mari resturi.
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 resultConfigurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
Verifică ponderi zero și resturi egale departajate prin ordinea intrării, respingând alocarea pozitivă cu pondere totală zero înainte de împărțire.
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
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 resultO rutină de alocare poate respecta totalul, dar distribui părțile individuale diferit de regula așteptată de utilizatori. QuotaMosaic este un program Windows pentru programare cu IA, destinat examinării acestei distincții în propriul proiect. Adu implementarea, apelantul și câteva alocări așteptate într-o conversație înainte de a cere o modificare a sursei.
O sarcină de analiză este alocarea prin metoda celor mai mari resturi, unde unități întregi trebuie atribuite pe baza unor ponderi nenegative. Cere modelului conectat să inspecteze cum se combină alocarea de bază și unitățile rămase. Include un exemplu cu resturi egale și precizează explicit regula de departajare, astfel încât schimbarea ordinii să nu modifice tacit rezultatul.
Examinează interfața la fel de atent ca aritmetica. Definește ce trebuie să însemne o intrare goală sau un total al ponderilor egal cu zero când se cer unități, apoi inspectează cum ajung eșecurile la apelant. Rulează verificările proiectului cu exemple mici verificate independent și verifică atât suma finală, cât și atribuirile individuale. Păstrarea unui invariant nu îl dovedește pe celălalt.
QuotaMosaic se conectează la endpointuri compatibile OpenAI sau Anthropic acceptate. Poți selecta un model IA cu cenzura eliminată acolo unde este disponibil, capacitățile și limitele fiind stabilite de model și server. Folosește modelul pentru a examina regulile și a pregăti o corecție verificabilă, apoi verifică comportamentul rezultat în aplicație.
Precizează cum sunt ordonate resturile egale, inclusiv dacă ordinea inițială contează. Furnizează un exemplu de egalitate cu alocarea așteptată. Altfel, o schimbare aparent inofensivă de sortare poate modifica destinatarul ultimei unități.
Nu. Mai multe alocări diferite pot avea același total. Verifică și suma atribuită fiecărui destinatar și rezultatul departajării. Folosește exemple așteptate independente, nu doar repetarea calculului implementării într-un test.
Definește așteptări separate pentru solicitarea a zero unități și a unui număr pozitiv. Verifică contractul existent de eșec împreună cu apelantul. Modelul nu trebuie să inventeze destinatari sau să împartă la un total nedefinit doar pentru ca funcția să returneze ceva.
Definește un anumit context de analiză, cu unități întregi și ponderi nenegative. Dacă aplicația are plafoane, minime sau alte priorități, include-le explicit. Verifică dacă modificarea propusă implementează în continuare politica necesară utilizatorilor.
QuotaMosaic · Actualizat 2026-10-25