← Últimos artículos
🤖 AI

LLM Code Smells: A Taxonomy and Detection Approach

Este artículo presenta una taxonomía refinada de nueve olores de código en LLM e introduce SpecDetect4LLM, una herramienta de análisis estático que demuestra alta precisión y exhaustividad al detectar estos problemas de integración en el 73,5 % de los 692 proyectos de código abierto analizados.

Autores originales: Zacharie Chenail-Larcher, Brahim Mahmoudi, Naouel Moha, Quentin Stiévenart, Florent Avellaneda

Publicado 2026-05-25
📖 6 min de lectura🧠 Análisis profundo

Autores originales: Zacharie Chenail-Larcher, Brahim Mahmoudi, Naouel Moha, Quentin Stiévenart, Florent Avellaneda

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que estás construyendo una casa, pero en lugar de contratar a un arquitecto humano, contratas a un robot súper inteligente, increíblemente rápido, pero ligeramente impredecible para ayudarte a diseñar habitaciones y elegir muebles. Este robot es un Modelo de Lenguaje Grande (LLM). Es asombroso, pero si no le das instrucciones claras o no revisas su trabajo, podría construir una puerta donde debería haber una ventana, o usar materiales que se desmoronan bajo la lluvia.

Este artículo trata sobre los "malos hábitos" (o "olores de código") que ocurren cuando los desarrolladores humanos intentan usar estos robots dentro de su software. Los investigadores descubrieron que, al igual que una cocina desordenada puede llevar a comida quemada, un código desordenado al interactuar con una IA puede provocar que el software se bloquee, cueste demasiado dinero o proporcione respuestas incorrectas.

Aquí tienes un desglose de sus hallazgos utilizando analogías simples:

1. El Problema: "Los Malos Hábitos del Robot"

Los investigadores identificaron 9 malos hábitos específicos que cometen los desarrolladores al hablar con estos robots de IA. Los agruparon en tres categorías, como ordenar herramientas en una caja de herramientas:

  • Los Hábitos "Estructurales" (Cómo haces la pregunta):

    • Analogía: Imagina pedirle a un chef: "Hazme la cena", sin decirle si quieres vegetariano, picante, o si tienes alergia a los frutos secos.
    • El Olor: Sin Mensaje del Sistema. Los desarrolladores a menudo olvidan darle a la IA una "descripción del trabajo" (un mensaje del sistema) que le diga quién se supone que debe ser (por ejemplo, "Eres un tutor de matemáticas útil"). Sin esto, el robot actúa como un bot genérico conversador en lugar de un especialista.
    • El Olor: Llamadas Anónimas. Imagina llamar a un restaurante pero no dar tu nombre. Si la comida está mala, el restaurante no sabe a quién llamar de nuevo. Los desarrolladores a menudo olvidan adjuntar un "ID de usuario" a la solicitud de la IA, lo que hace imposible rastrear quién causó un problema más tarde.
  • Los Hábitos de "Datos" (Qué envías y recibes):

    • Analogía: Pedirle a un robot que ordene tu correo, pero enviándole una caja gigante de correo basura sin abrir en lugar de solo las cartas.
    • El Olor: Sin Salida Estructurada. Le pides a la IA una lista de ingredientes en un formato específico (como una lista JSON), pero no la obligas a seguir ese formato. Podría darte un párrafo de texto en su lugar. Tu software luego intenta leer ese párrafo como una lista y se bloquea.
    • El Olor: Carga de Visión Sin Procesar. Si le pides a la IA que mire una foto de un error en tu código, enviar la captura de pantalla completa de 4K de tu monitor es un desperdicio. Es como enviar por correo una biblioteca entera para preguntar sobre un solo libro. Debes recortar la imagen para mostrar solo el error primero.
  • Los Hábitos de "Protocolo" (Las reglas del juego):

    • Analogía: Conducir un coche sin establecer un límite de velocidad o sin verificar qué modelo de coche estás conduciendo, asumiendo que siempre será el mismo.
    • El Olor: Sin Fijación de Versión del Modelo. Le dices al robot: "Usa el modelo 'GPT-4'". Pero la empresa podría actualizar "GPT-4" mañana para que sea un robot completamente diferente. Tu código se rompe porque el robot cambió su personalidad. Necesitas fijarlo a una versión específica (como "GPT-4 de noviembre de 2024").
    • El Olor: Métricas Máximas Ilimitadas. Le pides al robot que escriba una historia, pero no le dices que se detenga después de 500 palabras. Podría seguir escribiendo para siempre, consumiendo todo tu dinero y tiempo.
    • El Olor: Temperatura No Configurada. Esto controla qué tan "creativo" o "aleatorio" es el robot. Si no lo configuras, el robot usa una configuración predeterminada que podría cambiar mañana, haciendo que tu software se comporte de manera diferente en días distintos.

2. La Solución: El "Perro Sabueso" (SpecDetect4LLM)

Los investigadores crearon una herramienta llamada SpecDetect4LLM. Piensa en esto como un perro sabueso que camina por tu código.

  • No ejecuta el código; solo mira las instrucciones (el "análisis estático").
  • Huele alrededor para ver si cometiste alguno de esos 9 malos hábitos.
  • Si encuentra un mal hábito, ladra (lo marca) para que el desarrollador pueda corregirlo antes de que el software se ponga en producción.

3. Los Resultados: ¿Qué tan bueno es el perro?

Los investigadores probaron este perro sabueso en 692 proyectos de software diferentes (más de 171,000 archivos de código). Esto es lo que encontraron:

  • ¿Con qué frecuencia ocurren estos malos hábitos?

    • El 73.5% de los proyectos tenía al menos uno de estos malos hábitos. Es como entrar en una casa y descubrir que 3 de cada 4 tienen un grifo que gotea. Es muy común.
    • El mal hábito más común fue no fijar la versión del modelo (usar un nombre genérico en lugar de uno específico).
  • ¿Qué tan bueno es el perro sabueso para encontrarlos?

    • Precisión (Exactitud): Cuando el perro ladra, tiene razón el 91.3% de las veces. Rara vez llora lobo.
    • Exhaustividad (Completitud): El perro encuentra aproximadamente el 71.8% de los malos hábitos reales. Se pierde algunos, pero atrapa a la mayoría.

4. ¿Por qué importa esto?

El artículo argumenta que, aunque estos malos hábitos no siempre hacen que el software se bloquee inmediatamente, son como óxido en un coche.

  • Hacen que el coche sea más difícil de reparar más tarde (Mantenibilidad).
  • Hacen que el coche funcione más lento o consuma más gasolina (Rendimiento).
  • Hacen que el coche se comporte de manera impredecible en días de lluvia (Confiabilidad).
  • Hacen que el coche sea inseguro si cambian las condiciones de la carretera (Robustez).

Resumen

Los investigadores crearon un "menú" de 9 errores comunes que cometen los desarrolladores al usar IA, construyeron una herramienta para encontrar automáticamente estos errores y demostraron que estos errores están en todas partes en el mundo del software. Su herramienta es muy buena para detectarlos, ayudando a los desarrolladores a construir software que sea más seguro, económico y confiable cuando utiliza IA.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →