Por qué las estimaciones de tiempo de Claude Code son malas

¿Alguna vez le ha pedido a Claude Code un tiempo estimado para implementar una función?

Por ejemplo, podrías estar analizando una función de chatbot en tu aplicación y preguntarle a Claude:

¿Cuánto tiempo llevará esta implementación?

Y luego obtienes una respuesta como:

Para un solo ingeniero, esto podría suponer entre 3 y 4 semanas de trabajo.

Definitivamente he notado esto básicamente cada vez que le pregunto a Claude Code estimaciones de tiempo. Ahora, en realidad, la implementación de esta función normalmente se realizará en un solo día, especialmente si configura Claude de la manera correcta.

Esto es desafortunado porque, en muchos casos, desea una estimación real decente de cuánto tiempo llevará implementar la función, corregir el error o simplemente realizar el trabajo, y tener estimaciones inexactas hace que eso sea un desafío.

Ahora bien, cuando recibo estimaciones vagas de estas implementaciones, a menudo yo mismo sé la respuesta, ¿verdad? Si se está implementando una función, casi todas las funciones se pueden implementar en, digamos, 12 horas si tiene una especificación clara de lo que desea implementar. Lo que creo que es más molesto es cuando pido estimaciones más cortas, por ejemplo, cuántos minutos faltan para que termines con esto.

En este artículo, analizaré por qué Claude es tan malo en estas estimaciones y qué puedes hacer para contrarrestarlo y alinearte con el Código Claude.

Unas buenas estimaciones de tiempo son fundamentales para una buena comunicación dentro de su empresa

Por supuesto, la razón por la que mejores estimaciones son importantes para comunicarse bien con sus colegas es que desea saber cuánto tiempo llevará completar una tarea, por ejemplo, para decirle a su gerente de producto una buena estimación o para brindarle a su colega una mejor comprensión de cuánto tiempo le tomará a usted completar su trabajo. Por ejemplo, si su trabajo se basa o depende de su trabajo, o está bloqueado hasta que su trabajo esté terminado.

Esta infografía destaca los contenidos principales de este artículo. Explicaré por qué los agentes de codificación son malos para dar estimaciones de tiempo para el trabajo de ingeniería y cómo puede mejorarlos para brindar mejores estimaciones para comunicarse mejor con su equipo. Imagen de ChatGPT.

Por qué Claude es malo para estimar el tiempo de ingeniería requerido

Podría haber una combinación de razones por las que Claude no da estimaciones de cuánto tiempo llevará implementar algo. Pero creo que al final todo se reduce a los datos de entrenamiento.

Por supuesto, Claude está capacitado con datos humanos obtenidos de Internet. Esto significa que, por ejemplo, los humanos han escrito publicaciones en blogs sobre cuánto tiempo llevó una implementación, o podría basarse en estadísticas de GitHub cuando los humanos eran los únicos que escribían todo el código sin la ayuda de la IA, obviamente antes de 2022, y así sucesivamente.

Por lo tanto, Claude esencialmente ha sido entrenado en estimaciones humanas del tiempo. Entonces, en los datos de capacitación con los que se entrenan Claude y otros LLM similares, hay estimaciones de tiempo humano. Entonces, implementar una característica para un humano en realidad tomaría, por ejemplo, 4 semanas.

O descubrir la causa raíz de un error e implementar una solución puede tardar 2 días en resolverse.

Por lo tanto, la razón principal por la que las estimaciones son deficientes es esencialmente que brindan estimaciones humanas y no estimaciones de lo que usaría un LLM para completar la tarea. Sin embargo, creo que vale la pena señalar que ahora que los LLM han estado disponibles durante bastantes años, creo que veremos que estas estimaciones comenzarán a actualizarse de manera más natural, una vez que tengamos más datos en Internet sobre cuánto tiempo lleva implementar algo a través de la programación con LLM, y veremos que las estimaciones se vuelven cada vez más precisas, aunque probablemente se retrasarán un poco más.

Cómo obtener estimaciones más precisas

Ahora, pasemos a cómo solucionar el problema de las estimaciones deficientes. No existe una solución rápida y clara sobre cómo obtener mejores estimaciones de Claude Code o de sus otros agentes de codificación. Sin embargo, me gustaría señalar dos enfoques principales que usaría si quiero una estimación más precisa de cuánto tiempo lleva implementar algo.

Base las estimaciones en sus datos anteriores

Creo que la técnica más impactante que puede utilizar es hacer que su agente de codificación almacene datos sobre cuánto tiempo lleva implementar algo. Esto se puede hacer, por ejemplo, haciendo un seguimiento de cada tarea en un problema lineal o en un archivo de rebajas en Notion o similar.

