Manifiesto de desarrollo de código bajo de IA: una nueva revolución de la ingeniería de software

Introducción: el desarrollo de código bajo de IA no es solo una nueva abstracción después de la orientación a procesos y la orientación a objetos, sino también un nuevo método de desarrollo después del desarrollo en cascada y el desarrollo ágil.

 La crisis del software hace cincuenta años 

      Es la etapa inicial de la tecnología informática, y se está estableciendo la infraestructura del software, como el sistema operativo, la base de datos, el protocolo subyacente de Internet, etc., y el software está cambiando de simple a complejo. Las personas descubren que una vez que el desarrollo de software está fuera de control, es como caer en un pozo de alquitrán. No importa cuántos recursos humanos y materiales se inviertan, es difícil cambiar y no tiene nada que ver con las personas y los meses. Los costos y el tiempo de desarrollo de software se magnifican infinitamente y la calidad es difícil de garantizar.

      En 1970, Winston Royce propuso el famoso "Modelo en cascada". Su idea central es simplificar el problema de acuerdo con el proceso, separar la realización de la función del diseño y facilitar la división del trabajo y la cooperación. La implementación física está separada . Divida el ciclo de vida del software en seis actividades básicas, que incluyen planificación, análisis de requisitos, diseño de software, programación, prueba de software y operación y mantenimiento, y estipule su secuencia fija de arriba a abajo, interconectadas, como una cascada, paso a paso. paradero.

      El modelo en cascada tiene como objetivo hacer que el desarrollo de software sea más predecible y ordenado a través de etapas claras y documentos prescritos, y es muy adecuado para proyectos de desarrollo de software altamente integrados y a gran escala con requisitos que cambian con poca frecuencia. Hasta principios de la década de 1980, fue el modelo de desarrollo de software ampliamente adoptado.

 La crisis del software de hace veinte años 

      Con el auge de Internet, el software ha comenzado a tocar todos los aspectos de la vida. El software está definiendo todo. La demanda de informatización de las personas ha comenzado a explotar. Ha comenzado la primera colisión entre programadores y varios escenarios de usuarios. La ambigüedad de los requisitos y la constante Los cambios hacen que el modelo tradicional de desarrollo en cascada restrinja seriamente el progreso del desarrollo de software y afecte el costo del desarrollo de software.

      En febrero de 2001, Martin Fowler, Jim Highsmith y otros 17 reconocidos expertos en desarrollo de software se reunieron en Snowbird Ski Resort, Utah, EE. UU., y celebraron una reunión de iniciadores y practicantes de métodos ágiles. En esta reunión, propusieron formalmente el concepto de Agile (desarrollo ágil) y firmaron juntos el "Manifiesto Ágil".

      Extreme Programming (XP) y Scrum representan dos escuelas diferentes de prácticas de desarrollo ágil. Scrum es un esqueleto de proceso que incluye una serie de prácticas y roles predefinidos, como líderes de proyecto, propietarios de productos y equipos de desarrollo que completan cada tarea a través de sprints. Una iteración , cada incremento producido y cada meta alcanzada. La programación extrema se enfoca más en prácticas de ingeniería específicas, como clientes en el sitio, disciplina del código, semana laboral de 40 horas, juegos de planificación, metáforas del sistema, diseño simple, desarrollo basado en pruebas, refactorización, propiedad colectiva del código, integración continua, lanzamientos pequeños, emparejamiento. programación esperar.

      En la práctica específica del desarrollo ágil, no existe una distinción estricta entre los diferentes géneros y, a menudo, se realizan diferentes grados de integración. El desarrollo ágil no es un abandono del desarrollo en cascada, sino una optimización de procesos basada en él, y el modelo en cascada se refleja en una dimensión temporal más corta. Por lo tanto, hasta el día de hoy, el desarrollo ágil sigue siendo el modelo principal de desarrollo de software.

 La crisis del software actual 

      El software se ha integrado en todos los aspectos de la vida. Se puede decir que la mayoría de las escenas se han informatizado y el software ha reconstruido el mundo. Sin embargo, el desarrollo de nuevas tecnologías aún está en ascenso, especialmente Internet móvil, Internet de las cosas, a lo grande Con el desarrollo de tecnologías como los datos, la nube nativa y la inteligencia artificial, la demanda de sistemas de información por parte de las personas sigue aumentando. La mayor contradicción en el campo de TI sigue siendo que el desarrollo de software no puede satisfacer las crecientes necesidades digitales de las personas. En este proceso, las crisis también se acumulan constantemente.

