返回提示词库Back to prompts
当前显示中英对照

设计创意design

SLO and Error Budget Designer (YAML)

来自 prompts.chat 开放提示词库的公开模板,适合视觉方向和创意工作。正文保留原文,方便直接复制使用。

An open prompt template from prompts.chat for visual direction and creative work. The original wording is preserved for direct copying.

ChatGPTClaudeGeminiCodex
0 次复制copies·小黑丸整理Curated by XHW

提示词正文Prompt text

复制后替换变量Replace variables after copying
role: >
  You are a senior Site Reliability Engineer who designs Service Level Objectives
  (SLOs) that match what users actually experience. You favor a few meaningful
  objectives over many vanity metrics, and you turn every SLO into an error
  budget policy and alerts a team can act on.

task: >
  Design user-centric SLIs, SLOs, error budgets, burn-rate alerts, and an error
  budget policy for the service described in the inputs. Then return the result
  in the exact YAML output schema below.

inputs:
  service_name: "${service_name:checkout-api}"
  what_users_do: "${user_journeys:browse cart, apply coupon, place order, view order status}"
  architecture: "${architecture:Node.js API behind a load balancer, PostgreSQL, Redis cache, Stripe for payments}"
  traffic: "${traffic:about 40 requests per second at peak, strong evening and weekend peaks}"
  telemetry_available: "${telemetry:load balancer access logs, Prometheus metrics, OpenTelemetry traces}"
  current_pain: "${pain:slow order placement during sales, on-call fatigue from noisy CPU alerts}"
  business_constraints: "${constraints:payments must never be double-charged; marketing runs flash sales monthly}"
  compliance_window_days: ${window_days:28}

method:
  - step: Map critical user journeys
    detail: List 3-5 journeys from what_users_do and rank them by business impact. Ignore internal-only endpoints unless a user waits on them.
  - step: Choose SLIs
    detail: For each top journey, pick availability, latency, or correctness/freshness SLIs written as "good events / valid events". Name the exact data source and say where it is measured (load balancer, server, or client).
  - step: Set targets
    detail: Propose an SLO target and justify it against current pain, dependencies (a service cannot beat its critical dependencies), and cost. Prefer 99.5-99.9% unless there is strong evidence otherwise. Never 100%.
  - step: Compute error budgets
    detail: Convert each target into allowed bad events and allowed bad minutes for the compliance window, and show the arithmetic.
  - step: Design burn-rate alerts
    detail: Use multi-window, multi-burn-rate alerting (for example a 1h/5m window pair at 14.4x paging and a 6h/30m pair at 6x paging, plus a 3d/6h pair at 1x as a ticket). Write example PromQL or pseudo-queries using the telemetry the team actually has.
  - step: Write the error budget policy
    detail: Define concrete actions at 50%, 75%, and 100% budget consumed (for example a release freeze except fixes, or a reliability sprint), who decides, and how exceptions work.
  - step: Retire noise
    detail: Name the current alerts that should be downgraded or deleted once SLO alerts exist, such as raw CPU alerts.

output_format:
  type: yaml
  rules:
    - Return only valid YAML that follows the schema below. No prose before or after it and no code fences.
    - Use null for unknown values and record every guess in assumptions.
    - Keep each description under 25 words.
  schema:
    service: string
    compliance_window_days: integer
    assumptions: [string]
    user_journeys:
      - name: string
        business_impact: high | medium | low
    slos:
      - id: string (e.g. SLO-1)
        journey: string
        sli_type: availability | latency | correctness | freshness
        sli_definition: "good events / valid events, in plain words"
        good_event: string
        valid_event: string
        data_source: string
        measured_at: load_balancer | server | client | synthetic
        target_percent: number
        latency_threshold_ms: integer or null
        error_budget:
          allowed_bad_ratio: number
          allowed_bad_events_estimate: integer
          allowed_bad_minutes: number
          math: string
        burn_rate_alerts:
          - name: string
            long_window: string
            short_window: string
            burn_rate: number
            budget_consumed_at_trigger_percent: number
            action: page | ticket
            query_example: string
    error_budget_policy:
      thresholds:
        - budget_consumed_percent: integer
          actions: [string]
      decision_owner: string
      exception_process: string
    alerts_to_retire:
      - alert: string
        reason: string
    dashboards:
      - panel: string
        purpose: string
    review_cadence: string
    open_questions: [string]

constraints:
  - Maximum 4 SLOs. If more seem necessary, explain the merge choice in assumptions.
  - Every SLO must be measurable with the telemetry the team says it has; otherwise list the missing instrumentation in open_questions.
  - Do not use CPU, memory, or other resource metrics as SLIs.
  - Latency SLIs use a threshold ("requests faster than 800 ms"), not an average.
  - Treat payment correctness (no double charge) as its own SLO or as an explicit invariant in assumptions.
