Sprawdź przed zastosowaniem
Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Odtwórz permutację leksykograficzną rozmiaru od zera do dziesięciu dla całkowitej rangi.
from math import factorial
def unrank_permutation(size, rank):
if type(size) is not int or not 0 <= size <= 10:
raise ValueError("size 0 through 10")
if type(rank) is not int or not 0 <= rank < factorial(size):
raise ValueError("rank outside permutation count")
available, result = list(range(size)), []
for remaining in range(size,0,-1):
index, rank = divmod(rank, factorial(remaining-1))
result.append(available.pop(index))
return resultPorównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.
Dodaj endpoint zgodny z OpenAI lub Anthropic, podając bazowy URL i klucz API, jeśli jest wymagany. Sprawdź połączenie. Lokalny serwer modelu musi działać; zdalne narzędzia mogą przesyłać dane oddzielnie.
Sprawdź pierwszą i ostatnią rangę oraz pustą permutację, odrzucając wartości logiczne i rangi poza liczbą silniową.
from math import factorial
def unrank_permutation(size, rank):
if type(size) is not int or not 0 <= size <= 10:
raise ValueError("size 0 through 10")
if type(rank) is not int or not 0 <= rank < factorial(size):
raise ValueError("rank outside permutation count")
available, result = list(range(size)), []
for remaining in range(size,0,-1):
index, rank = divmod(rank, factorial(remaining-1))
result.append(available.pop(index))
return resultLexiNest przenosi pracę nad uporządkowanymi wynikami do rozmowy programistycznej z AI w Windows. Otwórz folder projektu i wyjaśnij, jak porządek jest wybierany, zapisywany i później odtwarzany. Poproś model o analizę kodu na tych granicach, aby proponowana zmiana implementacji zachowała znaczenie identyfikatora już używanego przez aplikację.
Jako konkretny przykład zleć przegląd unrank.py dla pierwszej i ostatniej poprawnej rangi niewielkiej permutacji. Określ, czy rangi zaczynają się od zera i jaką konwencję porządku zakłada kod wywołujący. Te szczegóły zmieniają abstrakcyjną dyskusję o porządku w sprawdzalną zmianę projektu, z konkretnym oczekiwanym ciągiem dla każdego wybranego wejścia.
Oceń proponowaną zmianę zarówno w funkcji, jak i w kodzie korzystającym z niej. Własnymi poleceniami projektu przetestuj nieprawidłową rangę, przypadek rozmiaru zerowego i zwykłe wyniki. Jeśli istniejący zapisany identyfikator po zmianie dawałby inny porządek, potraktuj to jako kwestię zgodności, a nie nieistotny szczegół implementacji.
LexiNest korzysta z obsługiwanego połączenia zgodnego z OpenAI lub połączenia Anthropic dla wybranego modelu, z uwierzytelnianiem w razie potrzeby. Punkt końcowy może oferować model AI po ablacji; rzeczywiste ograniczenia, dostępność narzędzi i limity kontekstu nadal zależą od modelu i serwera. Zachowaj odtwarzalne przypadki testowe niezależnie od tego, który model pomaga w przeglądzie.
Ranga liczona od zera i ranga liczona od jedynki wybierają różne wyniki dla tej samej wyświetlanej liczby. Określ konwencję na wejściu i w zapisanych danych. Przed zmianą funkcji generującej porządek przejrzyj wszelkie konwersje w kodzie wywołującym.
Użyj małego rozmiaru, którego możliwe ułożenia możesz niezależnie sprawdzić, i podaj oczekiwany końcowy ciąg. Uwzględnij następną, niepoprawną rangę jako przypadek odrzucenia. Sprawdzisz granicę bez generowania oczekiwanego wyniku tą samą funkcją.
Tak, jeśli zmienia konwencję porządku lub sposób numerowania elementów wejściowych. Poproś model o przejrzenie kodu zapisu i odczytu wraz z funkcją pomocniczą. Porównaj wcześniej zapisane przykłady, zanim zaakceptujesz zmianę równoważną pozornie tylko dla nowo generowanych wyników.
Opisz to wymaganie osobno. Dostarczony przykład permutacji używa odrębnych pozycji, a powtarzające się wartości mogą rodzić inne problemy z liczeniem i tożsamością. Przejrzyj reprezentację i oczekiwane wyniki przed rozszerzeniem funkcji poza kontrakt obecnych wywołań.
LexiNest · Zaktualizowano 2026-10-25