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

# Évaluation des agents

> Interceptez les appels d'outils, analysez les résultats et détectez l'injection de prompt dans les pipelines d'agents IA.

L'évaluation des agents fournit trois points de contrôle de sécurité pour les systèmes d'IA agentiques : évaluer les appels d'outils avant exécution, analyser les résultats des outils avant de les retransmettre à l'agent, et détecter l'injection de prompt dans tout texte que l'agent est sur le point de traiter.

Ceci est destiné aux systèmes où un agent IA peut appeler des outils (fonctions, API, récupération de données) de lui-même. Si votre application ne fait que générer du texte, vous pouvez l'ignorer et utiliser l'[Évaluation](/concepts/evaluation). Si vous construisez des agents, ces points de contrôle protègent les endroits où un agent peut entreprendre une action ou en être influencé.

## Les trois points de contrôle

```mermaid theme={null}
flowchart LR
    User["User input"] -->|"prompt-injection"| Agent["AI Agent"]
    Agent -->|"tool-call"| Tool["Tool execution"]
    Tool -->|"tool-result"| Agent
    Agent --> Response["Final response"]
```

<CardGroup cols={3}>
  <Card title="Évaluation des appels d'outils" icon="wrench" href="/api-reference/agent-tool-call">
    ALLOW / FLAG / BLOCK avant l'exécution d'un outil.
  </Card>

  <Card title="Analyse des résultats d'outils" icon="shield" href="/api-reference/agent-tool-result">
    Détection de PII et vérification d'injection sur la sortie de l'outil.
  </Card>

  <Card title="Détection d'injection de prompt" icon="shield-halved" href="/api-reference/agent-prompt-injection">
    Analyse rapide d'injection sur tout texte en entrée.
  </Card>
</CardGroup>

Intégrez-les dans l'ordre où l'agent s'exécute : détectez d'abord l'injection sur l'entrée **entrante**, évaluez un **appel d'outil** avant son exécution, puis analysez le **résultat de l'outil** avant qu'il ne revienne à l'agent. Vous pouvez adopter un seul point de contrôle ou les trois ; si vous commencez par un seul, la détection d'injection de prompt sur l'entrée utilisateur offre la protection la plus large.

## Exemple rapide

```python theme={null}
from rail_score_sdk import RailScoreClient

client = RailScoreClient(api_key="YOUR_RAIL_API_KEY")

# 1. Check for injection in user input
injection = client.agent.detect_injection(text=user_input)
if injection.injection_detected:
    return "Invalid input detected."

# 2. Evaluate tool call before execution
tool_check = client.agent.evaluate_tool_call(
    tool_name="send_email",
    tool_input={"to": "user@example.com", "body": agent_draft},
    agent_context="Customer support agent",
)
if tool_check.recommendation == "block":
    return f"Tool call blocked: {tool_check.explanation}"

# 3. Execute the tool, then scan the result
tool_output = execute_tool(tool_name, tool_input)
result_scan = client.agent.scan_tool_result(
    tool_name="send_email",
    tool_result=tool_output,
)
if result_scan.pii_detected:
    tool_output = result_scan.redacted_result
```

## Et ensuite

<CardGroup cols={2}>
  <Card title="Référence API : Appel d'outil" icon="code" href="/api-reference/agent-tool-call">
    Spécification complète pour l'évaluation des appels d'outils.
  </Card>

  <Card title="SDK Python : Évaluation des agents" icon="python" href="/sdk/python/agent-evaluation">
    Référence du SDK Python pour les trois endpoints d'agent.
  </Card>
</CardGroup>
