Unidad 12 / 12

Herramientas de codificación de IA e integración de flujo de trabajo

Ganancias:

  • Capacidad para asignar categorías de finalización del editor, asistente de chat, agente CLI y automatización de CI a tareas
  • Capacidad para ajustar el nivel de autonomía según el riesgo y aplicar la disciplina de "planificar primero" a los agentes CLI
  • Capacidad para transformar el uso de la IA en un sistema de equipo basado en una herramienta validada, puerta de verificación, transparencia y rendición de cuentas.

Hasta ahora hemos aprendido a utilizar la IA en tareas individuales (codificación, revisión, prueba, depuración). En esta unidad final, juntamos las piezas: conocemos diferentes herramientas de codificación de IA, combinamos la herramienta adecuada con el trabajo correcto e las integramos de forma segura en su flujo de desarrollo diario, desde el editor hasta el control de versiones, desde el proceso de CI/CD hasta el gobierno del equipo. El objetivo es convertir el desordenado hábito de “preguntar a la IA de vez en cuando” en un sistema de trabajo consistente y auditable.

Cubrimos tipos de vehículos con categorías neutrales (los nombres de productos específicos cambian rápidamente; lo que importa es lo que hace la categoría). Cada categoría tiene un “punto óptimo” y un perfil de riesgo; Maestría es saber cuánta autonomía darle a cada tarea.

Categorías de herramientas de codificación de IA

1. Finalización en el editor. Complementos que sugieren líneas/bloques a medida que escribe en su IDE (el entorno de desarrollo donde escribe el código). Punto ideal: velocidad en el flujo, código repetitivo. Riesgo: contexto estrecho, aceptar la sugerencia sin pensar.

2. Asistente de chat/panel lateral. Interfaz de chat integrada en el IDE con visibilidad de parte de su código base. Punto óptimo: descripción, refactorización, pruebas, análisis de errores. Riesgo: limitado al contexto que proporcionas, requiere verificación.

3. Agentes CLI (herramientas de agente). Las herramientas que se ejecutan desde la línea de comandos pueden leer y modificar varios archivos, ejecutar comandos y ejecutar tareas de varios pasos por sí solas. Punto óptimo: cambios en varios archivos, tareas repetitivas, trabajos del tipo "agregar esta propiedad". Riesgo: alta autonomía = alto impacto; Si no se controla, produce cambios amplios y difíciles de verificar.

4. Integración línea/automatización. Bots de CI (integración continua) que dejan comentarios de revisión automática en las relaciones públicas, sugieren pruebas o producen registros de cambios. Punto dulce: primer colador sin fatiga, consistencia. Riesgo: ruido, falsa confianza.

Sugerencia: a medida que aumenta la autonomía, el control también debería aumentar. Debido a que la finalización del editor es pequeña e instantánea, se supervisa ligeramente; La modificación de múltiples archivos de un agente CLI debe examinarse igual o más cuidadosamente que un PR humano.

Paso a paso: incorporar IA en el flujo de trabajo

  1. Asigne la tarea a la herramienta. Pequeña adición en la corriente → finalización; entender/refactorizar/probar → chatear; trabajo repetitivo de varios archivos → agente CLI; primer filtro continuo → integración CI.
  2. Elige el nivel de autonomía. ¿Cuánta libertad tiene el agente? ¿Sugerencia de solo lectura o modificación de archivo + ejecución de comando? Ajustar según el riesgo.
  3. Nutre el contexto. Introducir permanentemente reglas del proyecto (estilo, arquitectura, "no hacer") en la herramienta; Utilice un archivo de instrucciones del proyecto en lugar de explicarlo una y otra vez.
  4. Mantener puertas de verificación. El cambio de la IA es como el cambio humano: pasa por la compilación, las pruebas, la revisión y (si es crítico) la aprobación de los expertos. La apertura de relaciones públicas de IA no pasa por alto la aprobación.
  5. Mida y ajuste. Observa lo que realmente se acelera, dónde aumenta la carga de corrección; Elimine los usos que no funcionan.

Tres mini estuches

