<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Cristian Gormaz</title>
    <description>The latest articles on DEV Community by Cristian Gormaz (@cristian_gormaz).</description>
    <link>https://dev.to/cristian_gormaz</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4114572%2F591c1952-455e-402d-a0bd-4107b3afe050.webp</url>
      <title>DEV Community: Cristian Gormaz</title>
      <link>https://dev.to/cristian_gormaz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cristian_gormaz"/>
    <language>en</language>
    <item>
      <title>El modelo encontró evidencia relevante y aun así falló: por qué “alucinación” se me quedó corta</title>
      <dc:creator>Cristian Gormaz</dc:creator>
      <pubDate>Mon, 07 Sep 2026 22:52:25 +0000</pubDate>
      <link>https://dev.to/cristian_gormaz/el-modelo-encontro-el-codigo-correcto-y-aun-asi-lo-entendio-al-reves-por-que-alucinacion-se-me-n8m</link>
      <guid>https://dev.to/cristian_gormaz/el-modelo-encontro-el-codigo-correcto-y-aun-asi-lo-entendio-al-reves-por-que-alucinacion-se-me-n8m</guid>
      <description>&lt;p&gt;Actualización / corrección: después de publicar este artículo, una pregunta técnica me llevó de vuelta al request.json primario preservado de la corrida. Verifiqué que el artefacto revisado corresponde byte a byte al original.&lt;/p&gt;

&lt;p&gt;Las condiciones relevantes sí estaban presentes, pero no pude confirmar que la versión candidata fusionada estuviera incluida exactamente como la recordaba.&lt;/p&gt;

&lt;p&gt;Por eso retiro la localización de este caso específicamente en Interpretación. El punto exacto donde ocurrió el fallo queda, por ahora, no determinado.&lt;/p&gt;




&lt;p&gt;Estoy probando modelos locales en tareas de análisis de código y hace poco apareció un fallo que me obligó a revisar cómo estaba usando una palabra bastante común en IA:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“alucinación”.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;El caso parecía sencillo.&lt;/p&gt;

&lt;p&gt;El modelo encontró fragmentos relevantes del código.&lt;/p&gt;

&lt;p&gt;No inventó otro archivo.&lt;br&gt;
No citó evidencia inexistente.&lt;/p&gt;

&lt;p&gt;Mi primera lectura fue que había encontrado la evidencia necesaria y luego la había entendido al revés.&lt;/p&gt;

&lt;p&gt;Después de volver al artefacto primario, tuve que estrechar esa conclusión.&lt;/p&gt;

&lt;p&gt;Ese detalle terminó siendo más interesante para mí que el error en sí.&lt;/p&gt;

&lt;p&gt;Porque decir simplemente:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“el modelo alucinó”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;me permite saber que algo salió mal.&lt;/p&gt;

&lt;p&gt;Pero no me dice &lt;strong&gt;qué salió mal&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;
  
  
  Encontrar la evidencia no es lo mismo que entenderla
&lt;/h2&gt;

&lt;p&gt;Seguí revisando errores de este tipo dentro de una campaña más amplia de evaluación con modelos locales.&lt;/p&gt;

&lt;p&gt;Y empecé a notar que estaba agrupando bajo una misma palabra problemas que, desde el punto de vista de ingeniería, requieren soluciones completamente diferentes.&lt;/p&gt;

&lt;p&gt;Por ejemplo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;puede que la evidencia necesaria ni siquiera esté disponible;&lt;/li&gt;
&lt;li&gt;puede que esté disponible, pero la respuesta no quede correctamente vinculada con ella;&lt;/li&gt;
&lt;li&gt;puede que el modelo encuentre el fragmento adecuado y lo atribuya al objeto equivocado;&lt;/li&gt;
&lt;li&gt;puede leer correctamente el fragmento, pero interpretar mal su significado;&lt;/li&gt;
&lt;li&gt;puede interpretar bien la evidencia y aun así formular una afirmación que ya no está soportada;&lt;/li&gt;
&lt;li&gt;o puede llegar a una afirmación correcta y estropearla al usarla en el siguiente paso.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Terminé representándolo provisionalmente así:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Evidencia
   ↓
Binding
   ↓
Atribución
   ↓
Interpretación
   ↓
Claim
   ↓
Transformación
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No estoy proponiendo esto como una taxonomía universal ni definitiva.&lt;/p&gt;

&lt;p&gt;Es simplemente una herramienta que surgió de mis propias pruebas y que me está ayudando a formular una pregunta mucho más útil:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;¿en qué punto exacto se rompió el proceso?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Por qué importa distinguirlos
&lt;/h2&gt;

&lt;p&gt;Supongamos que el modelo da una respuesta incorrecta.&lt;/p&gt;