Primero, el desarrollo ágil trae más y más problemas.

Aunque el desarrollo ágil ha logrado grandes logros, y muchos equipos de software están siguiendo ideas ágiles para practicar ágil, el desarrollo ágil no es una panacea, y los problemas que trae son cada vez más evidentes. Por ejemplo: es difícil definir con precisión los documentos necesarios y captar la consistencia del producto global; es difícil juzgar el punto final del proyecto y estimarlo de manera efectiva; depende demasiado de programadores expertos, etc.

En segundo lugar, las actualizaciones tecnológicas son cada vez más rápidas.

La popularidad de Internet móvil ha jugado un papel muy importante en la promoción del desarrollo de la tecnología. Como un sinfín de tecnologías front-end, desarrollo de aplicaciones Android e IOS, marcos front-end web React, Vue, etc.; el rápido aumento en el volumen de datos hace que los servicios back-end cambien de una arquitectura única a un marco de microservicio, y hay varias distribuciones de soporte y sistemas de base de datos y middleware de alta concurrencia; la aplicación de Internet de las cosas y la inteligencia artificial es popular, y la aplicación de múltiples lenguajes como Python y Go es cada vez más extensa. Por lo tanto, los requisitos para los programadores no son solo poder aprender rápidamente la pila de tecnología adecuada, sino también realizar un seguimiento de los cambios en la frontera de la tecnología.

En tercer lugar, los clientes tienen requisitos cada vez más altos para el software.

Con el aumento continuo de usuarios de software, el sistema de gestión de información tradicional se basa cada vez más en Internet, no solo tiene más usuarios, sino que también el proceso comercial se ha vuelto más complicado. Las personas no solo pueden satisfacer las necesidades de la vida a través de teléfonos inteligentes, sino que también pueden completar la mayor parte del trabajo transaccional, como el gobierno, la atención médica, la educación, la asistencia, la oficina, etc. La educación de los usuarios por parte de algunas aplicaciones de software ToC eficientes y potentes hace que los usuarios tengan requisitos más altos para el software ToB en términos de experiencia interactiva.

En cuarto lugar, el equipo de I+D se está volviendo cada vez más incontrolable.

Ahora, la división organizativa del desarrollo de software se está volviendo cada vez más detallada, como front-end, back-end, diseño de interfaz de usuario, gerente de producto, gerente de proyecto, etc. Este modelo es efectivo en el desarrollo de software de Internet con una lógica comercial relativamente simple, pero los problemas comienzan a aparecer en el software de administración de información que requiere conocimiento del dominio a medida que el negocio se vuelve cada vez más complejo. La separación de front-end y back-end ha causado enormes costos de comunicación; hay muy pocos gerentes de producto que entiendan tanto el profesionalismo como el desarrollo; la falta de ingenieros full-stack hace que la arquitectura de software sea cada vez más débil; la movilidad del personal hace que la código más difícil de mantener. Por lo tanto, el desarrollo de software ahora necesita con urgencia un nuevo método organizativo para resolver la situación cada vez más fuera de control.

Quinto, los programadores se confunden cada vez más.