Caso 1: el agente CLI manejó el cambio de nombre de varios archivos. Un equipo cambiaría el nombre de un concepto distribuido en 60 archivos. Le dieron la tarea a un agente de CLI, primero solicitaron un plan, lo aprobaron, luego hicieron el cambio y ejecutaron todo el conjunto de pruebas. El agente 3 pasó por alto un caso extremo en el archivo; Las pruebas lo detectaron y lo arreglaron. El trabajo, que tomó aproximadamente 3 horas manualmente, se completó en 50 minutos con supervisión.

Caso 2: La autonomía sin control resultó contraproducente. Otro desarrollador le dijo a un agente que "mejorara este módulo" y lo lanzó; El agente modificó 18 archivos y agregó dos dependencias. El cambio fue tan amplio que no pudo revisarse y tuvo que retirarse. Lección: dé a los agentes un alcance limitado, criterios de aceptación claros y una disciplina de "primero planificar, después hacer".

Caso 3: el bot de revisión de CI se convirtió en el primer filtro. Un equipo creó un bot que deja comentarios de revisión automatizados de IA sobre los RP. Una vez que el robot detectó omisiones en los controles nulos y problemas de estilo, los revisores humanos pudieron dedicar su tiempo a la lógica empresarial. Sin embargo, el equipo dejó claro que el robot no proporcionaba "aprobación": todavía se necesitaba al menos una aprobación humana. Para reducir el ruido, ajustaron el barco para que solo dejara ruido de intensidad alta/media.

Cuatro plantillas copiables

Disciplina "Planificar primero" para el agente CLI:

Tarea: {{tarea clara y limitada}}Criterios de aceptación: {{resultado medible}}Restricción: trabajar solo en {{el siguiente directorio/archivos}}; agregando una nueva dependencia. Primero presente un plan SIN CAMBIOS: qué archivos, qué cambiará, qué pruebas ejecutar. Espere a que APRUEBE el plan. Luego aplíquelo paso a paso, realizando pruebas en cada paso.

Archivo de instrucciones del proyecto (contexto persistente para las herramientas):

Reglas persistentes para las herramientas de IA en este proyecto: - Idioma/versión: {{...}}. Estilo: {{...}}.- Restricción arquitectónica: {{p.ej. dirección entre capas}}.- NUNCA: incrustar secretos, usar datos de producción, {{bibliotecas prohibidas}}.- Cada cambio debe ser comprobable; Cambiar la firma de la API pública SIN preguntar. - Ante la duda, detente y pregunta.

Decisión de mapeo de tarea-herramienta:

Defino la siguiente tarea: {{tarea}}. ¿Con qué clase de herramientas debería hacer esto: (a) finalización del editor, (b) asistente de chat, (c) agente CLI, (d) automatización de CI? Escribe tu justificación, riesgo y nivel de autonomía recomendado (mera sugerencia/cambiar archivo/ejecutar comando).

Código de conducta del bot de revisión de CI:

Deje solo los hallazgos de gravedad ALTA y MEDIA como comentarios en la revisión de relaciones públicas. Cada hallazgo: categoría, gravedad, corrección sugerida. Recopile notas en el nivel de preferencia de estilo en un comentario de resumen único e independiente. Usted NO CONSIENTE; Se requiere aprobación humana.

Aviso débil / Aviso fuerte

Débil: (al agente CLI) "Mejorar el módulo de pago".
Fuerte: (Al agente CLI) "Ejecutar solo bajo src/pagos/. Tarea: Extraer la lógica de validación recursiva de la función reembolso() en un único asistente; el comportamiento y las firmas no cambian. Primero presente el plan y espere mi aprobación; luego ejecute y ejecute las pruebas/pagos/paquete. Agregue una nueva dependencia".

La versión fuerte reduce el alcance, establece criterios y restricciones de aceptación e impone la disciplina de "planificar primero". Las vagas demandas de “hacer mejor” son la causa fundamental de cambios vastos e incontrolables.

clase de vehículo

En qué es mejor

autonomía

peso de inspección

Finalización del editor

Pequeña adición en la corriente

