Iloczyn wektorowy liczb całkowitych
Oblicz prawoskrętny iloczyn wektorowy dwóch wektorów o trzech całkowitych składowych.
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)| Sprawdź przed zastosowaniem | Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami. |
|---|---|
| Modele | 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. |
| Projekt | Sprawdź wektory równoległe, kolejność bazy i duże współrzędne, odrzucając błędne długości i składowe niecałkowite bez zmiany wejść. |
def cross_product(a, b):
if type(a) not in (list, tuple) or type(b) not in (list, tuple):
raise ValueError("vector.type")
if len(a) != 3 or len(b) != 3 or any(type(x) is not int for x in (*a, *b)):
raise ValueError("vector.components")
x, y, z = a
u, v, w = b
return (y*w-z*v, z*u-x*w, x*v-y*u)Ujawnij założenia orientacji przed edycją
VectorAnvil daje programistom środowisko Windows do analizy kodu źródłowego, rozmów o kodzie i proponowania zmian z podłączonym modelem. Przy kodzie numerycznym zacznij od konwencji, na której polega reszta aplikacji. Pozornie poprawne wyrażenie nadal może być błędną zmianą, jeśli wywołujący interpretuje wynik w innym układzie współrzędnych.
Jednym z zadań jest przegląd prawoskrętnego iloczynu wektorowego dla trójskładnikowych wektorów całkowitoliczbowych. Uwzględnij wywołania i założenia typów w rozmowie, a potem zapytaj, jak kolejność wejść wpływa na wynik. Określ, czy procedura ma pozostawić oba wejścia niezmienione. Daje to modelowi konkretny problem utrzymaniowy, bez traktowania przykładu matematycznego jako wbudowanej funkcji aplikacji.
Oceń propozycję na danych testowych z wektorami bazowymi i równoległymi we własnym projekcie. Odwróć kolejność wejść i sprawdź zgodność orientacji z określoną konwencją. Uwzględnij duże współrzędne, jeśli mają znaczenie dla typów danych, i sprawdź odrzucanie nieprawidłowych wejść. Zmiany w miejscach wywołania przejrzyj równie uważnie jak samą procedurę.
Wybierz model przez obsługiwany punkt końcowy zgodny z OpenAI lub Anthropic. Jeśli udostępnia on modele AI bez filtrów, VectorAnvil może użyć obsługiwanego połączenia z wymaganym uwierzytelnieniem. Wybrany model i serwer określają ograniczenia odpowiedzi, narzędzia i limity kontekstu; konwencje projektu pozostają kryterium akceptacji wyniku.
Pytania do przeglądu kodu wektorowego
Jaką konwencję podać w prośbie?
Określ konwencję współrzędnych, oczekiwaną kolejność wejść i typy składowych używane w aplikacji. Dodaj jeden znany wynik obecnego kontraktu. To zakotwicza dyskusję i ułatwia wykrycie propozycji, która po cichu odwraca orientację.
Po co porównywać zamienione wejścia?
W tym przykładzie zamiana dwóch wektorów powinna odwrócić orientację iloczynu wektorowego. Użyj danych dających niezerowy wynik, aby kontrola miała sens. Przejrzyj też kod wywołujący, bo to kolejność jego argumentów określa faktycznie używaną konwencję.
Czy wektory równoległe powinny powodować błąd?
Opisz zasady aplikacji, zamiast pozwalać propozycji je wymyślać. Wynik zerowy może być poprawny dla procedury, ale wymagać specjalnej obsługi przez późniejszego odbiorcę. Uwzględnij go, jeśli jego zachowanie wchodzi w zakres zmiany.
Czy można rozszerzyć procedurę na inne typy liczbowe?
Traktuj to jako osobną zmianę kontraktu z jawnymi typami akceptowanymi i przypadkami weryfikacyjnymi. Przykład wektorów całkowitoliczbowych nie potwierdza odpowiedniego zachowania zmiennoprzecinkowego ani obsługi przepełnienia w aplikacji. Przejrzyj rzeczywiste typy i uruchom odpowiednie kontrole projektu.
VectorAnvil · Zaktualizowano 2026-10-25