El rápido desarrollo de la tecnología de TI ha atraído a una gran cantidad de jóvenes a ingresar a la industria del software, y el desarrollo de software es un trabajo intensivo en conocimientos, y la capacidad de los programadores varía mucho. Muchos programadores no conocen los límites del desarrollo de software. El desarrollo de software de Internet, el desarrollo de sistemas de gestión de la información y el software profesional tienen pilas de tecnología y métodos de desarrollo diferentes. Muchos programadores han aprendido mucho sobre la tecnología de desarrollo de Internet, pero solo pueden participar en el desarrollo del sistema de gestión de la información, lo que los confunde mucho. También está el conocido fenómeno de los 35 años. La falta de una planificación de carrera efectiva se ha convertido en un problema al que se enfrentan cada vez más programadores.

 nueva tecnología revolucionaria 

      Ya en 2014, la consultora de TI Forrester propuso por primera vez el concepto de low-code.Hasta 2019, otra conocida consultora de TI, Gartner, hizo una definición más detallada del desarrollo de código bajo, que atrajo una gran atención:

      LCAP (plataforma de desarrollo de código bajo) es una plataforma de aplicaciones que admite el desarrollo rápido de aplicaciones y utiliza la implementación, ejecución y administración integrales de abstracciones de programación de alto nivel y declarativas de aplicaciones (como lenguajes de programación basados ​​en metadatos y basados ​​en modelos). A diferencia de las plataformas de aplicaciones tradicionales, admite el desarrollo de la interfaz de usuario, la lógica comercial y los servicios de datos, pero mejora la eficiencia a expensas de la portabilidad entre plataformas y la apertura de las aplicaciones.

      A partir de esta definición, podemos ver que el valor central del código bajo es realizar la entrega rápida de aplicaciones comerciales y acelerar el desarrollo de software mediante el uso de herramientas de plataforma en una dimensión de abstracción más alta. Gartner no especificó la implementación específica de código bajo, la reducción de la entrada de código y el uso de estrategias de configuración de arrastrar y soltar visuales son solo una implementación.

      Si el código bajo señala el camino para reformar el desarrollo de software, AIGC proporciona un medio más poderoso. En noviembre de 2022, OpenAI lanzó ChatGPT, una herramienta de procesamiento de lenguaje natural impulsada por tecnología de inteligencia artificial, que puede llevar a cabo conversaciones mediante la comprensión y el aprendizaje del lenguaje humano, e interactuar de acuerdo con el contexto del chat, chatear realmente como una comunicación humana e incluso completar tareas como escribir correos electrónicos, guiones de video, redacción publicitaria de marketing, traducciones y documentos. En cuanto a la programación, su excelente capacidad de generación de código también sorprende a los programadores. Ya en junio de 2021, Microsoft y OpenAI lanzaron conjuntamente GitHub Copilot, una herramienta de programación de IA. Su modelo central puede comprender una gama más amplia de contextos con la ayuda de las capacidades de generación de GPT, ya sean documentos, comentarios, nombres de funciones, códigos de prueba, etc. Ya sea el código en sí, el nuevo código se puede sintetizar de acuerdo con el contexto para la coincidencia, y se denomina la versión virtual de la programación en pares debido a su eficiente capacidad de programación auxiliar. El último Github Copilot X no solo puede reconocer el contenido del código ingresado por los desarrolladores, mostrar mensajes de error, sino también analizar y explicar el propósito de los bloques de código, generar pruebas unitarias, brindar sugerencias de depuración e incluso interactuar con los programadores por voz.

Jiang Tao, el fundador de CSDN, mencionó en un discurso reciente que la programación de IA se divide en cinco niveles C1, C2, C3, C4 y C5 inspirados en la conducción no tripulada. Aquí modificamos ligeramente C4 y C5, porque el desarrollo del programa aún debe ser difícil de dejar el papel de las personas, cuánta participación involucra.

      Nivel C1, al igual que el método de entrada, escribir una línea completará automáticamente el indicador;

      nivel C2, predecirá el siguiente código después de que el programador termine de escribir una línea de código;

      nivel C3, puede generar código de función completo y puede generar código basado en un fragmento de código;

      Nivel C4, capaz de generar un módulo completo de acuerdo con los requisitos del programador y completar la traducción mutua de diferentes lenguajes de programación;

      Nivel C5, genera un proyecto completo con sugerencias limitadas del programador.

      Según las pruebas, ChatGPT ha alcanzado al menos el nivel C3, y el último GPT-4 puede incluso completar parte del trabajo en el nivel C4. De C1 a C5, se puede ver que esto es en realidad una mejora continua de la función de finalización de código. Para los programadores, el código es la forma más eficiente y flexible de implementarlo. La finalización de código es el control flexible de la escritura de código.

      Sabemos que en el desarrollo de software real, a menudo existen innumerables métodos de implementación para el mismo escenario comercial. Aunque es difícil determinar cuál es el mejor, lo que necesitamos es un método de implementación definido, legible y verificable. Por lo tanto, para llegar a la Nivel C5, no basta con confiar únicamente en los códigos generados libremente por la IA. Necesitamos la capacidad de restricción del código bajo, es decir, en el concepto de código bajo, podemos mejorar la certeza a expensas de la apertura. Además, la generación de código de IA también depende de la capacidad de las palabras clave, y las palabras clave bien expresadas requieren un conocimiento profesional del dominio, que corresponde a la abstracción de alto nivel en código bajo.

      El desarrollo de software no se trata solo de escribir código, sino que también incluye múltiples procesos en el ciclo de desarrollo de software, como análisis de requisitos, modelado de procesos, diseño de arquitectura, diseño detallado y pruebas. Es previsible que ChatGPT pueda ayudar en cada enlace del proceso, y los cambios que traerán las nuevas tecnologías están fuera de toda duda. Algunas personas incluso sugirieron que AIGC terminará las carreras de los programadores dentro de 3 años. Aunque esto es un poco extremo, creo que los programadores nunca serán despedidos, pero los programadores que no sigan el ritmo de los tiempos y usen herramientas de programación de IA serán despedidos.

 Manifiesto de desarrollo de código bajo de IA 

      En este punto singular del desarrollo tecnológico, proponemos una nueva idea de ingeniería de software, el Low-Code Development Manifesto, en comparación con el Agile Manifesto, tratando de orientar y analizar el próximo desarrollo en el campo de la programación de software. Aunque el artículo de la derecha tiene su valor, prestamos más atención al valor del artículo de la izquierda.

