me encanta cómo @karpathy comparte su metodología 🙏🏽
Andrej Karpathy
Andrej Karpathy25 ago, 03:46
Continuando el viaje hacia una experiencia óptima de codificación asistida por LLM. En particular, encuentro que en lugar de centrarme en una única cosa perfecta, mi uso se está diversificando cada vez más en unos pocos flujos de trabajo que "coso" los pros y los contras: Personalmente, el pan y la mantequilla (~75%?) de mi asistencia LLM sigue siendo simplemente (Cursor) completar con tabulador. Esto se debe a que encuentro que escribir bloques concretos de código/comentarios yo mismo y en la parte correcta del código es una forma de comunicación de "especificación de tarea" de alto ancho de banda para el LLM, es decir, se trata principalmente de bits de especificación de tarea: lleva demasiados bits y demasiada latencia comunicar lo que quiero en texto, y es más rápido simplemente demostrarlo en el código y en el lugar correcto. A veces, el modelo de completar con tabulador es molesto, así que lo alterno mucho. El siguiente nivel es resaltar un bloque concreto de código y pedir algún tipo de modificación. El siguiente nivel es Claude Code / Codex / etc., funcionando al lado de Cursor, al que acudo para bloques más grandes de funcionalidad que también son bastante fáciles de especificar en un aviso. Estos son súper útiles, pero aún así son mixtos en general y ligeramente frustrantes a veces. No opero en modo YOLO porque pueden desviarse y hacer cosas tontas que no querías/necesitabas y ESC bastante a menudo. Tampoco he aprendido a ser productivo usando más de una instancia en paralelo: una ya se siente lo suficientemente difícil. No he encontrado una buena manera de mantener CLAUDE[.]md bien o actualizado. A menudo tengo que hacer una pasada de "limpiezas" por el estilo de codificación o cuestiones de gusto en el código. Por ejemplo, son demasiado defensivos y a menudo sobreutilizan las declaraciones try/catch, a menudo complican en exceso las abstracciones, sobrecargan el código (por ejemplo, construcciones anidadas if-else cuando una comprensión de lista o un if-then-else de una línea funcionarían), o duplican bloques de código en lugar de crear una buena función auxiliar, cosas así... básicamente no tienen sentido del gusto. Son indispensables en casos donde me adentro en un territorio de codificación más intuitivo donde estoy menos familiarizado (por ejemplo, escribiendo algo de rust recientemente, o comandos sql, o cualquier otra cosa que haya hecho menos antes). También intenté que CC me enseñara cosas junto con el código que estaba escribiendo, pero eso no funcionó en absoluto: realmente quiere escribir código mucho más de lo que quiere explicar algo en el camino. Intenté que CC hiciera ajuste de hiperparámetros, lo cual fue muy divertido. También son súper útiles en todo tipo de visualizaciones personalizadas o utilidades de depuración de bajo riesgo que nunca escribiría de otra manera porque habría tomado demasiado tiempo. Por ejemplo, CC puede generar 1,000 líneas de visualización/código extensivo solo para identificar un error específico, que se elimina justo después de encontrarlo. Es la era del código post-escasez: ahora puedes crear y luego eliminar miles de líneas de código súper personalizado y efímero, está bien, ya no es algo precioso y costoso. La última capa de defensa es GPT5 Pro, al que acudo para las cosas más difíciles. Por ejemplo, me ha pasado un par de veces que yo / Cursor / CC estamos atascados en un error durante 10 minutos, pero cuando copio y pego todo en 5 Pro, se va durante 10 minutos pero luego realmente encuentra un error muy sutil. Es muy potente. Puede desenterrar todo tipo de documentos y artículos esotéricos y demás. También lo he utilizado para otras tareas más sustanciales, por ejemplo, sugerencias sobre cómo limpiar abstracciones (resultados mixtos, a veces buenas ideas pero no todas), o una revisión completa de la literatura sobre cómo la gente hace esto o aquello y vuelve con buenos recursos/puntos relevantes. De todos modos, la codificación se siente completamente abierta a posibilidades a través de una serie de "tipos" de codificación y luego una serie de herramientas con sus pros y contras. Es difícil evitar la sensación de ansiedad por no estar en la frontera de lo que es colectivamente posible, de ahí la lluvia de pensamientos aleatorios del domingo y una buena cantidad de curiosidad sobre lo que otros están descubriendo.
3,89K