Ejercicio de Python: Introducción a Kiro (Agentes Autónomos con LLM)
Objetivo
Explorar el concepto de agentes autónomos basados en modelos de lenguaje
(como Kiro) y construir una versión simplificada en Python que simule su
comportamiento.
¿Qué es Kiro?
Kiro es un enfoque de agente que combina:
• Un modelo de lenguaje (LLM) para razonar
• Herramientas externas (APIs, código, etc.)
• Capacidad de planificar y ejecutar tareas
Este tipo de agente no solo responde, sino que:
1. Entiende un objetivo
2. Genera un plan
3. Ejecuta acciones
4. Evalúa resultados
Enunciado
Vas a crear un agente simplificado llamado KiroMini que:
• Recibe un objetivo en texto
• Decide qué acción tomar
• Ejecuta una función simulada
• Devuelve el resultado
Paso 1: Implementación básica
Crea un archivo [Link]:
class KiroMini:
def __init__(self):
[Link] = []
def planificar(self, objetivo):
if "suma" in objetivo:
return "usar_calculadora"
elif "saludo" in objetivo:
return "saludar"
else:
return "desconocido"
def ejecutar(self, accion, datos=None):
if accion == "usar_calculadora":
return sum(datos)
elif accion == "saludar":
return "Hola! ¿Cómo estás?"
else:
return "No puedo realizar esta acción"
def run(self, objetivo, datos=None):
accion = [Link](objetivo)
resultado = [Link](accion, datos)
[Link]((objetivo, accion, resultado))
return resultado
Paso 2: Tests unitarios
Crea un archivo test_kiro.py:
import unittest
from kiro import KiroMini
class TestKiroMini([Link]):
def setUp(self):
[Link] = KiroMini()
def test_suma(self):
resultado = [Link]("haz una suma", [1, 2, 3])
[Link](resultado, 6)
def test_saludo(self):
resultado = [Link]("quiero un saludo")
[Link](resultado, "Hola! ¿Cómo estás?")
def test_desconocido(self):
resultado = [Link]("haz algo raro")
[Link](resultado, "No puedo realizar esta acción")
def test_historial(self):
[Link]("haz una suma", [1, 2])
[Link](len([Link]), 1)
if __name__ == "__main__":
[Link]()
Paso 3: Ejecutar los tests
python -m unittest test_kiro.py
Conceptos clave que estás practicando
• Agentes autónomos
• Separación entre:
o planificación
o ejecución
• Uso de memoria (historial)
• Testing de comportamiento dinámico
Ejercicios adicionales
1. Añade nuevas acciones:
o búsqueda (simulada)
o conversión de texto
2. Mejora el planificador usando palabras clave más complejas.
3. Añade manejo de errores (por ejemplo, datos inválidos).
4. Haz que el agente reintente si falla una acción.
5. Simula una llamada a API externa.
Extensión (nivel intermedio)
Convierte KiroMini en un agente que:
• Genere múltiples pasos (plan en lista)
• Ejecute paso a paso
• Evalúe si el objetivo se ha cumplido