Skip to content

Las búsquedas ya no dejan resultados huérfanos en el historial - #152

Merged
ErickUser1 merged 1 commit into
mainfrom
claude/exploracion-bugs-puntuales-dxqosq
Oct 26, 2026
Merged

ErickUser1 merged 1 commit into
mainfrom
claude/exploracion-bugs-puntuales-dxqosq

Conversation

@ErickUser1

Copy link
Copy Markdown
Owner

Qué pasó

En compa-build-76, un profe pidió una presentación. La primera vez salió bien. Al siguiente mensaje ("No se pudo descargar") el agente falló con:

request inválido (400): messages.1.content.7: unexpected tool_use_id found in code_execution_tool_result blocks

A partir de ahí agente-1 ya no podía contestar en esa sala.

Causa: el modelo pidió buscar en internet junto con una tool nuestra (bash). En ese caso Anthropic hace la búsqueda hasta que le llegan nuestros resultados, así que el resultado de la búsqueda llega en el siguiente mensaje del assistant. sinBusquedasColgadas revisaba cada mensaje por separado:

  1. vio la búsqueda "sin resultado";
  2. la quitó al guardar;
  3. dos mensajes después su resultado quedó huérfano.

Cambios

  • sinBusquedasColgadas revisa todo el historial, no mensaje por mensaje.
    • Una búsqueda solo se quita si su resultado no aparece en ningún lado.
    • Los resultados sin búsqueda se quitan, y si un mensaje del assistant queda vacío lleva una nota.
  • runAgent pasa el historial cargado por la misma limpieza. Las salas que ya quedaron rotas, como compa-build-76, se arreglan solas en su siguiente mensaje.

Pruebas

  • demo:internet: 44/44. Tiene 5 checks nuevos:
    • lo guardado conserva la búsqueda y su resultado aunque lleguen en mensajes distintos;
    • un historial ya roto se manda sin el huérfano y sin assistants vacíos.
  • Con el código anterior los checks nuevos fallan (3 fallas), así que sí reproducen el bug.
  • Typecheck, build y las 22 demos del CI pasan.

Generated by Claude Code

Cuando el modelo pide buscar en internet junto con una tool nuestra,
Anthropic busca hasta que le llegan nuestros resultados, y el resultado de
la búsqueda llega en el siguiente mensaje del assistant. Al guardar, cada
mensaje se revisaba solo: la búsqueda parecía colgada, se quitaba, y su
resultado se quedaba sin búsqueda. El turno siguiente era un 400
("unexpected tool_use_id found in code_execution_tool_result") y la sala
ya no salía de ahí. Pasó en una sala real con una presentación.

Ahora una búsqueda solo se da por colgada si su resultado no está en
ningún lado del historial, y los resultados sin búsqueda se quitan. El
historial también se limpia al mandarse, así que las salas que ya quedaron
rotas se arreglan solas en su siguiente mensaje.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJ5oT2Xm3VZMvbPAcgKbz4
@ErickUser1
ErickUser1 merged commit 85781f4 into main Oct 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants