Modelli
Configura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
Calcola le distanze minime in archi diretti da un vertice in un grafo di 1 a 1000 vertici.
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 distancesConfigura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
Prova cicli, archi ripetuti e vertici irraggiungibili, rifiutando un grafo vuoto o estremi errati prima della visita.
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
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 distancesIl risultato di un grafo è utile solo se il chiamante comprende il significato di ogni valore. Hopwise offre al codice sui grafi un ambiente di programmazione con IA per Windows, collegando il sorgente a una conversazione sul suo contratto. Parti dalla rappresentazione dell'input e dal modo in cui l'applicazione visualizza o usa il risultato, invece di chiedere una sostituzione isolata dell'algoritmo.
Per un'attività sul numero minimo di archi da percorrere, mostra un piccolo grafo orientato con vertici raggiungibili e non raggiungibili. Chiedi al modello connesso di esaminare come l'implementazione distingue il vertice iniziale da un vertice senza percorso. Includi un ciclo, così la revisione considera le scoperte ripetute oltre alla più semplice catena in avanti.
Esamina poi il confine in cui i dati del grafo entrano nella funzione. I riferimenti a vertici non validi devono seguire una politica deliberata e la direzione deve corrispondere al significato applicativo di un arco. Esamina le modifiche proposte insieme al codice che usa il risultato, poi esegui casi di prova che verifichino risultati esatti per ogni vertice. Mantieni visibile nell'interfaccia la gestione degli stati non raggiungibili dopo il calcolo.
Hopwise supporta endpoint compatibili con OpenAI o Anthropic, incluso un modello IA senza censura se disponibile. Comportamento effettivo delle risposte, limiti di contesto e strumenti dipendono da quella configurazione. L'ambiente supporta l'indagine; le prove dei tuoi casi sui grafi e dei test di integrazione determinano se la modifica è pronta per essere mantenuta.
Scegli un piccolo esempio orientato con un ciclo, un vertice non raggiungibile e un punto iniziale chiaramente identificato. Scrivi il risultato atteso per ogni vertice. Direzione e significato dell’assenza di percorsi diventano più facili da esaminare rispetto a un grande grafo di produzione.
Zero descrive la distanza del vertice iniziale da sé stesso, mentre non raggiungibile significa che non è stato trovato un percorso secondo il contratto del grafo. Se i chiamanti li confondono, l’interfaccia può mostrare una connessione inesistente. Esamina insieme la rappresentazione restituita e chi la usa.
Solo quando ogni arco rappresenta lo stesso costo ai fini dell’attività. Se i pesi contano, spiega questo requisito prima di chiedere modifiche. Un’implementazione che minimizza il numero di archi non deve essere presentata come soluzione a un obiettivo di ottimizzazione diverso.
Definisci la politica al confine di input ed esamina i chiamanti esistenti. Chiedi al modello di preservare un percorso chiaro di rifiuto o convalida. I test devono includere riferimenti malformati, affinché un comportamento accidentale di indicizzazione non diventi il contratto applicativo.
Hopwise · Aggiornato 2026-10-25