🏗️ De Bot de QA a Agente de Tareas: Una Guía de Arquitectura
TL;DR: Deja de construir chatbots que solo responden preguntas. Comienza a construir Agentes de Tareas que realmente trabajan.
Esta guía explica el cambio arquitectónico de bots de QA monolíticos a Agentes de Tareas utilizando Reglas Estáticas, Habilidades Dinámicas y Hooks Deterministas—con ejemplos de código concretos y referencias de código abierto.

1. El Cambio Central: Bot de QA → Agente de Tareas
La mayoría de los sistemas de IA actuales siguen siendo bots de QA rellenos de contexto:
• Responden bien a las preguntas
• Alucinan bajo presión
• Carecen de garantías en ejecución, seguridad y consistencia
💡 La clave: No escales el contexto. Estrutúralo.
2. La Arquitectura de Tres Capas
🧱 1. Contexto Estático — Reglas (Siempre Activo)
- •Modelo mental: Manual del empleado
- •Siempre cargado
- •Define identidad, estándares de código, restricciones de comportamiento
- •Previene alucinaciones y desviación de estilo
- •Pequeño, estable, editable por humanos
🛠️ 2. Contexto Dinámico — Habilidades (Bajo Demanda)
- •Modelo mental: Caja de herramientas
- •Cargado solo cuando se necesita
- •Cada habilidad es una capacidad autónoma
- •Mantiene limpia la ventana de contexto
⚓ 3. Hooks Deterministas — Guardarraíles
- •Modelo mental: Capa de Seguridad + Cumplimiento
- •No probabilístico
- •Se ejecuta antes / después del razonamiento del LLM
- •Impone reglas que nunca deben fallar
3. Estructura de Proyecto Recomendada
my-task-agent/ ├── .cursorrules ├── main.py ├── tools/ │ └── linear_mcp.py └── README.md
4. Ejemplo de Contexto Estático: .cursorrules
# ROL Eres un Ingeniero Senior de Python enfocado en sistemas listos para producción. # REGLAS - NUNCA uses print() para depuración - SIEMPRE añade type hints a las funciones - Propón un plan si tocas >3 archivos # COMPORTAMIENTO - Sé conciso - Haz preguntas de aclaración si es necesario Referencia: https://github.com/PatrickJS/awesome-cursorrules
5. Ejemplo de Habilidad Dinámica (MCP)
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("DevTools")
@mcp.tool()
def create_linear_ticket(title: str, priority: str = "low") -> str:
ticket_id = f"LIN-{hash(title) % 10000}"
return f"Ticket {ticket_id} creado con prioridad={priority}"
if __name__ == "__main__":
mcp.run()
Referencia: https://github.com/modelcontextprotocol/python-sdk6. Ejemplo de Hook Determinista
def compliance_check_hook(state):
user_input = state["messages"][-1].content.lower()
if "contraseña" in user_input or "api_key" in user_input:
return {"error": "Violación de seguridad detectada"}
return agent_node(state)
Referencia: https://langchain-ai.github.io/langgraph/Si tu agente solo responde preguntas, es un chatbot. Si ejecuta trabajo de manera confiable, es un Agente de Tareas.


