AI でインシデントのポストモーテム下書きを生成する

エージェントがステータスページのインシデントと、影響を受けた決済レコードを組み合わせ、責任追及をしないポストモーテムのテンプレートを埋めます。

  • ファイル
  • 読み取り専用の接続
  • Web
  • 予算の上限

実際の実行を見る

2026年10月7日 の実際の実行を再生しています。モデル: openai/gpt-6-luna。

入力
{
  "payment_id": "pay_124",
  "status_url": "https://ephemer.al/api/samples/status"
}
成功run_19f2f90e2a609356f9dfd2cee0bc326a$0.05 のうち $0.004235
  1. 待機中予算 $0.05 を確保
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell off · web on
  4. 接続payments GET /payments/pay_124
  5. 接続payments GET /payments/pay_124/attempts
  6. Webweb_fetch https://ephemer.al/api/samples/status
  7. ファイルread postmortem-template.md
  8. 結果payments GET → 200
  9. 結果payments GET → 200
  10. 結果web https://ephemer.al/api/samples/status → 200
  11. MicroVMmicroVM destroyed
  12. 成功モデル呼び出し 2 回、トークン 4,039記録された出力(英語)

    Postmortem: Elevated card payment errors in Europe

    Blameless. Describe what happened and what the system allowed, not who did it.

    Summary (2 sentences)

    On 2026-10-05, some EU card payments failed with processor timeouts during an incident. Payment pay_124 failed with a processor timeout and was not retried in the recorded attempt.

    Impact (who, how many, how long, money if known)

    One failed payment is documented: €129.00. Total customers and payments affected are not known. The incident timeline says affected failures occurred between 13:25 and 14:15 UTC.

    Timeline (UTC, one line each, only facts from the sources)

    • 2026-10-05 13:31 UTC — Incident investigating: some EU card payments failed with a processor timeout.
    • 2026-10-05 13:42:51 UTC — pay_124 failed; its attempt recorded a processor timeout.
    • 2026-10-05 13:58 UTC — Incident identified as a network change at one acquiring partner.
    • 2026-10-05 14:20 UTC — Incident resolved; card payments in Europe were processing normally. Failed payments from 13:25–14:15 UTC could be retried.

    Cause

    The incident source attributes the errors to a network change at one acquiring partner.

    What went well

    The incident was identified and resolved, and the status update said affected payments could be retried.

    Action items (owner role, not a person)

    Not known from the sources.

  13. ワーカーを破棄$0.004235 を請求、$0.045765 を解放
モデル $0.000435 · Web $0.001 · コンピュート $0.0028

自分で実行する

リクエスト全体が入力された状態で、サンプルをプレイグラウンドで開きます。実行はご自身のアカウントで、表示された予算の範囲内で、同じ読み取り専用のサンプルシステムに対して行われます。

このサンプルの予算: $0.05

仕組み

読み取り専用の情報源が 2 つ、テンプレートが 1 つです。エージェントはステータスページからインシデントのタイムラインを、決済 API から失敗した決済を読み、それらが示す内容だけを書きます。アクションアイテムには、個人名ではなく役割を記載します。

エージェントにできること、できないこと

権限はリクエストの一部です。ここに挙げていないものは、実行では利用できません。

設定許可
接続
payments: GET のみ、ephemer.al/api/samples/payments-api へ
Webephemer.al のみ
シェルオフ
ファイルpostmortem-template.md(読み取り専用)
ゼロデータ保持オフ: 記録は 30 日間保存されます
予算$0.05、厳格な上限
タイムアウト120 秒

認証情報がマシンに入ることはありません。ブローカーが各呼び出しに認証情報を付与し、上記のメソッドだけを通します。

コード

サンプルが送信する正確なリクエストです。EPHEMERAL_API_KEY には、組織のメンバーキーを設定してください。

curl -X POST $EPHEMERAL_URL/v1/runs \
  -H "Authorization: Bearer $EPHEMERAL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @request.json

リクエストに含まれるファイル

インラインで渡すため、事前にアップロードする必要はありません。エージェントには、それぞれが読み取り専用のファイルとして見えます。

postmortem-template.md
postmortem-template.md
# Postmortem: <title>

Blameless. Describe what happened and what the system allowed, not who did it.

## Summary (2 sentences)
## Impact (who, how many, how long, money if known)
## Timeline (UTC, one line each, only facts from the sources)
## Cause
## What went well
## Action items (owner role, not a person)
リクエスト本文の全体 request.json

同じ本文を、ファイルをインラインにした形で示します。

request.json
{
  "prompt": "Write a postmortem draft for the incident that affected the payment in input.payment_id. Read the payment and its attempts from the payments connection, and the incident timeline from input.status_url with web_fetch. Fill postmortem-template.md, at most 250 words in total. Put every timeline line in UTC and only from the sources. If the sources do not show something (such as the number of customers affected), write 'not known' instead of estimating. Use only what the data returns and never guess; if a call fails or a field is missing, say so.",
  "input": {
    "payment_id": "pay_124",
    "status_url": "https://ephemer.al/api/samples/status"
  },
  "files": [
    {
      "path": "postmortem-template.md",
      "content": "# Postmortem: <title>\n\nBlameless. Describe what happened and what the system allowed, not who did it.\n\n## Summary (2 sentences)\n## Impact (who, how many, how long, money if known)\n## Timeline (UTC, one line each, only facts from the sources)\n## Cause\n## What went well\n## Action items (owner role, not a person)\n"
    }
  ],
  "connections": {
    "payments": {
      "type": "http",
      "url": "https://ephemer.al/api/samples/payments-api",
      "auth": {
        "type": "bearer",
        "token": "sample_read_key"
      },
      "allowed_methods": [
        "GET"
      ],
      "instructions": "GET /payments/{id} returns a payment (status, amount in cents, currency, failure_code, failure_message, attempt_count). GET /payments/{id}/attempts returns its attempts."
    }
  },
  "web": {
    "allow": [
      "ephemer.al"
    ],
    "search": false
  },
  "shell": false,
  "timeout_seconds": 120,
  "max_cost_micros": 50000
}

さらに読む

関連するサンプル

esc

「」に一致する項目はありません。