bajo

Luz (lectura instantánea)

asistente de chat

Comprender, probar, refactorizar

medio

Medio (verificación de salida)

Agente CLI

Varios archivos, recursivo

alto

Pesado (plan + revisión completa)

Automatización de CI

Primer filtro continuo

medio

Medio (regla + aprobación humana)

Gobernanza del equipo: de la habilidad individual al sistema compartido

Usar bien la IA de forma individual es un comienzo; La verdadera madurez es un sistema consistente a nivel de equipo. Este sistema se basa en varios pilares: lista de herramientas aprobadas (qué herramientas se pueden usar con qué datos, de la unidad 10), puertas de verificación (el cambio de IA pasa por las mismas puertas de construcción/prueba/revisión, de la unidad 11), transparencia (declarar que un cambio está impulsado por IA proporciona trazabilidad cuando sea necesario) y claridad de responsabilidad (la persona que aprueba y es responsable es clara). Este marco limita el riesgo manteniendo la velocidad y garantiza que los nuevos miembros del equipo trabajen con la misma disciplina.

Precaución: Cuanto mayor sea la autonomía de una herramienta (especialmente los agentes CLI que pueden modificar archivos y ejecutar comandos), más estrictamente se limitará su acceso al entorno de producción, a datos confidenciales y a operaciones difíciles de revertir. Vincule los comandos destructivos (eliminación permanente, implementación) con la aprobación humana.

Errores comunes

  • Tarea significa incompatibilidad. Intentar realizar un trabajo de varios archivos con la finalización del editor o un pequeño archivo adjunto con un agente pesado.
  • Liberando al agente. Las tareas de los agentes asignadas con un alcance limitado y sin un “plan primero” producen cambios no examinados.
  • Aflojando las puertas de verificación para la IA. "La IA lo hizo, avancemos rápido" es la excepción más peligrosa; Las puertas son iguales para todos.
  • Dar el contexto manualmente cada vez. No escribir las reglas del proyecto en un archivo de instrucciones permanente produce inconsistencia y duplicación.
  • Confundir la aprobación del robot CI con la aprobación humana. Un bot es un filtro; La aprobación humana responsable es obligatoria.

En resumen

Las herramientas de codificación de IA se dividen en cuatro categorías principales: finalización del editor, asistente de chat, agentes CLI y automatización de CI. El dominio es hacer coincidir la tarea con la herramienta adecuada y el nivel adecuado de autonomía; A medida que aumenta la autonomía, también aumenta el control. Ofrezca a las herramientas un contexto de proyecto persistente, imponga una disciplina de "planificar primero" a los agentes de múltiples archivos y pase el cambio de IA a través de las mismas puertas de verificación que el cambio humano. Habilidad individual; Transfórmelo en un sistema de equipo basado en una lista de herramientas aprobadas, puertas de verificación, transparencia y claridad de responsabilidad. La IA es un multiplicador de velocidad de un extremo a otro; La persona que firma y da cuenta es siempre una persona competente.

Tarea de aplicación

Enumera tres tareas reales que realizarás la próxima semana. Utilice la plantilla de “decisión de coincidencia de tarea y vehículo” para cada uno de ellos para justificar qué clase de vehículo y qué nivel de autonomía elegirá. Luego, ejecute una tarea específica para un agente CLI (o asistente de chat) con una disciplina de "planificar primero": aprobar el plan, aplicarlo, ejecutar las pruebas y revisar el cambio como un RP humano. Finalmente, redacta una “regla de uso de IA” de cinco puntos para tu equipo (herramientas aprobadas, regla de datos, puerta de verificación, límite de autonomía, responsabilidad).

lista de verificación

  • [] Puedo distinguir entre las categorías de herramientas de codificación de IA y el punto óptimo de cada una.
  • [] Asigno la tarea a la clase de vehículo correcta y al nivel de autonomía apropiado.
  • [] Doy contexto permanente del proyecto (archivo de instrucciones) a las herramientas.
  • [] Aplico un alcance limitado y una disciplina de "planificar primero" a los agentes CLI.
  • [] Paso los cambios de IA a través de las mismas puertas de verificación que los cambios humanos.
  • [ ] Abogo por una herramienta validada, una regla de datos, un marco de transparencia y rendición de cuentas a nivel de equipo.