1. Los componentes y modelos son superiores a los individuos y las interacciones son superiores a los procesos y herramientas

      En el desarrollo en cascada, el proceso de desarrollo de software se define a través de procesos estrictos y herramientas de diseño para garantizar la implementación efectiva del plan de desarrollo. En el desarrollo ágil, los individuos y las interacciones enfatizan el papel de las personas, y las habilidades y la comunicación entre los diferentes participantes se utilizan para hacer frente a los cambios en los requisitos de desarrollo.

      A través de años de acumulación de desarrollo de software, muchos escenarios comerciales ya tienen modelos de dominio y procedimientos operativos maduros, y se pueden construir rápidamente nuevos negocios a través de componentes de diferentes granularidades. Las empresas de software un poco más grandes también formarán sus propios modelos de desarrollo y sistemas marco únicos, razón por la cual una vez que se propone el concepto de código bajo, las plataformas de código bajo o sin código emergen sin cesar.

      A través del modelo de lenguaje grande AI, la escena se puede desmontar mejor y se puede guiar el establecimiento del modelo de dominio y la construcción de los componentes. Los componentes y modelos existen como elementos básicos del desarrollo de software, y varios marcos de desarrollo y sistemas de componentes tienen sus propias características debido a diferentes escenarios y patrones de diseño. Si bien la acumulación de componentes y marcos puede mejorar la eficiencia del desarrollo, la clave del problema es qué tipo de componentes y modelos se pueden establecer para cooperar de manera efectiva con los modelos grandes de IA.

2. Código legible sobre software en funcionamiento sobre documentación detallada

      La documentación es un hito importante en el desarrollo de cascadas. En el desarrollo ágil, debido a los cambios en los requisitos, necesitamos iterar continuamente el proceso de desarrollo de software y comunicarnos con los usuarios continuamente. Esto requiere que el código del software se pueda modificar continuamente de manera rápida y efectiva, y cada iteración produce un software viable.

      Sin embargo, en este proceso, la documentación se debilita constantemente, por lo que, al final, la documentación se desconecta completamente del código. Otro consenso interesante sobre la documentación es que los programadores odian más escribir documentación, y también odian a otros que no escriben documentación. Además, para el código que se modifica con frecuencia, la capacidad de mantenimiento del código también disminuye constantemente. El código que es más fácil de entender para los programadores es el código que se acaba de escribir, mientras que el código más difícil es el código que escribí hace un año. Los miembros siempre se bloquean en un bucle constante.

      Por lo tanto, mejorar la legibilidad del código es la mejor manera de resolver la iteración continua del desarrollo de software y también es una forma efectiva de reducir errores. Mejorar la legibilidad del código puede comenzar desde tres aspectos, el primero es la denominación, la denominación clara y precisa puede mejorar en gran medida la legibilidad del código; en segundo lugar, la documentación del código, no solo los comentarios del código, la documentación coherente y completa puede permitir que los programadores entiendan el código más rápidamente; el lo último es un buen diseño, un buen diseño puede simplificar el código y permitir que el código genere capacidades de autocomentario. Estos problemas también pueden utilizar el modelo grande de IA. Por un lado, el modelo grande de IA puede verificar la calidad del código y proporcionar un mejor método de diseño; por otro lado, también puede generar automáticamente fragmentos de código que cumplir con los requisitos de calidad. Los programadores pueden incluso usar pseudocódigo directamente para programar, mejorando así en gran medida la legibilidad del código.

