Projekt
Sprawdź pustą listę i równe wysokości, odrzucając wartości ujemne lub logiczne bez zmiany danych.
Znajdź największy prostokąt pod słupkami szerokości jeden o najwyżej 256 całkowitych wysokościach od zera do 1000000.
def histogram_area(heights):
heights = tuple(heights)
if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
raise ValueError("height.range")
stack, best = [], 0
for i in range(len(heights) + 1):
current = heights[i] if i < len(heights) else 0
while stack and heights[stack[-1]] > current:
height = heights[stack.pop()]
start = stack[-1] + 1 if stack else 0
best = max(best, height * (i - start))
stack.append(i)
return bestSprawdź pustą listę i równe wysokości, odrzucając wartości ujemne lub logiczne bez zmiany danych.
Poró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.
def histogram_area(heights):
heights = tuple(heights)
if len(heights) > 256 or any(type(h) is not int or not 0 <= h <= 1000000 for h in heights):
raise ValueError("height.range")
stack, best = [], 0
for i in range(len(heights) + 1):
current = heights[i] if i < len(heights) else 0
while stack and heights[stack[-1]] > current:
height = heights[stack.pop()]
start = stack[-1] + 1 if stack else 0
best = max(best, height * (i - start))
stack.append(i)
return bestBarCumulus to środowisko programowania z AI dla Windows do przeglądania zmian implementacji bez utraty zachowania, które mają zachować. Otwórz folder projektu i wyjaśnij cel refaktoryzacji: czytelniejszy stan, mniejsza funkcja pomocnicza lub łatwiejsze testowanie. Poproś model o sprawdzenie obecnego kontraktu przed zaproponowaniem zamiennika.
Możesz podłączyć model AI bez cenzury, jeśli oferuje go obsługiwany punkt końcowy zgodny z OpenAI lub punkt Anthropic. Dodaj dane uwierzytelniające, gdy są potrzebne. Ograniczenia dostawcy, możliwości narzędzi i limity kontekstu pozostają w mocy, więc wykorzystuj rozmowę do tworzenia rozumowania poddającego się przeglądowi, zamiast uznawać inaczej wyglądającą implementację za ulepszenie samo w sobie.
Jednym z przykładów jest obliczanie największego prostokąta pod słupkami o zadanych wysokościach. Poproś o przegląd obsługi równych wysokości, pustego wejścia i końcowych zaległych operacji. Podaj małe przypadki testowe z ręcznie sprawdzonymi wynikami, a następnie zapytaj model, które elementy proponowanej refaktoryzacji je zachowują, a które zmieniają.
Sprawdź wynikowe różnice i uruchom kontrole projektu na tej samej wersji, którą zamierzasz zachować. Przy złożonych zmianach porównaj wyniki z niezależną prostą implementacją dla małych danych. To porównanie stanowi dowód w granicach przetestowanego zakresu; nie zmienia środowiska programistycznego w automatyczny system dowodzenia.
Nazwij problem utrzymania, który potrafisz ocenić, np. niejasne przejścia stanu lub powieloną obsługę. Poproś o najmniejszą propozycję, która go rozwiązuje. Zamiennik powinien uzasadniać swoje miejsce czytelnością i zweryfikowanym zachowaniem, a nie samą nowością.
Równe wartości mogą ujawnić założenia o tym, kiedy oczekujący stan jest zachowywany lub usuwany. Dodaj krótki płaski odcinek o znanym wyniku. Przed przeglądem większych przykładów poproś model o wyjaśnienie tego przypadku na tle proponowanej implementacji.
Wspierają tezę o równoważności dla przetestowanych danych i mogą ujawnić rozbieżności. Zachowaj jawny zakres wejść i implementację referencyjną oraz analizuj różnice. Nie opisuj skończonych testów jako dowodu dla wszystkich danych dopuszczanych przez funkcję produkcyjną.
Przed uruchomieniem przeczytaj jego granice wejść i plan wykonania. Potwierdź też miejsca docelowe narzędzi: lokalne wnioskowanie modelu wymaga osobnego serwera i nie sprawia, że każde podłączone narzędzie wykonawcze działa lokalnie. Celowo utrzymuj mały zakres testów.
BarCumulus · Zaktualizowano 2026-10-25