Luego, cuando el LLM implementa la función o corrige el error, por supuesto se asegura de escribir todo en Linear y realizar un seguimiento de todo allí. Es importante que anote cuándo empezó a mirarlo y cuándo lo completó.

Una vez que haya completado muchas implementaciones de funciones y correcciones de errores, puede crear una habilidad separada que Claude Code use cada vez que quiera hacer estimaciones que tenga toda la información sobre estas diferentes funciones. La habilidad podría verse así:

1. Característica A – 12 horas2. Característica B – 3 horas3. Comprender y solucionar el error B – 4 horas

Siempre que un LLM tiene que hacer una nueva estimación sobre cuánto tiempo lleva completar una tarea, puede hacer referencia a esta habilidad, comparar la tarea actual con las tareas anteriores y así hacer estimaciones mucho mejores.

Ahora bien, por supuesto, las estimaciones todavía no serán 100% exactas. Esto se debe a que no podemos tener información perfecta sobre cuál es la tarea y cómo se puede resolver. Por ejemplo, al implementar la función A, es muy difícil trazar todos los desafíos que podría enfrentar en el camino. Averigua qué será difícil y qué no será difícil. Tal vez se esté realizando otro trabajo al mismo tiempo, por lo que debes rebasar encima de él, y así sucesivamente. Básicamente, no se dispone de información perfecta y, por tanto, es imposible hacer estimaciones perfectas. Sin embargo, descubrí que tener una habilidad como la mencionada anteriormente aquí es una forma muy efectiva de obtener mejores estimaciones y así poder comunicarme mejor con mis colegas.

Dígale a Claude que piense específicamente en cada paso y cuánto tiempo dedicaría un LLM a ello.

Ahora bien, creo que la técnica anterior es probablemente la técnica superior para hacer estimaciones de tiempo. Sin embargo, también quiero anotar un método que no depende de muchos datos porque el método anterior obviamente depende de que usted haya implementado muchas características y haya resuelto errores y otras tareas, y luego haya anotado cuánto tiempo tomó cada una de ellas. Esta técnica que estoy cubriendo aquí no requiere eso.

Esta técnica se trata más de dividir cada paso donde sea más fácil para los LLM hacer estimaciones al respecto, y usted debe decirle explícitamente al LLM que haga la estimación en función de cuánto tiempo dedicaría un LLM a ello, no cuánto tiempo dedicaría un humano a ello.

Por ejemplo, digamos que está implementando la función A y la función A depende de la implementación de varias subtareas:

investigando el tema

Implementando la parte 1

Implementando la parte 2

Pruebas

Ahora, las tareas que ha cubierto probablemente deberían ser incluso más específicas que las que enumeré anteriormente. La razón de esto es que estimar el tiempo para tareas más pequeñas es mucho más fácil, tanto para un humano como para un LLM. Y esto, a su vez, genera mejores estimaciones en total.

Puede decirle al LLM que encuentre una buena estimación para cada una de las subtareas, dado que un LLM está realizando la tarea o al menos es un humano que la conduce pero usa LLM para completarla. El LLM tendrá cierto conocimiento inherente de cuán efectivo es en sí mismo. Por ejemplo, investigar temas será mucho más efectivo cuando se utilicen LLM en comparación con los humanos que realizan la investigación manualmente buscando en Google.

Luego le dice al LLM que combine las estimaciones de tiempo y, a su vez, tendrá una estimación del tiempo total de finalización de la tarea.

Conclusión

En este artículo, hablé de cómo hacer que sus agentes de codificación proporcionen mejores estimaciones de tiempo para completar las tareas. Esto es muy importante porque, en muchos casos, desea comunicar con su equipo cuánto tiempo lleva completar una tarea de principio a fin. Sin embargo, si solicita un LLM listo para usar, la mayoría de ellos serán muy pobres a la hora de dar estimaciones y proporcionarán estimaciones de tiempo mucho más altas de lo que realmente es cierto. Por lo tanto, puede aplicar las dos técnicas que cubrí en este artículo para tener mejores estimaciones de tiempo de codificación con sus LLM y así ser un mejor comunicador dentro de su equipo. Creo que este tema es, en general, muy importante, ya que los LLM cambian la forma en que trabajamos, y poder comunicar y alinear a los humanos con los LLM será una habilidad fundamental en el futuro.

👋 Ponte en contacto

👉 Mi libro electrónico y seminario web gratuitos:

🚀 10 veces su ingeniería con LLM (curso gratuito por correo electrónico de 3 días)

📚 Obtenga mi libro electrónico gratuito sobre Modelos de lenguaje de visión

💻 Mi seminario web sobre modelos de lenguaje de visión

👉 Encuéntrame en las redes sociales:

💌 Subpila

🔗 LinkedIn

🐦X/Twitter