&lt;p&gt;Si la información necesaria nunca estuvo dentro del contexto disponible, el primer problema probablemente no es el modelo.&lt;/p&gt;

&lt;p&gt;Podría ser el mecanismo que construyó ese contexto.&lt;/p&gt;

&lt;p&gt;En cambio, si la evidencia correcta estaba presente y el modelo la identificó, pero después entendió al revés lo que significaba, arreglar el sistema de recuperación probablemente no resolverá nada.&lt;/p&gt;

&lt;p&gt;Es otro fallo.&lt;/p&gt;

&lt;p&gt;Y pide otra respuesta.&lt;/p&gt;

&lt;p&gt;**En el caso que me llevó a escribir esto, hoy puedo sostener algo más estrecho:&lt;/p&gt;

&lt;p&gt;las condiciones relevantes sí estaban presentes en el payload.&lt;/p&gt;

&lt;p&gt;Lo que no pude confirmar al volver al artefacto primario fue que la candidata fusionada estuviera incluida exactamente como la recordaba.&lt;/p&gt;

&lt;p&gt;Por eso ya no puedo localizar limpiamente este caso en Interpretación.&lt;/p&gt;

&lt;p&gt;Y justamente por eso “alucinación” sigue pareciéndome demasiado gruesa como diagnóstico: saber que hubo un fallo no basta para saber dónde ocurrió.**&lt;/p&gt;

&lt;p&gt;Ahí “alucinación” dejó de resultarme suficientemente útil como diagnóstico.&lt;/p&gt;

&lt;h2&gt;
  
  
  Del error del modelo al error del sistema
&lt;/h2&gt;

&lt;p&gt;Esta distinción también cambió una pregunta que me hacía al evaluar modelos.&lt;/p&gt;

&lt;p&gt;Antes era fácil reducir el resultado a algo parecido a:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ACIERTO
FALLO
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ahora me interesa mucho más conocer la ruta:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;¿Tenía la evidencia?
        ↓
¿La vinculó correctamente?
        ↓
¿La atribuyó correctamente?
        ↓
¿Entendió lo que significaba?
        ↓
¿Su afirmación estaba soportada?
        ↓
¿Usó correctamente esa afirmación después?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Porque cada respuesta cambia qué componente debería revisar.&lt;/p&gt;

&lt;p&gt;Tal vez necesito mejorar el contexto.&lt;/p&gt;

&lt;p&gt;Tal vez el problema está en cómo enlazo las fuentes con la respuesta.&lt;/p&gt;

&lt;p&gt;Tal vez necesito restringir la tarea.&lt;/p&gt;

&lt;p&gt;O quizá el modelo simplemente no debería tener autoridad para realizar ese tipo concreto de juicio sin otra capa de validación.&lt;/p&gt;

&lt;p&gt;Esa última posibilidad es especialmente importante para mí.&lt;/p&gt;

&lt;p&gt;No estoy intentando construir sistemas donde el modelo siempre tenga razón.&lt;/p&gt;

&lt;p&gt;Estoy mucho más interesado en sistemas donde podamos saber &lt;strong&gt;qué conservar cuando se equivoca&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Una palabra útil, pero demasiado gruesa
&lt;/h2&gt;

&lt;p&gt;No creo que “alucinación” sea necesariamente una palabra incorrecta.&lt;/p&gt;

&lt;p&gt;El problema aparece cuando se convierte en la explicación final.&lt;/p&gt;

&lt;p&gt;Dos respuestas pueden ser igualmente incorrectas y tener causas completamente distintas.&lt;/p&gt;

&lt;p&gt;Y si las causas son distintas, también deberían serlo nuestras mitigaciones.&lt;/p&gt;

&lt;p&gt;Por eso, después de estas pruebas, estoy intentando separar:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;el síntoma&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;de&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;el lugar donde ocurrió el fallo.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“Alucinación” puede seguir nombrando el primero.&lt;/p&gt;

&lt;p&gt;Pero todavía necesito diagnosticar el segundo.&lt;/p&gt;




&lt;p&gt;Me interesa especialmente contrastar esto con quienes estén evaluando LLMs sobre código, RAG, agentes o flujos donde el modelo recibe evidencia externa:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;cuando evalúan un modelo que recibe evidencia externa, ¿cómo distinguen en qué parte del proceso ocurrió realmente el fallo?&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Transparencia: utilicé modelos de lenguaje como asistencia para revisar y editar la redacción. El experimento y los registros provienen de mi propio trabajo. La interpretación técnica de este caso fue corregida después de volver al artefacto primario preservado.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>testing</category>
      <category>llm</category>
      <category>evaluation</category>
    </item>
  </channel>
</rss>
