AI로 장애 포스트모템 초안 생성하기

에이전트가 상태 페이지의 장애 내용과 영향받은 결제 기록을 결합해 비난 없는 포스트모템 템플릿을 채웁니다.

  • 파일
  • 읽기 전용 연결
  • 웹
  • 예산 상한

실제 실행 보기

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. 웹web_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 · 웹 $0.001 · 컴퓨팅 $0.0028

직접 실행하기

요청이 모두 채워진 상태로 플레이그라운드에서 샘플을 엽니다. 내 계정에서 표시된 예산 안에서, 같은 읽기 전용 샘플 시스템을 대상으로 실행됩니다.

이 샘플의 예산: $0.05

작동 방식

읽기 전용 소스 두 개와 템플릿 하나입니다. 에이전트는 상태 페이지에서 장애 타임라인을, 결제 API에서 실패한 결제를 읽고, 그 소스가 말하는 내용만 작성합니다. 후속 조치에는 사람이 아니라 역할을 적습니다.

에이전트가 할 수 있는 일과 할 수 없는 일

권한은 요청의 일부입니다. 여기에 나열되지 않은 것은 실행에서 사용할 수 없습니다.

설정허용 범위
연결
payments: ephemer.al/api/samples/payments-api에서 GET만 허용
웹ephemer.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

“”와(과) 일치하는 항목이 없습니다.