🤖

Agentes IA

👨‍🍳👑 Master Chef

Agentes IA Autónomos

Un agente = LLM + herramientas + bucle de razonamiento para completar tareas complejas.


Agente vs Chatbot

ChatbotAgente
Una respuestaMúltiples pasos
Sin herramientasUsa herramientas
ReactivoProactivo
Tú controlasÉl decide

Arquitectura de un agente

              ┌─────────────────────────────────┐
              │           AGENTE                │
              │  ┌─────────────────────────┐    │
              │  │      Razonamiento       │    │
  Tarea  ───→ │  │  (ReAct, CoT, ToT)      │ ───→ Resultado
              │  └───────────┬─────────────┘    │
              │              ↓                  │
              │  ┌─────────────────────────┐    │
              │  │     Herramientas        │    │
              │  │  [Web] [Code] [Files]   │    │
              │  └─────────────────────────┘    │
              └─────────────────────────────────┘

Patrón ReAct

Thought: Necesito buscar el clima de Madrid
Action: search_weather("Madrid")
Observation: 22°C, soleado
Thought: Ya tengo la info
Action: respond("El clima en Madrid es 22°C...")

Herramientas comunes

HerramientaUso
web_searchBuscar información
read_fileLeer documentos
write_fileCrear archivos
run_codeEjecutar Python
ask_userPedir clarificación

Agente básico con OpenAI

tools = [
    {
        "type": "function",
        "function": {
            "name": "search",
            "description": "Search the web",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string"}
                }
            }
        }
    }
]

# Loop del agente
while True:
    response = client.chat.completions.create(
        model="gpt-4o",
        messages=messages,
        tools=tools
    )

    if response.choices[0].finish_reason == "tool_calls":
        # Ejecutar herramienta
        tool_call = response.choices[0].message.tool_calls[0]
        result = execute_tool(tool_call)
        messages.append({"role": "tool", "content": result})
    else:
        # Respuesta final
        break

Frameworks de agentes

FrameworkEnfoque
LangChainChains y agents
LangGraphGrafos de estado
CrewAIMulti-agente
AutoGenConversación
Claude CodeCoding agent

🏦 Caso Real: Agente para Conciliación Bancaria

Los agentes brillan en tareas financieras que requieren múltiples pasos y decisiones.

Ejemplo: Agente de Conciliación

tools = [
    {"name": "fetch_bank_transactions", "description": "Obtener transacciones del banco"},
    {"name": "fetch_internal_records", "description": "Obtener registros internos"},
    {"name": "compare_records", "description": "Comparar y encontrar diferencias"},
    {"name": "generate_report", "description": "Crear reporte de conciliación"},
    {"name": "flag_discrepancy", "description": "Marcar discrepancia para revisión"},
]

# El agente decide qué hacer
system_prompt = """
Eres un agente de conciliación bancaria. Tu trabajo:
1. Obtener transacciones del banco (últimas 24h)
2. Obtener registros internos del mismo período
3. Comparar y encontrar discrepancias
4. Si hay diferencias > $100, marcar para revisión humana
5. Generar reporte final

Sé meticuloso. Un error aquí cuesta dinero real.
"""

Flujo del Agente

Tarea: "Concilia las transacciones de ayer"
    ↓
Thought: Primero obtengo las transacciones del banco
Action: fetch_bank_transactions("2024-01-15")
Observation: 847 transacciones, total $1,234,567
    ↓
Thought: Ahora los registros internos
Action: fetch_internal_records("2024-01-15")
Observation: 845 transacciones, total $1,234,123
    ↓
Thought: Hay diferencia. Comparo en detalle
Action: compare_records(bank, internal)
Observation: 2 transacciones faltantes, diferencia $444
    ↓
Thought: Diferencia > $100, marco para revisión
Action: flag_discrepancy({amount: 444, txns: [...]})
    ↓
Action: generate_report() → ✅ Reporte enviado

Otros casos de uso en Fintech

CasoHerramientasValor
Análisis de riesgoAPIs de credit bureau, calculadorasDecisión de crédito automatizada
Detección de fraudeBases de datos, reglas, MLBloqueo en tiempo real
Onboarding KYCOCR, verificación, bases PEPProceso de horas → minutos
Soporte al clienteCRM, knowledge baseResolución sin humanos

💡 Los agentes son ideales cuando la tarea tiene múltiples pasos y requiere decisiones intermedias.


Practica

Agente IA Autónomo