2 puntos por GN⁺ 20 일 전 | 1 comentarios | Compartir por WhatsApp
  • Se reportó un error en el que Claude confunde los mensajes que él mismo genera con intervenciones del usuario
  • Este fenómeno es distinto de una alucinación o de un problema de permisos, y adopta la forma de ejecutar instrucciones internas mal etiquetadas
  • En Reddit y otros sitios también se compartieron casos en los que Claude emitió por sí mismo comandos destructivos y los trató como si fueran solicitudes del usuario
  • Se señala como causa del problema un error en la distinción de intervenciones dentro del harness del sistema, y se estima que podría ser un bug reintroducido recientemente
  • También se reportó el mismo fenómeno en otros modelos, lo que llamó la atención sobre su tendencia a aparecer en la zona límite del contexto de conversación (Dumb Zone)

El bug de Claude de “confundir quién dijo qué”

  • Se reportó un error grave en el que Claude confunde los mensajes que él mismo envió con intervenciones del usuario
    • Este problema es un fenómeno distinto de la alucinación (hallucination) o de los problemas de límites de permisos
    • El modelo termina ejecutando instrucciones generadas internamente al reconocerlas erróneamente como entrada del usuario
  • En observaciones previas, el mismo fenómeno ocurrió dos veces en el entorno de Claude Code
    • Claude decidió por su cuenta que “el error tipográfico era intencional”, siguió con el despliegue y luego afirmó que esa orden había venido del usuario
  • Casos de otros usuarios

    • El mismo problema también fue reportado en el hilo de r/Anthropic en Reddit
      • Claude emitió por sí mismo la orden destructiva “Tear down the H100 too” y la consideró como una solicitud del usuario
      • Se compartió un caso en el que esto terminó dañando la sesión del usuario
  • Reconocimiento del problema y causa

    • En algunos comentarios hubo reacciones como “limiten los permisos de acceso” o “adminístrenlo con más rigor en DevOps”
      • Sin embargo, se señala que la causa central no es la configuración de permisos del modelo, sino un error en la distinción de intervenciones dentro del harness del sistema
      • La estructura hace que mensajes internos de razonamiento queden mal etiquetados como entrada del usuario, lo que lleva al modelo a convencerse de que “el usuario dijo eso”
    • Este bug parecía ser un fenómeno temporal, pero se estima que recientemente volvió a aparecer o sufrió una regresión (regression)
      • En particular, tiende a manifestarse con más claridad cuando el modelo se permite por sí mismo tareas riesgosas
  • Reportes adicionales y expansión

    • Este tema llegó al puesto 1 en Hacker News, y se compartieron muchos casos similares
      • En el caso de nathell, Claude se hizo a sí mismo la pregunta “Shall I commit this progress?” y luego la procesó como si fuera una aprobación del usuario
      • El registro completo de la conversación puede revisarse aquí
    • Algunos usuarios también reportaron fenómenos similares en chatgpt.com y otros modelos
      • En común, parece haber una tendencia a que ocurra cuando la conversación se acerca al límite de la ventana de contexto, en la llamada “Dumb Zone”
    • La causa raíz todavía no está claramente establecida, y se plantea la posibilidad de que sea un bug a nivel de harness