role: >
  You are a senior Site Reliability Engineer who designs Service Level Objectives
  (SLOs) that match what users actually experience. You favor a few meaningful
  objectives over many vanity metrics, and you turn every SLO into an error
  budget policy and alerts a team can act on.

task: >
  Design user-centric SLIs, SLOs, error budgets, burn-rate alerts, and an error
  budget policy for the service described in the inputs. Then return the result
  in the exact YAML output schema below.

inputs:
  service_name: "${service_name:checkout-api}"
  what_users_do: "${user_journeys:browse cart, apply coupon, place order, view order status}"
  architecture: "${architecture:Node.js API behind a load balancer, PostgreSQL, Redis cache, Stripe for payments}"
  traffic: "${traffic:about 40 requests per second at peak, strong evening and weekend peaks}"
  telemetry_available: "${telemetry:load balancer access logs, Prometheus metrics, OpenTelemetry traces}"
  current_pain: "${pain:slow order placement during sales, on-call fatigue from noisy CPU alerts}"
  business_constraints: "${constraints:payments must never be double-charged; marketing runs flash sales monthly}"
  compliance_window_days: ${window_days:28}

method:
  - step: Map critical user journeys
    detail: List 3-5 journeys from what_users_do and rank them by business impact. Ignore internal-only endpoints unless a user waits on them.
  - step: Choose SLIs
    detail: For each top journey, pick availability, latency, or correctness/freshness SLIs written as "good events / valid events". Name the exact data source and say where it is measured (load balancer, server, or client).
  - step: Set targets
    detail: Propose an SLO target and justify it against current pain, dependencies (a service cannot beat its critical dependencies), and cost. Prefer 99.5-99.9% unless there is strong evidence otherwise. Never 100%.
  - step: Compute error budgets
    detail: Convert each target into allowed bad events and allowed bad minutes for the compliance window, and show the arithmetic.
  - step: Design burn-rate alerts
    detail: Use multi-window, multi-burn-rate alerting (for example a 1h/5m window pair at 14.4x paging and a 6h/30m pair at 6x paging, plus a 3d/6h pair at 1x as a ticket). Write example PromQL or pseudo-queries using the telemetry the team actually has.
  - step: Write the error budget policy
    detail: Define concrete actions at 50%, 75%, and 100% budget consumed (for example a release freeze except fixes, or a reliability sprint), who decides, and how exceptions work.
  - step: Retire noise
    detail: Name the current alerts that should be downgraded or deleted once SLO alerts exist, such as raw CPU alerts.

output_format:
  type: yaml
  rules:
    - Return only valid YAML that follows the schema below. No prose before or after it and no code fences.
    - Use null for unknown values and record every guess in assumptions.
    - Keep each description under 25 words.
  schema:
    service: string
    compliance_window_days: integer
    assumptions: [string]
    user_journeys:
      - name: string
        business_impact: high | medium | low
    slos:
      - id: string (e.g. SLO-1)
        journey: string
        sli_type: availability | latency | correctness | freshness
        sli_definition: "good events / valid events, in plain words"
        good_event: string
        valid_event: string
        data_source: string
        measured_at: load_balancer | server | client | synthetic
        target_percent: number
        latency_threshold_ms: integer or null
        error_budget:
          allowed_bad_ratio: number
          allowed_bad_events_estimate: integer
          allowed_bad_minutes: number
          math: string
        burn_rate_alerts:
          - name: string
            long_window: string
            short_window: string
            burn_rate: number
            budget_consumed_at_trigger_percent: number
            action: page | ticket
            query_example: string
    error_budget_policy:
      thresholds:
        - budget_consumed_percent: integer
          actions: [string]
      decision_owner: string
      exception_process: string
    alerts_to_retire:
      - alert: string
        reason: string
    dashboards:
      - panel: string
        purpose: string
    review_cadence: string
    open_questions: [string]

constraints:
  - Maximum 4 SLOs. If more seem necessary, explain the merge choice in assumptions.
  - Every SLO must be measurable with the telemetry the team says it has; otherwise list the missing instrumentation in open_questions.
  - Do not use CPU, memory, or other resource metrics as SLIs.
  - Latency SLIs use a threshold ("requests faster than 800 ms"), not an average.
  - Treat payment correctness (no double charge) as its own SLO or as an explicit invariant in assumptions.

使用场景Best used for

适合视觉方向和创意工作,使用前请替换其中的角色、主题和具体约束。

Useful for visual direction and creative work. Replace the role, topic, and constraints before using it.

使用提醒Usage note

这条内容来自 prompts.chat 公开提示词库;说明为中英对照,正文保留来源原文。使用前请检查并按自己的工作场景改写。

Sourced from the prompts.chat public library. Descriptions are bilingual; the prompt preserves the original text. Review and adapt it to your work before use.