Examen del módulo

1. ¿Qué hace realmente el modelo de lenguaje grande subyacente de un asistente de codificación cuando produce código?

  • A) Predice de forma pauta la continuación más probable según el contexto dado ✔
  • B) Garantiza el resultado correcto al compilar y ejecutar el código.
  • C) Escanea el código en Internet en vivo y copia el más preciso.
  • D) Entiende la lógica del código como un ingeniero humano y comprende la intención.

Aclaración: LLM no "entiende" el código como un humano; Genera la continuación más probable del contexto dado, basándose en patrones que aprende de una gran cantidad de texto y código. Por lo tanto, la calidad del resultado depende directamente de la calidad del contexto y la instrucción que usted brinda, y cada resultado debe ser validado.

2. ¿Cómo se llama cuando la IA inventa de manera convincente una función o biblioteca inexistente y cuál es el único antídoto real?

  • A) Esto se llama error de compilación; El antídoto es un equipo más potente.
  • B) Esto se llama alucinación; El antídoto es verificar el código y cada API utilizada ✔
  • C) Esto se llama regresión; El antídoto es reiniciar el modelo.
  • D) Esto se llama desbordamiento de contexto; El antídoto es acortar el aviso.

Descripción: Esto se llama alucinación y causa uno de los errores de software más costosos. El único antídoto real es la verificación: confirmar que cada función, API y paquete utilizado realmente existe y que el código funciona. El tono confiado del modelo no es prueba de exactitud.

3. ¿Qué enfoque mejora más la calidad y la coherencia de la producción al generar código con IA?

  • A) Liberar el modelo diciendo 'escríbeme esto' sin dar ningún contexto
  • B) Escribir el mensaje más largo y sofisticado posible
  • C) Especificar y dar ejemplos de contrato de entrada/salida, casos extremos, versión y estilo ✔
  • D) Combinar el código generado directamente sin leerlo

Explicación: Determinar los tipos de entrada/salida (contrato) de la función, los casos extremos, el idioma/versión y las restricciones de estilo y dar un ejemplo al modelo permite la transición de la predicción a la precisión. Las solicitudes "escríbeme esto" sin contexto producen código que es diferente cada vez y a menudo pasa por alto los casos extremos.

4. Al explorar una base de código extranjera con IA, el nombre de una función puede ser "validateAndSave", pero el resumen de IA puede ser incorrecto. ¿Cuál es el enfoque correcto?

  • A) Confianza total en el resumen de IA ya que el nombre se explica por sí mismo
  • B) Cambiar la función directamente sin leerla
  • C) Decidir con solo mirar el nombre de la función
  • D) Trate la descripción de la IA como una hipótesis y verifique las afirmaciones críticas línea por línea en el código ✔

Explicación: La IA puede mirar el nombre en el código y decirle "qué parece que está haciendo", pero en realidad la lógica puede ser diferente (o incluso invertida). Entonces la explicación de la IA es una hipótesis; Las afirmaciones críticas, especialmente aquellas que involucran seguridad, autoridad o flujo de dinero, deben verificarse visualmente en las líneas correspondientes.

5. ¿Cuál es el mayor peligro al decir "La IA lo miró, está claro" en la revisión de código asistida por IA?

  • A) La IA puede producir falsos negativos; Los errores reales perdidos crean una falsa confianza ✔
  • B) La revisión de la IA es demasiado lenta, por lo que es una pérdida de tiempo
  • C) El equipo no entiende porque la IA solo comenta en inglés
  • D) Las relaciones públicas no convergen porque la IA siempre sobreinterpreta

Explicación: La IA produce falsos positivos (señalar un problema donde no existe) y falsos negativos (perder el error real). Los falsos negativos guardan silencio; Los errores más peligrosos son aquellos que no se mencionan en absoluto en la revisión. Entonces la IA es un primer filtro, no una aprobación; La decisión de fusionarse corresponde a una persona responsable.

