Was this page helpful?
Outcomes est une fonctionnalité en aperçu de recherche. Demandez l'accès pour l'essayer.
L'outcome élève une session de conversation à travail. Vous définissez à quoi doit ressembler le résultat final et comment mesurer la qualité. L'agent travaille vers cet objectif, s'auto-évaluant et itérant jusqu'à ce que le résultat soit atteint.
Lorsque vous définissez un résultat, le harnais provisionne automatiquement un évaluateur pour évaluer l'artefact par rapport à une rubrique. Il exploite une fenêtre de contexte séparée pour éviter d'être influencé par les choix d'implémentation de l'agent principal.
L'évaluateur retourne une décomposition par critère : soit la confirmation que l'artefact satisfait la rubrique, soit les écarts spécifiques entre le travail actuel et les exigences. Ce retour est transmis à l'agent pour l'itération suivante.
Toutes les requêtes API Managed Agents nécessitent l'en-tête bêta managed-agents-2026-04-01. Les fonctionnalités en aperçu de recherche nécessitent en outre managed-agents-2026-04-01-research-preview. Le SDK définit ces en-têtes bêta automatiquement.
Une rubrique est un document markdown décrivant la notation par critère. La rubrique est obligatoire.
Exemple de rubrique :
# DCF Model Rubric
## Revenue Projections
- Uses historical revenue data from the last 5 fiscal years
- Projects revenue for at least 5 years forward
- Growth rate assumptions are explicitly stated and reasonable
## Cost Structure
- COGS and operating expenses are modeled separately
- Margins are consistent with historical trends or deviations are justified
## Discount Rate
- WACC is calculated with stated assumptions for cost of equity and cost of debt
- Beta, risk-free rate, and equity risk premium are sourced or justified
## Terminal Value
- Uses either perpetuity growth or exit multiple method (stated which)
- Terminal growth rate does not exceed long-term GDP growth
## Output Quality
- All figures are in a single .xlsx file with clearly labeled sheets
- Key assumptions are on a separate "Assumptions" sheet
- Sensitivity analysis on WACC and terminal growth rate is includedPassez la rubrique en texte inline sur user.define_outcome (montré dans la section suivante), ou téléversez-la via l'API Files pour la réutiliser entre les sessions :
Nécessite l'en-tête bêta files-api-2025-04-14.
Après avoir créé une session, envoyez un événement user.define_outcome. L'agent commence à travailler immédiatement ; aucun événement de message utilisateur supplémentaire n'est requis.
La progression d'une session orientée résultat est exposée sur le flux d'événements.
agent.* (messages, utilisation d'outils, etc.) montrent la progression vers le résultat.span.outcome_evaluation_* ne sont émis que pour les sessions orientées résultat et montrent le nombre de boucles d'itération et le processus de retour de l'évaluateur.user.message à une session orientée résultat, pour diriger le travail de l'agent au fur et à mesure de sa progression, mais ceux-ci ne sont pas aussi nécessaires ; l'agent sait qu'il doit travailler jusqu'à ce qu'il ait épuisé ses itérations ou atteint le résultat.user.interrupt mettra en pause le travail sur le résultat actuel et marquera le span.outcome_evaluation_end.result comme interrupted, vous permettant de lancer un nouveau résultat.Un seul résultat est pris en charge à la fois, mais vous pouvez enchaîner des résultats en séquence. Pour ce faire, envoyez un nouvel événement user.define_outcome après l'événement terminal du résultat précédent.
C'est l'événement que vous envoyez pour initier un résultat. Il est renvoyé en écho à la réception, incluant un horodatage processed_at et un outcome_id.
{
"type": "user.define_outcome",
"description": "Build a DCF model for Costco in .xlsx",
"rubric": { "type": "file", "file_id": "file_01..." },
"max_iterations": 5
}Émis une fois que l'évaluateur commence une évaluation sur une boucle d'itération. Le champ iteration est un compteur de révision indexé à 0 : 0 est la première évaluation, 1 est la réévaluation après la première révision, et ainsi de suite.
{
"type": "span.outcome_evaluation_start",
"id": "sevt_01def...",
"outcome_id": "outc_01a...",
"iteration": 0,
"processed_at": "2026-03-25T14:01:45Z"
}Heartbeat émis pendant que l'évaluateur s'exécute. Le raisonnement interne de l'évaluateur est opaque : vous voyez qu'il travaille, pas ce qu'il pense.
{
"type": "span.outcome_evaluation_ongoing",
"id": "sevt_01ghi...",
"outcome_id": "outc_01a...",
"processed_at": "2026-03-25T14:02:10Z"
}Émis après que l'évaluateur a terminé d'évaluer une itération. Le champ result indique ce qui se passe ensuite.
| Résultat | Suite |
|---|---|
satisfied | La session passe à l'état idle. |
needs_revision | L'agent démarre un nouveau cycle d'itération. |
max_iterations_reached | Aucun autre cycle d'évaluation. L'agent peut effectuer une dernière révision avant que la session ne passe à l'état idle. |
failed | La session passe à l'état idle. Retourné lorsque la rubrique ne correspond fondamentalement pas à la tâche, par exemple si la description et la rubrique se contredisent. |
interrupted | Émis uniquement si outcome_evaluation_start a déjà été déclenché avant l'interruption. |
{
"type": "span.outcome_evaluation_end",
"id": "sevt_01jkl...",
"outcome_evaluation_start_id": "sevt_01def...",
"outcome_id": "outc_01a...",
"result": "satisfied",
"explanation": "All 12 criteria met: revenue projections use 5 years of historical data, WACC assumptions are stated, sensitivity table is included...",
"iteration": 0,
"usage": {
"input_tokens": 2400,
"output_tokens": 350,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 1800
},
"processed_at": "2026-03-25T14:03:00Z"
}Vous pouvez soit écouter le flux d'événements pour span.outcome_evaluation_end, soit interroger GET /v1/sessions/:id et lire outcome_evaluations[].result :
L'agent écrit les fichiers de sortie dans /mnt/session/outputs/ à l'intérieur du conteneur. Une fois la session inactive, récupérez-les via l'API Files limitée à la session :
rubric=$(curl -fsSL https://api.anthropic.com/v1/files \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01,files-api-2025-04-14" \
-F file=@/path/to/pr_review_rubric.md)
rubric_id=$(jq -r '.id' <<<"$rubric")
printf 'Uploaded rubric: %s\n' "$rubric_id"# Create a session
session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01-research-preview" \
--json @- <<EOF
{
"agent": "$agent_id",
"environment_id": "$environment_id",
"title": "Financial analysis on Costco"
}
EOF
)
session_id=$(jq -r '.id' <<<"$session")
# Define the outcome — agent starts working on receipt
curl -fsSL "https://api.anthropic.com/v1/sessions/$session_id/events" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01-research-preview" \
--json @- >/dev/null <<EOF
{
"events": [
{
"type": "user.define_outcome",
"description": "Build a DCF model for Costco in .xlsx",
"rubric": {"type": "text", "content": "# DCF Model Rubric\n..."},
"max_iterations": 5
}
]
}
EOF
# or: "rubric": {"type": "file", "file_id": "$rubric_id"}
# "max_iterations" is optional; default 3, max 20session=$(curl -fsSL "https://api.anthropic.com/v1/sessions/$session_id" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: managed-agents-2026-04-01-research-preview")
jq -r '.outcome_evaluations[] | "\(.outcome_id): \(.result)"' <<<"$session"
# outc_01a...: satisfied# List files produced by this session
curl -fsSL "https://api.anthropic.com/v1/files?scope_id=$session_id" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14,managed-agents-2026-04-01-research-preview" \
| jq '.data[] | {id, filename, size_bytes}'
# Download by file_id
curl -fsSL "https://api.anthropic.com/v1/files/$file_id/content" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: files-api-2025-04-14" \
-o costco_dcf.xlsx