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.
Calculează distanțe minime în arce orientate de la un vârf într-un graf cu 1 până la 1000 vârfuri.
from collections import deque
def hop_distances(graph, start):
if type(graph) is not list or not 1 <= len(graph) <= 1000:
raise ValueError("graph.size")
n = len(graph)
if type(start) is not int or not 0 <= start < n:
raise ValueError("graph.start")
if any(type(row) is not list or any(type(v) is not int or
not 0 <= v < n for v in row) for row in graph):
raise ValueError("graph.edges")
distances = [None]*n
distances[start] = 0
queue = deque([start])
while queue:
u = queue.popleft()
for v in graph[u]:
if distances[v] is None:
distances[v] = distances[u]+1
queue.append(v)
return distancesConfigurează 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.
Testează cicluri, arce repetate și vârfuri inaccesibile, respingând un graf gol sau capete invalide înaintea parcurgerii.
Compară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
from collections import deque
def hop_distances(graph, start):
if type(graph) is not list or not 1 <= len(graph) <= 1000:
raise ValueError("graph.size")
n = len(graph)
if type(start) is not int or not 0 <= start < n:
raise ValueError("graph.start")
if any(type(row) is not list or any(type(v) is not int or
not 0 <= v < n for v in row) for row in graph):
raise ValueError("graph.edges")
distances = [None]*n
distances[start] = 0
queue = deque([start])
while queue:
u = queue.popleft()
for v in graph[u]:
if distances[v] is None:
distances[v] = distances[u]+1
queue.append(v)
return distancesUn rezultat al unui graf este util doar când apelantul înțelege ce înseamnă fiecare valoare. Hopwise oferă codului pentru grafuri un spațiu de lucru Windows pentru programare cu IA, legând sursa de o conversație despre contractul ei. Începe cu reprezentarea intrării și modul în care aplicația afișează sau folosește rezultatul, în loc să ceri înlocuirea izolată a unui algoritm.
Pentru o sarcină privind numărul minim de muchii parcurse, prezintă un graf orientat mic, cu vârfuri accesibile și inaccesibile. Cere modelului conectat să inspecteze cum distinge implementarea vârful de pornire de un vârf către care nu există drum. Include un ciclu, astfel încât analiza să ia în calcul descoperirea repetată, nu doar cel mai simplu lanț înainte.
Apoi inspectează limita la care datele grafului intră în funcție. Referințele nevalide la vârfuri trebuie să urmeze o politică deliberată, iar orientarea trebuie să corespundă sensului unei muchii în aplicație. Examinează modificările propuse împreună cu codul consumator, apoi rulează cazuri de test care verifică rezultate exacte pentru fiecare vârf. Păstrează vizibilă în interfață tratarea stării inaccesibile după calcul.
Hopwise acceptă endpointuri compatibile OpenAI sau Anthropic, inclusiv un model IA fără cenzură disponibil. Comportamentul efectiv al răspunsurilor, limitele contextului și instrumentele depind de configurație. Spațiul de lucru sprijină investigația; dovezile din cazurile de test ale grafului și testele de integrare determină dacă modificarea poate fi păstrată.
Alege un exemplu orientat mic, cu un ciclu, un vârf inaccesibil și un punct de pornire identificat clar. Scrie rezultatul așteptat pentru fiecare vârf. Astfel, orientarea și sensul absenței unui drum sunt mai ușor de inspectat decât într-un graf mare de producție.
Zero descrie distanța vârfului de pornire față de el însuși, iar inaccesibil înseamnă că nu s-a găsit un drum conform contractului grafului. Dacă apelanții le confundă, interfața poate afișa o conexiune inexistentă. Examinează împreună reprezentarea returnată și consumatorii ei.
Numai când fiecare muchie reprezintă același cost în scopul sarcinii. Dacă ponderile contează, explică cerința înainte de a solicita modificări. O implementare care minimizează numărul de muchii nu trebuie prezentată ca satisfăcând un alt obiectiv de optimizare.
Stabilește politica la limita de intrare și examinează apelanții existenți. Cere modelului să păstreze un flux clar de respingere sau validare. Testele trebuie să includă referințe malformate, astfel încât comportamentul accidental de indexare să nu devină contractul aplicației.
Hopwise · Actualizat 2026-10-25