Modelos
Configura un endpoint compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Calcula las distancias mínimas en arcos dirigidos desde un vértice en un grafo de 1 a 1000 vértices.
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 compatible con OpenAI o Anthropic usando la URL base y, si hace falta, una clave API. Prueba la conexión. Un servidor local debe estar en ejecución; las herramientas remotas pueden enviar datos por separado.
Comprueba ciclos, aristas repetidas y vértices inaccesibles, rechazando grafos vacíos o extremos inválidos antes del recorrido.
Compara el comportamiento real con el resultado esperado. Si una prueba falla, investiga la causa antes de hacer más cambios.
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 resultado de grafo solo es útil si el código llamador entiende qué significa cada valor. Hopwise ofrece al código de grafos un entorno de programación con IA para Windows que conecta el código fuente con una conversación sobre su contrato. Empieza por la representación de entrada y la forma en que la aplicación muestra o utiliza el resultado, en lugar de pedir una sustitución aislada del algoritmo.
Para una tarea de mínimo número de saltos, muestra un grafo dirigido pequeño con vértices alcanzables e inalcanzables. Pide al modelo conectado que examine cómo distingue la implementación entre el vértice inicial y un vértice al que no llega ninguna ruta. Incluye un ciclo para que la revisión considere el descubrimiento repetido además de la cadena hacia delante más sencilla.
Después, examina el límite donde los datos del grafo entran en la función. Las referencias de vértice no válidas deben seguir una política deliberada, y la dirección debe coincidir con el significado que la aplicación da a una arista. Revisa los cambios propuestos con el código consumidor y ejecuta casos que comprueben resultados exactos para cada vértice. Mantén visible en la interfaz el tratamiento de estados inalcanzables después del cálculo.
Hopwise admite endpoints compatibles con OpenAI o de Anthropic, incluido un modelo de IA sin censura que esté disponible. El comportamiento real de respuesta, los límites de contexto y las herramientas dependen de esa configuración. El entorno apoya la investigación; las evidencias de tus casos de grafos y pruebas de integración determinan si el cambio está listo para conservarse.
Elige un ejemplo dirigido pequeño con un ciclo, un vértice inalcanzable y un inicio claramente identificado. Escribe el resultado esperado para cada vértice. Esto facilita examinar la dirección y el significado de la ausencia de ruta más que un gran grafo de producción.
Cero describe la distancia del vértice inicial a sí mismo, mientras que inalcanzable significa que no se encontró una ruta conforme al contrato del grafo. Si el código llamador los confunde, una interfaz puede mostrar una conexión inexistente. Revisa juntos la representación devuelta y sus consumidores.
Solo si todas las aristas representan el mismo coste para la tarea. Si los pesos importan, explica ese requisito antes de solicitar cambios. Una implementación de mínimo número de saltos no debe presentarse como solución a un objetivo de optimización diferente.
Establece la política en el límite de entrada y examina el código llamador existente. Pide al modelo que conserve una ruta clara de rechazo o validación. Las pruebas deben incluir referencias malformadas para que el comportamiento accidental de indexación no se convierta en el contrato de la aplicación.
Hopwise · Actualizado 2026-10-25