3. El éxito del cliente es mayor que la cooperación del cliente que la negociación del contrato

      En el desarrollo en cascada, primero se debe determinar el alcance funcional del software, por lo que primero se lleva a cabo la negociación del contrato. Una vez que se firma el contrato, los requisitos del software no cambiarán. En el desarrollo ágil, dado que los usuarios no pueden describir con precisión el software que desean antes del desarrollo, es necesario cooperar con los clientes e iterar continuamente durante el proceso de desarrollo para finalmente lograr el efecto deseado.

      Hoy en día, el desarrollo de software ha acumulado suficiente experiencia en muchos escenarios para diseñar las mejores prácticas de la industria, razón por la cual SaaS se adopta ampliamente como un modelo maduro. Los usuarios no necesitan participar plenamente en el desarrollo, por lo que la entrega de software se ha convertido en una tarea importante. El éxito del cliente se puede dividir en tres niveles: el primero es que el cliente utiliza bien el software, el segundo es que el software realmente puede crear valor para el cliente y el tercero es la capacidad de seguir el desarrollo continuo del cliente y garantizar su ventaja competitiva.

      Pero el modelo SaaS no significa que no se vaya a realizar un desarrollo personalizado para los usuarios. De hecho, el software de gestión es la encarnación del pensamiento de gestión, y es la diferencia en el pensamiento de gestión lo que distingue a una empresa de otra. Cómo personalizar para los clientes es un desafío para el software SaaS y una oportunidad para el desarrollo de código bajo de IA. Una pregunta obvia es si la estandarización de SaaS sigue siendo válida si el desarrollo personalizado a través de AI low-code es lo suficientemente fácil. En el desarrollo de código bajo, puede haber una nueva división de programadores, programadores de negocios, que ya no se centrarán en los detalles de implementación técnica, sino que usarán componentes y modelos razonables para implementar software rápidamente bajo la guía de IA. El sistema se reconfigura para garantizar el éxito continuo del sistema de software en las aplicaciones de los clientes.

4. Predecir el cambio es mejor que responder al cambio es mejor que seguir un plan

      En el desarrollo de cascadas, una vez que se firma el contrato, el desarrollo avanza paso a paso de acuerdo con el plan. En el desarrollo ágil, debido a la interacción continua con los usuarios, es necesario responder continuamente a los cambios en los requisitos. La razonabilidad de los cambios de los usuarios no se puede determinar hasta la próxima interacción. Si no es razonable, se producirán frecuentes reelaboraciones.

      Por lo tanto, es muy importante tener un conocimiento profundo de las necesidades de los usuarios y predecir los cambios. Para los programadores, a menudo toma algunos meses comprender los años de experiencia laboral del usuario. A menudo, muchos conceptos son solo superficialmente consistentes, pero la lógica comercial profunda es difícil de entender, lo que hace que el sistema no se adapte a las demandas del usuario. La forma de comprender en profundidad los requisitos requiere la participación de expertos en dominios más profesionales. En el desarrollo de código bajo de IA, la superpotencia del modelo de lenguaje grande puede actuar como un experto en dominios y mejorar la comprensión de las necesidades de los usuarios por parte de los programadores.

      Otra capacidad para responder a los cambios en los usuarios es la incorporación de IA en el sistema, lo que hace que el software sea inherentemente predictivo. A través de la IA, los usuarios pueden usar el software de manera más flexible, en lugar de estar limitados por la interacción y presentación limitadas de la interfaz del programa. Al mismo tiempo, al utilizar el gran conocimiento y las capacidades de razonamiento del modelo grande para analizar y predecir el negocio del cliente, este será un cambio revolucionario para el sistema de software existente.

 Principios de desarrollo de código bajo de IA 

      Los principios del desarrollo low-code también se corresponden con los principios del desarrollo ágil, que se explican desde cuatro aspectos: entrega del proyecto, comunicación y cooperación, implementación del proyecto y mejora continua. En el desarrollo de código bajo de IA, los desarrolladores usan herramientas y profundizan en los escenarios comerciales para pensar en la forma de los usuarios, en lugar de solo servir a los usuarios, por lo que nuestras estrategias e ideas también han cambiado en consecuencia.

 proyecto de entrega 

