Ha estado en todas las noticias y si aún no has oído hablar de ello, es momento de echar un vistazo a ChatGPT de OpenAI. Es una herramienta increíblemente poderosa que funciona con Inteligencia Artificial. El concepto es que puedes preguntarle casi cualquier cosa o darle cualquier tarea y, hipotéticamente, respondería con la respuesta correcta o completaría la tarea por ti. Por ejemplo, la gente lo utiliza para escribir discursos, componer correos electrónicos, investigar temas o incluso escribir código. Aunque el modelo está lejos de ser perfecto, sigue siendo muy impresionante y contiene mucha buena información. Nuestro propio Mark Harris recientemente me demostró esta capacidad con un simple script que controla un instrumento para pruebas automatizadas. Decidí adentrarme en este mundo y experimentar con ChatGPT y las pruebas automatizadas. En este artículo, vamos a explicar cómo empezar con ChatGPT, aprender cómo hacerle preguntas y, lo más importante, entender cuáles son las preguntas correctas que se necesitan para lograr los resultados que estás buscando.
Antes de sumergirte, querrás familiarizarte con ChatGPT y lo que tiene para ofrecer. Primero navega a chat.openai.com y regístrate o inicia sesión con una cuenta. En el momento de escribir este artículo, la herramienta se ofrecía de forma gratuita, así que deberías poder empezar de inmediato. Comienza con preguntas básicas como “¿cuánto es 1 + 1?” o “¿de qué color es el cielo?” Después de eso, puedes comenzar a asignarle tareas como componer un ensayo, redactar un correo electrónico o escribir una función simple en software. La interfaz es limpia y sencilla, solo escribe en el cuadro de mensaje en la parte inferior como si enviaras cualquier mensaje y haz clic en enviar (o presiona enter).
Una vez que te sientas cómodo teniendo una conversación con ChatGPT, puedes comenzar a experimentar con hacer que genere código para ti. Solicitudes básicas como "escribe una función en C para sumar dos números" es una tarea trivial que puede manejar fácilmente. Comienza a complicarse una vez que agregas más detalles a la solicitud. Me gusta tener todo mi código bien organizado en clases pequeñas y ordenadas, así que le digo explícitamente a ChatGPT que cree una clase que haga algo por mí. Aquí hay un ejemplo:
También notarás que le pedí que generara pruebas para mí usando Pytest. Manejó esta solicitud también, pero, desafortunadamente, el código tenía un montón de errores que fueron algo desafiantes de arreglar. Aún así, fue un gran proceso para ver cómo estructuraba el código y las pruebas unitarias. Ciertamente, aprendí una o dos cosas al verlo generar código de una manera que yo no habría hecho por mí mismo.
Un enfoque descrito anteriormente es tener a la IA entregándote la herramienta (es decir, la biblioteca de software) para que puedas construir el producto (es decir, el script de prueba). Otro enfoque es darle a ChatGPT especificaciones de prueba específicas y hacer que genere el código por ti. Esto es excelente para generar scripts de prueba rápidos y sucios para empezar antes de necesitar ajustar tu configuración y casos de prueba. Veamos un ejemplo.
He proporcionado el siguiente conjunto de instrucciones, muy simple, a ChatGPT para probar un convertidor de potencia conmutado:
Escríbeme un script en Python usando Pytest para realizar lo siguiente:
1. Encender una fuente de alimentación Rigol DP832 y configurarla a 5V y 2A en el canal 1
2. Encender una carga electrónica Rigol DL3021 y configurar la carga a 1.5A de corriente constante durante 3 minutos
3. Apagar el DP832 y el DL3021
No he incorporado pruebas específicas en este caso. Todo lo que quiero hacer es observar que mi convertidor DC-DC puede manejar una carga de 1.5A durante 3 minutos. El código generado fue bastante decente, pero de vez en cuando aparecían errores que lo hacían un poco desafiante de corregir. También puedes decirle a ChatGPT que incorpore afirmaciones específicas o pruebe fallos específicos, pero yo solo estaba interesado en probar lo básico con la aplicación de IA. Además, incluso puedes solicitarle que te escriba una clase de prueba (con o sin simulaciones) para validar el código. De nuevo, no todo estaba perfectamente alineado. Tuve que masajear el código en sí y la clase de prueba para que funcionara perfectamente.
En resumen, la experimentación con ChatGPT fue una buena experiencia. Fue agradable tener un “agregador” para juntar algunos conceptos en código sin tener que hacer el trabajo manual o buscar en la web ejemplos. Aunque no es perfecto, fue útil y divertido experimentar con él. Después de revisar este artículo, deberías tener un entendimiento decente sobre cómo:
Te animo encarecidamente a que lo compruebes y ejecutes los ejemplos que he proporcionado en este artículo o pruebes algunos de los tuyos. Ten en cuenta que ChatGPT todavía está, técnicamente, en beta, así que no tengas expectativas demasiado altas. Sé paciente y asegúrate de decirle cuando cometa errores para que pueda "aprender" de sus equivocaciones. ¡Feliz programación!