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.
Ricostruisci un albero binario da liste preordine e inordine di al massimo 100 etichette intere distinte.
def rebuild_tree(preorder, inorder):
for row in (preorder,inorder):
if type(row) not in (list,tuple) or len(row) > 100 or any(type(v) is not int for v in row):
raise ValueError("at most 100 integer nodes")
if len(set(preorder)) != len(preorder) or len(set(inorder)) != len(inorder) or set(preorder) != set(inorder):
raise ValueError("same distinct node labels")
positions, cursor = {v:i for i,v in enumerate(inorder)}, 0
def visit(lo,hi):
nonlocal cursor
if lo == hi: return None
value = preorder[cursor]; cursor += 1
at = positions[value]
if not lo <= at < hi: raise ValueError("inconsistent traversals")
left = visit(lo,at)
right = visit(at+1,hi)
return value,left,right
return visit(0,len(inorder))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.
Prova alberi vuoti e sbilanciati, rifiutando visite incoerenti o etichette ripetute senza modificare gli input.
Confronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
def rebuild_tree(preorder, inorder):
for row in (preorder,inorder):
if type(row) not in (list,tuple) or len(row) > 100 or any(type(v) is not int for v in row):
raise ValueError("at most 100 integer nodes")
if len(set(preorder)) != len(preorder) or len(set(inorder)) != len(inorder) or set(preorder) != set(inorder):
raise ValueError("same distinct node labels")
positions, cursor = {v:i for i,v in enumerate(inorder)}, 0
def visit(lo,hi):
nonlocal cursor
if lo == hi: return None
value = preorder[cursor]; cursor += 1
at = positions[value]
if not lo <= at < hi: raise ValueError("inconsistent traversals")
left = visit(lo,at)
right = visit(at+1,hi)
return value,left,right
return visit(0,len(inorder))I dati strutturati possono superare controlli elementari di appartenenza senza descrivere una struttura valida. BranchSpire è uno spazio di lavoro Windows con IA per esaminare questo divario con i file del progetto in vista. Avvia una conversazione sul contratto degli input e sull'oggetto atteso dal chiamante prima di richiedere modifiche al sorgente.
Un'attività concreta è rivedere la ricostruzione da visite in preordine e inordine. Fornisci un piccolo albero valido e una coppia incoerente di visite, poi chiedi al modello collegato di esaminare dove l'implementazione le distingue. Specifica il requisito di etichette distinte, affinché il codice proposto non presuma silenziosamente un'unicità mai stabilita dal chiamante.
Rivedi l'interfaccia circostante oltre alla logica ricorsiva. Decidi come segnalare i dati non validi e se i chiamanti dipendono da una particolare rappresentazione restituita. Esegui nel progetto casi di prova per input vuoto, nodo singolo e combinazioni non valide. Un esempio riuscito dimostra un percorso; casi espliciti di rifiuto aiutano a stabilire il confine dei dati accettati.
BranchSpire si collega a endpoint supportati compatibili con OpenAI o Anthropic, con credenziali ove richieste. Puoi scegliere un modello IA abliterato disponibile, mentre il suo server determina strumenti e limiti di contesto. Usa la connessione per sviluppare e mettere in discussione una proposta, poi valuta diff e risultati di esecuzione rispetto alla struttura richiesta dall'applicazione.
Anche l'ordine delle visite deve descrivere una struttura coerente. Includi nella discussione un ordinamento non valido con le stesse etichette. Chiedi al modello di identificare il punto in cui l'implementazione proposta rileva tale incoerenza.
Solo se il contratto di ricostruzione le supporta esplicitamente. L'attività illustrata presume etichette distinte. Rivedi insieme validazione e chiamanti, affinché l'input ambiguo sia rifiutato deliberatamente invece di produrre una struttura basata su un'ipotesi non documentata.
Specifica la rappresentazione dei nodi, il valore dell'albero vuoto e l'ordine dei figli attesi dagli utilizzatori. Un albero matematicamente equivalente può comunque rompere l'integrazione se cambia la rappresentazione. Esamina gli utilizzatori prima di accettare una rifattorizzazione più ampia.
Fornisci brevi casi di prova con esiti noti e chiedi una spiegazione di limiti e percorsi di errore. Rivedi il diff effettivo, poi esegui i casi con gli strumenti del progetto. Evita di affidarti a una lunga spiegazione priva di controlli corrispondenti.
BranchSpire · Aggiornato 2026-10-25