① Desarrollo ágil: nuestro objetivo más importante es satisfacer a los clientes a través de la entrega temprana continua de software valioso.

① Desarrollo de código bajo de IA: nuestro objetivo más importante es entregar rápidamente software valioso y poder mejorar continuamente rápidamente para satisfacer a los clientes.


② Desarrollo ágil: afronta con gusto los cambios en los requisitos, incluso en las últimas etapas de desarrollo. Bueno para controlar los cambios y ayudar a los clientes a obtener una ventaja competitiva.

② Desarrollo de código bajo de IA: en cualquier etapa de desarrollo y uso de software, está dispuesto a enfrentar cambios en los requisitos y aumentar la capacidad predictiva de los sistemas de software para ayudar a los clientes a obtener una ventaja competitiva.


③ Desarrollo ágil: entregue software que funcione con frecuencia, con unas pocas semanas o uno o dos meses de diferencia, y tiende a tomar un ciclo más corto.

③ Desarrollo de código bajo de IA: mediante el uso de herramientas de desarrollo de código bajo, entregue rápidamente software funcional y garantice la legibilidad del código y el diseño.


 comunicación y cooperación 

④ Desarrollo ágil: los empresarios y los desarrolladores deben cooperar entre sí, todos los días en el proyecto no es una excepción.

④  Desarrollo de código bajo de IA: los programadores de negocios pueden usar IA para comprender los negocios o cooperar con el personal comercial.


⑤ Desarrollo ágil: Estimular el espíritu de lucha de los individuos y construir proyectos con ellos como núcleo. Proporcionar el entorno y el apoyo que necesitan, respaldados por la confianza, para lograr sus objetivos.

⑤ Desarrollo de código bajo de IA: cree proyectos con herramientas de desarrollo de código bajo de IA como núcleo, estimule el espíritu de lucha de las personas, bríndeles un entorno y apoyo consistentes, complementados con confianza, para lograr sus objetivos.


⑥Desarrollo ágil  : No importa dentro o fuera del equipo, la mejor y más eficiente forma de transmitir información es la conversación cara a cara.

⑥ Desarrollo de código bajo de IA: use una plataforma unificada de diseño y desarrollo para garantizar la consistencia de la comprensión del conocimiento del dominio y comuníquese cara a cara tanto como sea posible cuando haya diferencias en la comprensión conceptual.


 Implementación de proyectos y promoción de proyectos. 

⑦ Desarrollo ágil: el software funcional es la principal medida de progreso.

⑦  Desarrollo de código bajo de IA: el software que funciona y el código claro y legible son las métricas principales para el progreso.


⑧ Desarrollo ágil: El proceso ágil aboga por el desarrollo sostenible. Los propietarios, desarrolladores y usuarios deben poder trabajar juntos para mantener el ritmo.

⑧ Desarrollo de código bajo de IA: el proceso de código bajo aboga por un desarrollo rápido sostenible. Los propietarios, los programadores de negocios y los usuarios deben poder trabajar juntos para mantener el ritmo constante.


⑨ Desarrollo ágil: perseverar en la búsqueda de la excelencia técnica y el buen diseño mejorará la agilidad.

⑨  Desarrollo de código bajo de IA: perseverar en la búsqueda de la excelencia técnica, el buen diseño y el código legible para mejorar las capacidades de desarrollo de código bajo.


Mejora continua de proyectos y equipos

⑩Desarrollo ágil  : el arte de reducir la carga de trabajo innecesaria basada en la simplicidad.

