Modely
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Rozdělte nejvýše 10000 míst mezi nejvýše 1000 nezáporných celočíselných vah podle největších zbytků.
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 resultNastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Ověřte nulové váhy a shodné zbytky řešené pořadím vstupu a odmítněte kladný příděl při nulové celkové váze před dělením.
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
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 resultRozdělovací rutina může dodržet celkový součet, ale jednotlivé podíly rozdělit jinak, než uživatelé očekávají. QuotaMosaic je programovací software s AI pro Windows k prozkoumání tohoto rozdílu ve vlastním projektu. Před žádostí o změnu zdroje přineste do konverzace implementaci, volající kód a několik očekávaných rozdělení.
Jednou kontrolní úlohou je rozdělování metodou největších zbytků, při němž se celé jednotky přidělují podle nezáporných vah. Požádejte připojený model o kontrolu vztahu základního přidělení a zbývajících jednotek. Zahrňte příklad shodných zbytků a výslovně určete pravidlo pro shody, aby změna řazení tiše nezměnila výsledek.
Rozhraní kontrolujte stejně pečlivě jako aritmetiku. Určete význam prázdného vstupu nebo nulové celkové váhy při požadavku na jednotky a prověřte, jak se selhání dostanou k volajícímu. Spusťte kontroly projektu na malých nezávisle ověřených příkladech a ověřujte konečný součet i jednotlivá přidělení. Zachování jednoho invariantu neprokazuje druhý.
QuotaMosaic se připojuje k podporovaným koncovým bodům kompatibilním s OpenAI nebo ke koncovým bodům Anthropic. Kde je dostupný, lze zvolit abliterovaný model AI; jeho možnosti a limity určuje model a server. Pomocí modelu prověřte pravidla a připravte kontrolovatelnou opravu, poté ověřte výsledné chování v aplikaci.
Určete řazení shodných zbytků včetně významu původního pořadí vstupu. Poskytněte příklad shody s očekávaným rozdělením. Jinak může zdánlivě neškodná změna řazení změnit příjemce poslední jednotky.
Ne. Stejný součet může mít několik různých rozdělení. Ověřte částku přidělenou každému příjemci i výsledek shod. Použijte nezávislé očekávané příklady a neopakujte v testu jen výpočet implementace.
Určete zvlášť očekávání pro požadavek bez jednotek a pro kladný počet. Prověřte existující podmínky selhání s volajícím. Model nemá vymýšlet příjemce ani dělit nedefinovaným celkem jen proto, aby funkce něco vrátila.
Definuje konkrétní kontext kontroly s celými jednotkami a nezápornými vahami. Má-li aplikace maxima, minima nebo jiné priority, výslovně je zahrňte. Prověřte, zda navržená změna stále implementuje pravidla potřebná pro uživatele.
QuotaMosaic · Aktualizováno 2026-10-25