6. ¿Cuál es la trampa más insidiosa que ocurre cuando simplemente le das el código a la IA e imprimes las pruebas?

  • A) La IA siempre escribe demasiadas pruebas e infla el código base
  • B) La IA prueba el comportamiento actual (tal vez incorrecto) del código como "correcto" y corrige el error ✔
  • C) La IA elimina automáticamente el código al escribir pruebas
  • D) La IA escribe pruebas no solo para el camino feliz sino siempre para el caso límite

Explicación: La IA tiende a mirar el código y escribir afirmaciones que prueban el comportamiento actual. Si el código es incorrecto desde el principio, la IA corrige este comportamiento incorrecto como "correcto". Por lo tanto, las expectativas de la prueba deben escribirse de acuerdo con la regla (especificación) requerida, no de acuerdo con el resultado actual del código.

7. ¿Qué es lo que más determina la precisión de las hipótesis al depurar un error con IA?

  • A) Con qué cortesía está escrita la indicación.
  • B) ¿Cuántas veces se volvió a formular la pregunta?
  • C) Calidad de la evidencia proporcionada al modelo: mensaje de error completo, seguimiento de la pila, entrada y comportamiento esperado ✔
  • D) ¿En qué tema de color está escrito el código?

Explicación: La IA no ve el error como usted; Él sólo conoce las pruebas que le das. Dado el mensaje de error completo, el seguimiento de la pila, la entrada desencadenante y el comportamiento esperado, el modelo enumera las posibilidades reales; Si no hay pruebas, hace una suposición (alucinación) y le lleva por el camino equivocado.

8. ¿Cuál es el paso más crítico antes de entregar los registros de producción a la IA para su análisis?

  • A) Pegar el tronco tal cual, cubriendo todo el día.
  • B) Convertir el registro a mayúsculas primero
  • C) Organizar las líneas de registro en orden alfabético
  • D) Enmascarar datos y secretos personales y mostrar solo la ventana correspondiente ✔

Descripción: Los registros de producción sin procesar contienen IP, correo electrónico, ID de sesión, token y, a veces, secreto a voces. Insertarlos en una herramienta de inteligencia artificial sin enmascararlos es una grave violación de la privacidad. Además, el registro debe filtrarse a una ventana de tiempo estrecha; Pero la primera necesidad es limpiar los datos confidenciales.

9. ¿Qué se debe hacer si la IA dice que dos eventos ocurrieron "simultáneamente" en el análisis de registros y declara uno como la causa raíz?

  • A) Ignorar la correlación como causalidad y verificar el reclamo con métricas y código ✔
  • B) Aceptar la causa como definitiva porque la IA establece una relación temporal
  • C) Reiniciar inmediatamente el primer componente acusado
  • D) Eliminar los registros por completo y recopilarlos nuevamente.

Explicación: El error más común en el análisis de registros es confundir la correlación con la causalidad. La relación temporal establecida por la IA es una pista, no una evidencia. La verdadera causalidad requiere oportunidad, mecanismo y, si es posible, repetibilidad; El reclamo debe ser validado con métricas y código.

10. ¿Cuál es la regla de oro innegociable al refactorizar con IA y qué la protege?

  • A) El código debería ser más corto; El número de líneas lo garantiza.
  • B) Ningún cambio de comportamiento; las pruebas que capturan el comportamiento actual garantizan esto ✔
  • C) El código contiene más comentarios; La IA lo garantiza
  • D) Reescribir todo el archivo de una vez; el agente garantiza esto

Explicación: Refactorizar es mejorar la estructura interna del código sin cambiar su comportamiento externo; La regla de oro es que el comportamiento permanece constante. Lo que garantiza esto son las pruebas: una red de prueba que captura el comportamiento actual antes de cambiarlo se configura y ejecuta después de cada paso. Refactorizar sin una red de prueba es una apuesta.

