Tan importante como es el código, la documentación de ese código es posiblemente más importante. Ningún desarrollador ni software existe en el vacío; A menos que otros desarrolladores puedan entender el código que has escrito, éste pierde gran parte de su impacto potencial.
Pero ¿qué pasa con las máquinas? ¿También necesitan buenos médicos?
La respuesta es sí y apunta a un futuro de «documentación escalonada», un término que vi por primera vez descrito por Vlad Ionescu. ca el detallesdocumentación por niveles significa «tener un conjunto de documentación para usuarios humanos y tener otro conjunto de documentación específicamente para usuarios humanos». LLM [large language model] capacitación.» El primero debe ser consumido fácilmente por la gente; esto último debe detallarse para que herramientas como Amazon CodeWhisperer o GitHub Copilot produzcan un código cada vez mejor. Es un concepto fascinante cuyo objetivo final es mejorar la productividad de los desarrolladores. Entonces, ¿qué necesitamos para llegar allí?
La importancia de los grandes documentales
Pregúntele a un desarrollador qué necesita para ser productivo e invariablemente la respuesta será «excelente documentación». De hecho, SlashData ha hecho esa pregunta durante años y los documentos siempre encabezan la lista:
Por supuesto, esto es más fácil decirlo que hacerlo. A pesar de que sabemos la importancia de los documentos (por ejemplo, para transmitir conocimientos, como Desarrollador Jeremy Mikkola pos), es invariablemente la tarea que los desarrolladores de software menos quieren hacer. Como señala Kislay Vermaescribir buena documentación es realmente difícil y no tan divertido como escribir el código en sí.
Bueno, simplemente se volvió más difícil.
Para el desarrollador Jakub Kočí, «el mayor problema [in writing docs] es la claridad”. Después de todo, él continúa, “Primero escribimos código para humanos, no para máquinas. Hacer que funcione es sólo la mitad de la solución, hacerlo bien estructurado y mantenible es otra… parte a menudo más difícil”. Eso podría haber sido cierto en 2022 cuando Kočí dijo eso por primera vez, pero en 2024, podría decirse que igualmente importante que las máquinas entienden su documentación tanto como los desarrolladores, dado el auge de los asistentes de codificación basados en LLM como Amazon CodeWhisperer o GitHub Copilot.
Las máquinas necesitan una documentación diferente a la de las personas: más detallada, por ejemplo.
Presentación de documentación escalonada
Como sugiere Ionescu, «La documentación por niveles es algo con lo que algunas personas están experimentando como solución/solución alternativa para los asistentes de código LLM… siendo tontos porque los documentos son tontos». Algunas empresas de software están intentando resolver este problema trabajando directamente con socios para introducir códigos de muestra, documentos, etc., directamente en el LLM. Mi empleador, MongoDB, ha hecho esto con AWS. Funciona pero no es escalable. Idealmente, como desarrollador de software, ya sea un individuo o una corporación, desea crear documentación que los LLM rastrearán por sí solos.
También debe asegurarse de que los LLM comprendan su software en un nivel profundo para que puedan devolver el mejor código posible cuando los desarrolladores se lo soliciten. Desafortunadamente, como se lamenta Ionescu, «la mayoría de la documentación para desarrolladores (o incluso la documentación para usuarios) generalmente está escrita para principiantes y eso ahora es un obstáculo». Para una persona, es perfectamente apropiado dar inicios rápidos y ejemplos de código básicos, pero alimentar ese tipo de datos limitados a una máquina, y ésta «tendrá dificultades para proporcionar sugerencias de código serias a nivel de producción».
La idea detrás de la documentación por niveles es que «de forma predeterminada, los robots de rastreo para LLM [will] obtenga documentos y humanos súper detallados y en profundidad [will] obtenga médicos más amigables”, resume Ionescu.
Esa es la idea. ¿Cuál es la realidad? Bueno, la realidad muerde, al menos por ahora. Que yo sepa, nadie lo ha hecho con éxito, pero no hay ninguna razón para que no se pueda hacer. Será complicado entregar documentos que satisfagan tanto a humanos como a máquinas, pero a medida que descubramos las metodologías, el ganador final serán los desarrolladores.
Estamos muy lejos de que los LLM puedan escupir código de manera efectiva y consistente para reemplazar a los compiladores, como Mike Loukides de O’Reilly argumenta. Pero ya vivimos en un mundo donde los LLM pueden ayudar a los desarrolladores a escribir código excelente. Mejora de la documentación para desarrolladores y Los LLM de los que dependen cada vez más serán cruciales para mejorar la productividad de los desarrolladores.
Copyright © 2024 IDG Communications, Inc.