Modelos
Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
Reconstrua uma árvore binária com percursos de pré-ordem e em-ordem de até 100 rótulos inteiros distintos.
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))Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.
Teste árvores vazias e inclinadas, rejeitando percursos incompatíveis ou rótulos repetidos sem editar as entradas.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
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))Dados estruturados podem passar por verificações básicas de pertencimento e ainda assim não descrever uma estrutura válida. O BranchSpire é um ambiente de programação com IA para Windows para examinar essa lacuna com os arquivos do projeto à vista. Comece uma conversa sobre o contrato de entrada e o objeto que o chamador espera receber antes de solicitar mudanças no código-fonte.
Uma tarefa concreta é revisar a reconstrução a partir de percursos em pré-ordem e em ordem. Forneça uma árvore pequena válida e um par inconsistente de percursos; depois, peça ao modelo conectado que examine onde a implementação os distingue. Declare a exigência de rótulos distintos para que o código proposto não presuma silenciosamente uma unicidade que o chamador nunca estabeleceu.
Revise a interface ao redor, além da lógica recursiva. Decida como dados inválidos devem ser informados e se os chamadores dependem de uma representação específica no retorno. Execute casos de teste para entrada vazia, um único nó e combinações inválidas no seu próprio projeto. Um exemplo bem-sucedido demonstra um caminho; casos explícitos de rejeição ajudam a estabelecer o limite dos dados aceitos.
O BranchSpire se conecta a endpoints compatíveis com OpenAI ou endpoints Anthropic suportados, com credenciais quando exigidas. Você pode escolher um modelo de IA abliterado disponível, enquanto seu servidor determina as ferramentas e os limites de contexto. Use essa conexão para desenvolver e questionar uma proposta; depois, avalie o diff e os resultados de execução em relação à estrutura exigida pela aplicação.
A ordem dos percursos também deve descrever uma estrutura consistente. Inclua uma ordenação inválida com os mesmos rótulos ao discutir a tarefa. Peça ao modelo que identifique o ponto em que a implementação proposta detecta essa inconsistência.
Somente se o contrato de reconstrução os suportar explicitamente. A tarefa ilustrada presume rótulos distintos. Revise a validação e os chamadores juntos para rejeitar deliberadamente entradas ambíguas, em vez de produzir uma estrutura baseada em uma premissa não documentada.
Especifique a representação dos nós, o valor da árvore vazia e a ordem dos filhos esperados pelos consumidores. Uma árvore matematicamente equivalente ainda pode quebrar a integração se sua representação mudar. Examine esses consumidores antes de aceitar uma refatoração mais ampla.
Forneça casos curtos com resultados conhecidos e peça uma explicação dos limites e caminhos de falha. Revise o diff real do código-fonte e execute esses casos com as ferramentas do projeto. Evite depender de uma narrativa longa sem verificações correspondentes.
BranchSpire · Atualizado 2026-10-25