Outcomes ist eine Research-Preview-Funktion. Zugang anfordern, um sie auszuprobieren.
Das outcome hebt eine Sitzung von einer Konversation zu Arbeit an. Sie definieren, wie das Endergebnis aussehen soll und wie die Qualität gemessen wird. Der Agent arbeitet auf dieses Ziel hin, bewertet sich selbst und iteriert, bis das Ergebnis erreicht ist.
Wenn Sie ein Ergebnis definieren, stellt das Harness automatisch einen Grader bereit, um das Artefakt anhand einer Rubrik zu bewerten. Es nutzt ein separates Kontextfenster, um nicht von den Implementierungsentscheidungen des Hauptagenten beeinflusst zu werden.
Der Grader gibt eine Aufschlüsselung pro Kriterium zurück: entweder die Bestätigung, dass das Artefakt die Rubrik erfüllt, oder die spezifischen Lücken zwischen der aktuellen Arbeit und den Anforderungen. Dieses Feedback wird für die nächste Iteration an den Agenten zurückgegeben.
Alle Managed Agents API-Anfragen erfordern den Beta-Header managed-agents-2026-04-01. Research-Preview-Funktionen erfordern zusätzlich managed-agents-2026-04-01-research-preview. Das SDK setzt diese Beta-Header automatisch.
Eine Rubrik ist ein Markdown-Dokument, das die Bewertung pro Kriterium beschreibt. Die Rubrik ist erforderlich.
Beispielrubrik:
# 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 includedÜbergeben Sie die Rubrik als Inline-Text in user.define_outcome (im nächsten Abschnitt gezeigt), oder laden Sie sie über die Files API zur Wiederverwendung über Sitzungen hinweg hoch:
Erfordert Beta-Header files-api-2025-04-14.
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"Nachdem Sie eine Sitzung erstellt haben, senden Sie ein user.define_outcome-Ereignis. Der Agent beginnt sofort mit der Arbeit; kein zusätzliches Benutzer-Nachrichtenereignis ist erforderlich.
# 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 20Der Fortschritt einer ergebnisorientierten Sitzung wird im Ereignis-Stream angezeigt.
agent.*-Ereignisse (Nachrichten, Werkzeugnutzung usw.) zeigen den Fortschritt in Richtung des Ergebnisses.span.outcome_evaluation_*-Ereignisse werden nur für ergebnisorientierte Sitzungen ausgegeben und zeigen die Anzahl der Iterationsschleifen und den Feedback-Prozess des Graders.user.message-Ereignisse an eine ergebnisorientierte Sitzung senden, um die Arbeit des Agenten während des Fortschritts zu steuern, aber diese sind nicht so notwendig; der Agent weiß, dass er arbeiten soll, bis er seine Iterationen erschöpft hat oder das Ergebnis erreicht hat.user.interrupt-Ereignis pausiert die Arbeit am aktuellen Ergebnis und markiert span.outcome_evaluation_end.result als interrupted, sodass Sie ein neues Ergebnis starten können.Es wird jeweils nur ein Ergebnis unterstützt, aber Sie können Ergebnisse nacheinander verketten. Senden Sie dazu nach dem terminalen Ereignis des vorherigen Ergebnisses ein neues user.define_outcome-Ereignis.
Dies ist das Ereignis, das Sie senden, um ein Ergebnis zu initiieren. Es wird beim Empfang zurückgespiegelt, einschließlich eines processed_at-Zeitstempels und einer 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
}Wird ausgegeben, sobald der Grader eine Bewertung über eine Iterationsschleife startet. Das Feld iteration ist ein 0-indizierter Revisionszähler: 0 ist die erste Bewertung, 1 ist die Neubewertung nach der ersten Revision usw.
{
"type": "span.outcome_evaluation_start",
"id": "sevt_01def...",
"outcome_id": "outc_01a...",
"iteration": 0,
"processed_at": "2026-03-25T14:01:45Z"
}Heartbeat, der ausgegeben wird, während der Grader läuft. Das interne Denken des Graders ist undurchsichtig: Sie sehen, dass er arbeitet, nicht was er denkt.
{
"type": "span.outcome_evaluation_ongoing",
"id": "sevt_01ghi...",
"outcome_id": "outc_01a...",
"processed_at": "2026-03-25T14:02:10Z"
}Wird ausgegeben, nachdem der Grader die Bewertung einer Iteration abgeschlossen hat. Das Feld result gibt an, was als nächstes passiert.
| Ergebnis | Nächster Schritt |
|---|---|
satisfied | Sitzung wechselt zu idle. |
needs_revision | Agent startet einen neuen Iterationszyklus. |
max_iterations_reached | Keine weiteren Bewertungszyklen. Der Agent kann eine letzte Revision durchführen, bevor die Sitzung zu idle wechselt. |
failed | Sitzung wechselt zu idle. Wird zurückgegeben, wenn die Rubrik grundlegend nicht zur Aufgabe passt, zum Beispiel wenn Beschreibung und Rubrik sich widersprechen. |
interrupted | Wird nur ausgegeben, wenn outcome_evaluation_start bereits vor dem Interrupt ausgelöst wurde. |
{
"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"
}Sie können entweder den Ereignis-Stream auf span.outcome_evaluation_end abhören oder GET /v1/sessions/:id abfragen und outcome_evaluations[].result lesen:
session=$(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...: satisfiedDer Agent schreibt Ausgabedateien in /mnt/session/outputs/ innerhalb des Containers. Sobald die Sitzung inaktiv ist, rufen Sie sie über die Files API ab, die auf die Sitzung beschränkt ist:
# 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.xlsxWas this page helpful?