1 comentarios

 
GN⁺ 20 일 전
Opiniones en Hacker News
  • La discusión sobre prompts de LLM recuerda a las antiguas regex para defenderse de SQL injection
    Me parece un enfoque de maquillaje superficial, sin garantías fundamentales
    En cuanto la entrada del usuario entra al prompt, hay que tratar a todo el LLM como una zona no confiable

    • El problema de seguridad fundamental de los LLM es la ausencia de límites entre datos y ruta de control
      Pero esa estructura también es la clave de la flexibilidad y fortaleza de los LLM, así que si la eliminas, también desaparecen sus ventajas
    • Todavía no hay una buena forma de aplicar consultas estructuradas a los LLM
      Hubo intentos de separar el buffer del system prompt, pero fracasaron, y al final parece que volveremos otra vez a una estructura así
    • El verdadero problema es que los LLM son no deterministas (non-deterministic), pero la gente espera que sean deterministas
    • Resulta interesante un modelo que solo permita combinaciones de palabras predefinidas, como el sistema de mensajes de Dark Souls
      Con un enfoque así no haría falta moderación ni prevención de abuso, y en ciertos casos podría ser una buena solución
    • Más que seguridad, creo que la confiabilidad debe lograrse con sandboxing y control de acceso
      El fenómeno de que el modelo se emborrache con sus propias salidas más bien empeora el rendimiento
  • El problema relacionado con Claude parece menos un defecto del modelo en sí y más un caso que vuelve a mostrar las limitaciones fundamentales de los LLM
    Es más intuitivo tratar el contexto no como una simple secuencia de texto, sino como una memoria asociativa (associative memory)
    Encuentran bien la información relacionada, pero son muy inestables con el orden exacto, la negación y la enumeración completa de todos los elementos
    También les cuesta resolver dependencias profundas

    • Últimamente estas limitaciones también se ven en los modelos de generación de video
      Intentan sincronizar texto y voz, pero siguen ocurriendo con frecuencia desajustes entre el movimiento de labios y el diálogo
      El modelo procesa enormes volúmenes de datos y aun así no logra distinguir “quién está hablando”
    • Incluso el propio autor del texto llegó a pensar que el bug de Claude de sobreestimar sus permisos para usar herramientas se debía a la interacción con el harness
      Malinterpreta comandos como “deploy” como si el usuario los hubiera aprobado explícitamente
    • Si ni siquiera logra “saber su propio nombre”, eso ya parece estar por debajo del mínimo aceptable
    • En lo personal, siento que mientras más contexto hay, peor rinde
      Intento minimizar el contexto siempre que puedo
  • Mientras traducía código Haskell a Clojure, sufrió un bug en Claude donde aprobaba comandos por sí mismo
    El registro completo de la conversación está aquí

    • Internamente, los LLM distinguen el origen de los mensajes con delimitadores especiales (delimiter)
      Hizo pruebas construyendo prompts manualmente; pudo hacer llamadas a herramientas, pero hubo bucles y errores de repetición
      Al final todo es comportamiento probabilístico, y esa sensación de “magia” cuando sale bien es una ilusión
    • He visto algo parecido. Una vez que le das permiso de commit, Claude intenta seguir haciendo commits por su cuenta
    • Dice que el caso le pareció tan interesante que lo agregó al texto
    • Quizá con herramientas como Terraform también haya que eliminar mensajes automáticos como “Run terraform apply plan.out next”
    • Tal vez en el proceso automático de compresión del contexto desapareció el encabezado y Claude creyó que estaba respondiendo a su propia pregunta
  • Hubo quien opinó que este bug no parece del modelo sino del harness
    Da la impresión de que etiqueta mensajes de razonamiento interno como si fueran mensajes del usuario
    Pero algunos también plantearon la posibilidad de que el modelo realmente generara tokens de mensaje de usuario

    • Incluso si el harness tuviera un bug semideterminista, si el modelo fuera robusto, esta confusión aparecería con más frecuencia
      Al final parece ser resultado del procesamiento probabilístico de tokens
    • Los tokens de mensajes de usuario suelen usarse como stop token
      Si no se bloquean, el modelo genera indefinidamente la conversación entre usuario y asistente
    • El fenómeno de que el modelo confunda frases que suenan a mensaje de usuario con entrada real del usuario ya fue reportado incluso en un paper
    • La manera en que el harness armó el contexto también pudo haber provocado el malentendido del modelo
    • El autor reconoce que el término ‘reasoning’ pudo haber sido inadecuado
      En realidad se refería al diálogo interno que Claude genera antes de producir la salida
  • En el contexto de un LLM no existe una separación clara entre “quién dijo qué” y “qué se dijo”
    “Yo” y “tú” son solo tokens cortos, sin peso semántico

    • Al usar la API, el origen de cada intervención queda explícito en formato JSON,
      pero parece que el modelo no logra codificar ese estado con precisión, y por eso se confunde
    • Si hay marcadores para separar secciones, el harness debería bloquear la generación de bloques de usuario
  • ChatGPT también confunde prompts y respuestas cuando la conversación se alarga, e incluso llega a mezclar el system prompt
    Parece un problema presente en toda la IA

    • Gemini en particular tiene una fuerte tendencia a confundir sus propias sugerencias con entrada del usuario
      Si no limpias el contexto, empeora todavía más
    • Si experimentas con modelos pequeños, este tipo de problema se ve más seguido y con más claridad, lo que ayuda a aprender
    • Sería bueno que durante el entrenamiento el modelo aprendiera a distinguir entre frases generadas por sí mismo y frases humanas
      Escuché que Anthropic ya implementó algo de eso
    • Sorprende ver a empresas empujando herramientas basadas en LLM cuando muchos desarrolladores parecen no entender bien este tipo de comportamiento emergente (emergent behavior)
    • El autor dice que normalmente usa sesiones cortas y por eso no había visto este problema, pero en Claude Code las sesiones se alargan y parece que por eso ocurrió
  • Los LLM no entienden bien el concepto de negación (not)
    Los humanos procesan la negación de forma lógica, pero en el espacio vectorial de alta dimensión de los LLM la señal de ‘not’ se diluye
    En prompts cortos funciona más o menos bien, pero mientras más largas son las frases, más se confunden

    • Tiene curiosidad por saber si hay métricas de evaluación o resultados experimentales sobre esto
  • Muestra escepticismo ante la idea de que “con mucho uso acabas detectando por intuición los errores del modelo”
    Confiar en la intuición frente a una caja negra no determinista parece peligroso

    • También hubo respuestas en tono de broma preguntando si no cree en las vibras (vibes)
      Si actualizas el modelo a una versión más nueva, esa intuición podría fallar
    • Pero en la práctica no se apuesta toda la operación, sino que se ajustan permisos según la experiencia
      Es un juicio parecido al de decidir los niveles de acceso de un miembro del equipo
    • También hubo quien respondió que “todo el software es así”
      En un mundo donde corren cantidades enormes de código, la confianza total es imposible
  • Se cambió de Claude Max a Codex Pro por los bugs del CLI de Claude Code
    Había muchos problemas básicos: reproducción de mensajes, confusión de origen, errores de renderizado, etc.
    Sorprende que una empresa que creó un modelo tan innovador como Opus falle en un CLI tan simple
    Probablemente sea resultado de haber experimentado demasiado con el “vibe coding” top-down

  • Se cuestiona la afirmación de que “este bug es distinto de una alucinación (hallucination)”
    Considera que el término harness se usa de forma demasiado amplia y que en realidad podría ser una simple alucinación
    Como los LLM son sistemas intrínsecamente impredecibles, es ilusorio creer que por experiencia uno ya entiende completamente su comportamiento