Un chatbot responde preguntas. Un agente toma acciones. Deblo es un agente.
Cuando un estudiante envia "Aide-moi a preparer mon devoir de maths sur les fractions," la IA no solo genera texto. Puede generar un quiz interactivo, otorgar creditos de bonificacion por respuestas correctas, rastrear resultados de ejercicios, y generar un resumen en PDF. Cuando un contador profesional dice "Genere-moi le bilan SYSCOHADA pour cette entreprise et envoie-le par e-mail," la IA busca en la web, genera una hoja de calculo Excel, la convierte a PDF, y envia ambos archivos por email -- todo en un solo turno de conversacion.
Este es el bucle agentivo. El LLM piensa, decide que herramientas llamar, las ejecuta, lee los resultados, piensa de nuevo, y repite -- hasta 10 iteraciones por mensaje de usuario.
Las 24 herramientas
Generacion de archivos (6): generate_xlsx, generate_pdf, generate_pptx, generate_docx, generate_html, generate_md
Comunicacion (4): send_email_to_user, draft_email, send_sms_to_user, send_whatsapp_to_user
Archivos y memoria (4): list_user_files, read_user_file, search_user_files, save_memory
Ejecucion de codigo (1): bash_execute
Acceso web (2): web_search, browse_url
Pedagogia (2): interactive_quiz, true_false_quiz
Recompensas (2): award_bonus_credits, report_exercise_result
Gestion de tareas (1): create_task
Facturacion (1): buy_credits
Reportes (1): report_bug
Truncamiento de resultados de herramientas
El desbordamiento de contexto es el asesino silencioso de los sistemas agentivos. Cada resultado de herramienta se trunca antes de anadirlo al historial de mensajes:
pythondef _truncate_tool_result(name: str, result: dict) -> dict:
_MAX_BROWSE = 8_000 # ~2,000 tokens
_MAX_SEARCH_ITEM = 1_500 # ~375 tokens per result x 5 results max
_MAX_BASH = 4_000 # ~1,000 tokens
_MAX_FILE = 8_000 # ~2,000 tokensTareas en segundo plano
Para cadenas de herramientas que toman mas de 180 segundos, el sistema genera un GenerationJob con tareas asyncio desacopladas y seguimiento de progreso via Redis, con un timeout de 30 minutos.
Esta es la Parte 3 de una serie de 12 partes sobre la construccion de Deblo.ai.