> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Instrumenta tu agente

> Conecta cualquier framework de agentes compatible con Failproof AI con una sola llamada.

Tu agente ya produce todo lo que vale la pena registrar: llamadas a modelos, llamadas a herramientas, límites de nodos, esperas humanas y fallos. El framework lo descarta. El SDK lo conserva.

<Columns cols={3}>
  <Card title="Agentes personalizados" icon="wrench" href="/es/start/quickstarts/custom-agents">
    Un agente que escribiste tú mismo, o uno que no aparece aquí.
  </Card>

  <Card title="LangChain y LangGraph" icon="share-2" href="/es/start/quickstarts/langchain">
    Grafos, nodos, herramientas, retrievers, modelos.
  </Card>

  <Card title="CrewAI" icon="users" href="/es/start/quickstarts/crewai">
    Crews, flujos, agentes por rol, herramientas.
  </Card>

  <Card title="LlamaIndex" icon="database" href="/es/start/quickstarts/llamaindex">
    Workflows, pasos, agentes de funciones, retrievers.
  </Card>

  <Card title="Pydantic AI" icon="badge-check" href="/es/start/quickstarts/pydantic-ai">
    Agentes tipados, capacidades, herramientas, reintentos.
  </Card>
</Columns>

## Tres líneas, cualquiera que sea el framework

<CodeGroup>
  ```bash LangGraph theme={null}
  pip install 'failproofai-sdk[langgraph]'
  ```

  ```bash CrewAI theme={null}
  pip install 'failproofai-sdk[crewai]'
  ```

  ```bash LlamaIndex theme={null}
  pip install 'failproofai-sdk[llamaindex]'
  ```

  ```bash Pydantic AI theme={null}
  pip install 'failproofai-sdk[pydantic-ai]'
  ```

  ```bash Custom agents theme={null}
  pip install failproofai-sdk
  ```
</CodeGroup>

```python theme={null}
import failproofai_sdk

failproofai_sdk.configure(environment="production")
failproofai_sdk.instrument()          # detecta los frameworks que importaste

with failproofai_sdk.session():
    ...                               # tu llamada al agente existente, sin cambios
```

Sin decoradores en tus funciones, sin callbacks pasados a tus llamadas, sin ids propagados por tu código. Solo difiere la llamada dentro de la sesión:

<Tabs>
  <Tab title="LangGraph">
    ```python theme={null}
    graph.invoke({"messages": [HumanMessage("...")]})
    ```
  </Tab>

  <Tab title="CrewAI">
    ```python theme={null}
    Crew(agents=[analyst, writer], tasks=[gather, summarise]).kickoff()
    ```
  </Tab>

  <Tab title="LlamaIndex">
    ```python theme={null}
    await agent.run("...")        # bajo `async with failproofai_sdk.session():`
    ```
  </Tab>

  <Tab title="Pydantic AI">
    ```python theme={null}
    agent.run_sync("...")
    ```
  </Tab>

  <Tab title="Custom agents">
    ```python theme={null}
    with failproofai_sdk.agent("planner"):
        with failproofai_sdk.tool_call("search", input={"q": q}) as t:
            t.output = search(q)
    ```
  </Tab>
</Tabs>

El extra instala el **framework**. Cada adaptador viene incluido en el paquete base, por lo que un proyecto que ya tenga su framework no necesita ningún extra en absoluto.

## Verifica que llegó

Ejecuta una sesión instrumentada y luego abre **Observe → Sessions** y selecciona tu entorno. La ejecución aparece como una traza reconstruida.

Si no llega nada, confirma que la máquina está conectada con `failproofai config --status`. Consulta [Configurar la captura](/es/start/setup).

<Warning>
  No compruebes el directorio de spool para confirmar la entrega. El daemon de Failproof recopila y elimina cada lote en cuestión de milisegundos, por lo que leerlo compite con el recolector y muestra muchos menos eventos de los que se emitieron.
</Warning>

## Siguientes pasos

Cada quickstart de arriba enlaza a su guía completa: qué se registra, opciones, streaming, nombres de spans y los problemas que la gente realmente encuentra. Se encuentran en **Trace Agents → Plug in your agent**.

<Columns cols={3}>
  <Card title="Cómo funciona" icon="workflow" href="/es/start/integrations/custom-agents#going-deeper">
    El modelo de datos, los ids, los tipos de eventos y cómo los eventos llegan a Cloud.
  </Card>

  <Card title="Lee una traza" icon="route" href="/es/sessions/read-a-trace">
    Sigue la causalidad a través de una sesión en lugar de logs desconectados.
  </Card>

  <Card title="Encuentra tu primer fallo" icon="scan-search" href="/es/start/first-audit">
    Audita las sesiones que acabas de capturar.
  </Card>
</Columns>