⑩ Desarrollo de código bajo de IA: haga uso de las capacidades de los modelos grandes de IA tanto como sea posible e intente reducir la carga de trabajo innecesaria.


⑪ Desarrollo ágil: las mejores arquitecturas, requisitos y diseños provienen de equipos autoorganizados.

⑪ Desarrollo de código bajo de IA: la mejor arquitectura, requisitos y diseño provienen no solo de un equipo autoorganizado, sino también de una buena plataforma de desarrollo y modelo de IA.


⑫Desarrollo ágil  : el equipo reflexiona periódicamente sobre cómo mejorar la eficacia y ajusta su comportamiento en consecuencia.

⑫ Desarrollo de código bajo de IA: el equipo reflexiona regularmente sobre cómo mejorar el rendimiento y las capacidades de IA, y ajusta su propio comportamiento en consecuencia.


 Una nueva revolución de la ingeniería de software 

      El surgimiento del código bajo de IA es el resultado de la acumulación continua en el campo de la programación, y es una tendencia inevitable del cambio cuantitativo al cambio cualitativo. El código bajo de IA es equivalente a la línea de producción automatizada en la industria manufacturera para el desarrollo de software.Ya no dependerá de las personas, sino de un sistema estándar de desarrollo rápido sostenible. Este no es solo un marco técnico, sino también una nueva idea de ingeniería de software, una reflexión sobre los propios métodos de programación de los programadores y un nuevo marco técnico para liberar aún más la productividad, que cambiará profundamente el desarrollo y la práctica de los sistemas de software.

      El desarrollo low-code de IA es una nueva abstracción después de la orientación a procesos y la orientación a objetos. Utiliza componentes y modelos maduros y eficientes para completar rápidamente la construcción e implementación de sistemas de software tanto desde el nivel técnico como empresarial.

      El desarrollo de código bajo de IA es un nuevo método de desarrollo después del desarrollo en cascada y el desarrollo ágil. Utiliza código altamente legible y una comprensión profunda del negocio para realizar una iteración rápida de funciones y lograr el éxito continuo para los clientes .

 posdata 

      Lo más indispensable en la industria de TI son los conceptos.Algunos de estos conceptos son efímeros y otros representan una era. AIGC y el código bajo son, sin duda, conceptos candentes. Personalmente, creo que código bajo es una buena palabra rara en el campo del desarrollo de software durante muchos años. Bajo no es solo menos, al igual que micro no es solo pequeño, es un estado de cosas muy importante. implementación bajo la lógica empresarial, y también se puede entender Es la encarnación de la estratificación y la división del trabajo. Low-code es fundamentalmente diferente de no-code y no se puede comparar. Uno es para programadores profesionales, que es una nueva idea de ingeniería de software y un modelo de desarrollo; el otro es para usuarios, y el método de configuración visual es una extensión del software maduro. Además, la IA, como la tecnología más deslumbrante de la actualidad, inevitablemente producirá más géneros diferentes en el campo del desarrollo de código bajo, por lo que citaré el "Prefacio al Pabellón del Rey Teng" de Wang Bo:

Atrévete a ser despectivo, respetuoso y parco, y citas cortas, cada palabra es igual, y las cuatro rimas están completas. Rocíe el río Panjiang, cada uno vertiendo en la tierra y el mar.

Enlace del artículo del autor:

El núcleo del manifiesto de desarrollo de código bajo de IA: la granularidad de la programación

Manifiesto del proceso de desarrollo de código bajo de IA: ingeniería de software

La legibilidad del código es la clave para el desarrollo de código bajo de IA

Diseño de sistema de componentes de desarrollo orientado a AIGC

Incluso los programadores más poderosos tienen estos tres puntos débiles, pero no es así.

Compare a partir de cinco dimensiones: código, sin código, código bajo, código de solicitud de IA, código bajo de IA

¿La IA está escribiendo código para humanos o está escribiendo código para sí misma?

Original | Autor | Xue Dan, Doctor de la Universidad Nacional de Tecnología de Defensa, programador senior. Todos los derechos reservados, las reimpresiones deben ser contactadas para autorización e indicar la fuente.

Supongo que te gusta

Origin blog.csdn.net/xuedan1086/article/details/130743768
Recomendado
Clasificación