11. ¿Cuál es el nivel de la producción de documentación que la IA no puede conocer y es peligroso recuperar?

  • A) Cómo ejecutar los pasos de instalación
  • B) Lista de parámetros de una función
  • C) Justificación de "por qué" se tomó de esa manera una decisión de diseño ✔
  • D) ¿En qué idioma está escrito el código?

Descripción: la IA puede extraer la capa 'qué/cómo' (qué hace la función, cómo se configura) del código; pero no puede conocer la capa del "por qué" (el fundamento del diseño para una decisión, el motivo de un valor límite). Una "razón" inventada es más peligrosa que ninguna justificación; El propietario del código debe agregar esta capa.

12. ¿Qué debe hacer un desarrollador si quiere pegar un archivo de configuración que contiene una clave API activa en una herramienta de IA no aprobada mientras resuelve un error urgente?

  • A) Para mayor velocidad, pegue el archivo tal como está y luego elimine el chat.
  • B) Agregue una nota 'confidencial' al final del archivo y envíelo
  • C) Deje la clave y cambie solo el nombre del archivo.
  • D) Eliminar/enmascarar secretos y proporcionar solo el contexto no confidencial necesario ✔

Divulgación: Los secretos, los datos personales y los activos confidenciales nunca deben ingresarse por medios no aprobados; La urgencia no suspende esta línea roja. El enfoque correcto es extraer/enmascarar los secretos primero y proporcionar sólo el contexto necesario y no sensible. Si aún se filtra un secreto, lo primero que hay que hacer es girar esa llave inmediatamente.

13. Un código generado por IA pasa las pruebas y se ejecuta en producción. ¿Esto prueba que el código es seguro?

  • A) No; "Trabajar" no significa seguro, la seguridad requiere una capa separada de autenticación ✔
  • B) Sí; El código que pasa la prueba es seguro por definición
  • C) Sí; Ejecutarlo en producción elimina todas las vulnerabilidades.
  • D) No; pero la seguridad sólo importa si el código es lento

Aclaración: "Trabajar" no es lo mismo que "seguro". Incluso si el código contiene una vulnerabilidad como la inyección SQL, puede pasar las pruebas y ejecutarse sin problemas; La vulnerabilidad sólo se revela cuando un atacante la encuentra. Por lo tanto, además de la precisión, las revisiones y análisis orientados a la seguridad, como SAST, deben realizarse como una capa separada.

14. ¿Cuál es la disciplina más segura al asignar una tarea de varios archivos a un agente CLI (herramienta autónoma que puede modificar archivos y ejecutar comandos)?

  • A) Decirle al agente 'mejora este módulo' y darle total libertad
  • B) Dar un alcance limitado y criterios de aceptación, solicitar un plan primero, aprobarlo, implementarlo paso a paso y ejecutar las pruebas ✔
  • C) Fusionar directamente todos los cambios del agente sin revisarlos
  • D) Dar al agente acceso ilimitado al entorno de producción y a datos confidenciales.

Explicación: A medida que aumenta la autonomía, también debería aumentar el control. Darle al agente un alcance limitado y criterios de aceptación claros, primero solicitar un plan sin cambios, aprobar el plan, luego implementarlo paso a paso y ejecutar pruebas en cada paso; Evita cambios que son amplios, no revisables y que deben revertirse.

15. ¿Quién tiene la responsabilidad derivada del código generado por IA en software crítico para la seguridad (por ejemplo, pago o autenticación)?

  • A) Como el código proviene de AI, está en el proveedor del vehículo.
  • B) Si la IA está lo suficientemente desarrollada, nadie lo ha hecho; no es necesario verificar
  • C) El equipo/ingeniero que examina, ensambla y distribuye el código; La IA no reemplaza el consentimiento ✔
  • D) Sólo la persona que escribe el mensaje, no quienes lo revisan

Descripción: La IA es un multiplicador de velocidad y un generador de planos; no puede asumir la responsabilidad. La responsabilidad por cualquier error, vulnerabilidad o violación que surja del código en producción recae en el equipo que revisa, ensambla y distribuye ese código. En áreas críticas para la seguridad, la salida de IA no sustituye la revisión y aprobación por parte de un ingeniero calificado bajo ninguna circunstancia.