Beispiele

OpenAI Decisions API Beispiele

Zwölf Request-Bodys, die du unverändert an POST /api/v1/decisions senden kannst — der decisions-1-Endpoint dieser Seite, eine aufrufbare OpenAI-Decisions-API-Alternative. Jede Karte zeigt den Request, eine Beispielantwort und wie ein System darauf reagieren würde.

Aktualisiert

Checkout-Vorfall-Routing

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "Checkout shows a blank page after Pay is clicked. The customer is on the live store, not a sandbox.",
  "questions": {
    "team": {
      "type": "choice",
      "instructions": "Which team should own this ticket?",
      "criteria": {
        "payments": "Checkout, billing, or payment processing.",
        "frontend": "Rendering, layout, or browser behavior.",
        "account": "Login, permissions, or profile access."
      }
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "team": {
      "type": "choice",
      "choice": "frontend",
      "probabilities": {
        "frontend": 0.71,
        "payments": 0.24,
        "account": 0.05
      },
      "confidence": 0.47
    }
  },
  "credits_used": 1
}

Reagieren: Ticket an frontend senden; läge payments nahe 0,5, in eine Triage-Warteschlange routen.

Erstattungsabsicht

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "I was charged twice for the same annual plan this morning. Please send the extra charge back.",
  "questions": {
    "refund": {
      "type": "noul",
      "instructions": "Is the customer asking for money back?"
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "refund": {
      "type": "noul",
      "noul": 0.98
    }
  },
  "credits_used": 1
}

Reagieren: noul ≥ 0,9 leitet das Ticket automatisch in die Erstattungswarteschlange; darunter liest es ein Agent.

Dringlichkeits-Score

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "Stripe payouts have been failing for three days and the merchant is losing sales.",
  "questions": {
    "urgency": {
      "type": "score",
      "instructions": "How urgent is this ticket?",
      "criteria": [
        "Can wait for the next release",
        "Should be handled this week",
        "Blocking revenue right now"
      ]
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "urgency": {
      "type": "score",
      "score": 2,
      "legend": [
        "Can wait for the next release",
        "Should be handled this week",
        "Blocking revenue right now"
      ],
      "probabilities": {
        "0": 0.02,
        "1": 0.14,
        "2": 0.84
      },
      "confidence": 0.84
    }
  },
  "credits_used": 1
}

Reagieren: Score 2 alarmiert den Bereitschaftsdienst; Score 1 landet in der Wochenwarteschlange; Score 0 wartet auf das nächste Release.

Phishing-Prüfung

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "User message: \"Share your login and I will fix the account for you tonight.\"",
  "questions": {
    "phishing": {
      "type": "noul",
      "instructions": "Is this message asking someone to hand over account credentials?"
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "phishing": {
      "type": "noul",
      "noul": 0.96
    }
  },
  "credits_used": 1
}

Reagieren: noul ≥ 0,8 blockiert die Nachricht und markiert den Absender; der Rest geht unverändert durch.

Lead-Qualifizierung

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "We route 40,000 support tickets a week and need a probability before we auto-assign a queue. Budget is approved this quarter.",
  "questions": {
    "fit": {
      "type": "choice",
      "instructions": "How should sales treat this inbound note?",
      "criteria": {
        "ready": "A real workflow, a volume, and a buying window.",
        "nurture": "Interest without a stated workflow or timeline.",
        "ignore": "No product fit."
      }
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "fit": {
      "type": "choice",
      "choice": "ready",
      "probabilities": {
        "ready": 0.88,
        "nurture": 0.11,
        "ignore": 0.01
      },
      "confidence": 0.77
    }
  },
  "credits_used": 1
}

Reagieren: ready bekommt noch am selben Tag eine Vertriebsantwort; nurture wandert in den Newsletter-Track; ignore erhält eine höfliche Absage.

Richtlinien-Gate

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "Listing text: \"Guaranteed 30% returns every month. Send crypto to this wallet to join.\"",
  "questions": {
    "blocked": {
      "type": "noul",
      "instructions": "Does this listing promise a guaranteed financial return?"
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "blocked": {
      "type": "noul",
      "noul": 0.99
    }
  },
  "credits_used": 1
}

Reagieren: noul ≥ 0,9 hält das Listing zurück und benachrichtigt den Verkäufer; darunter geht es trotzdem in die menschliche Review-Warteschlange.

Churn-Risiko-Score

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "The renewal note says the team may not continue because exports fail every Friday and nobody has answered the last two tickets.",
  "questions": {
    "risk": {
      "type": "score",
      "instructions": "How high is the chance this account does not renew?",
      "criteria": [
        "Unlikely to leave",
        "Unhappy, still using the product",
        "Likely to cancel"
      ]
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "risk": {
      "type": "score",
      "score": 2,
      "legend": [
        "Unlikely to leave",
        "Unhappy, still using the product",
        "Likely to cancel"
      ],
      "probabilities": {
        "0": 0.07,
        "1": 0.24,
        "2": 0.69
      },
      "confidence": 0.55
    }
  },
  "credits_used": 1
}

Reagieren: Score 2 startet ein Save-Play mit dem Kontoinhaber; Score 1 plant einen Check-in; Score 0 bleibt auf Autopilot.

Rechnungsausnahme

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "Vendor invoice 4481 is $18,400. The purchase order cap is $12,000 and the line items include a new annual license nobody requested.",
  "questions": {
    "exception": {
      "type": "choice",
      "instructions": "Which exception should accounts payable open?",
      "criteria": {
        "over_po": "The amount is above the purchase order.",
        "unexpected_item": "A line item was not requested.",
        "both": "The amount and a line item are both wrong."
      }
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "exception": {
      "type": "choice",
      "choice": "both",
      "probabilities": {
        "both": 0.86,
        "over_po": 0.1,
        "unexpected_item": 0.04
      },
      "confidence": 0.76
    }
  },
  "credits_used": 1
}

Reagieren: both eröffnet einen Fall bei der Beschaffung; over_po allein geht an den Genehmiger; unexpected_item allein an den Anforderer.

Nächste Agenten-Aktion

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "The support agent has the refund policy loaded and the customer confirmed their order number. No tool call has run yet.",
  "questions": {
    "next_action": {
      "type": "choice",
      "instructions": "What should the agent do next?",
      "criteria": {
        "issue_refund": "Call the refund tool for the confirmed order.",
        "ask_details": "Ask the customer for more information.",
        "escalate": "Hand the conversation to a human."
      }
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "next_action": {
      "type": "choice",
      "choice": "issue_refund",
      "probabilities": {
        "issue_refund": 0.82,
        "ask_details": 0.13,
        "escalate": 0.05
      },
      "confidence": 0.69
    }
  },
  "credits_used": 1
}

Reagieren: issue_refund löst das Erstattungs-Tool aus; ask_details sendet eine Rückfrage; escalate übergibt den Verlauf an einen Menschen.

Bug-Triage

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "Bug report: the export button spins forever on Firefox but works in Chrome. Two enterprise accounts reported it this week.",
  "questions": {
    "severity": {
      "type": "score",
      "instructions": "What severity should this bug get?",
      "criteria": [
        "Cosmetic",
        "Minor workaround exists",
        "Blocks a core flow"
      ]
    },
    "is_duplicate": {
      "type": "noul",
      "instructions": "Does this report describe a known browser-specific failure pattern?"
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "severity": {
      "type": "score",
      "score": 2,
      "legend": [
        "Cosmetic",
        "Minor workaround exists",
        "Blocks a core flow"
      ],
      "probabilities": {
        "0": 0.04,
        "1": 0.22,
        "2": 0.74
      },
      "confidence": 0.58
    },
    "is_duplicate": {
      "type": "noul",
      "noul": 0.31
    }
  },
  "credits_used": 1
}

Reagieren: Zwei Fragen in einem Call — severity bestimmt die Warteschlange, is_duplicate entscheidet über die Verknüpfung mit einem bestehenden Issue.

Review-Antwort-Gate

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "App store review, 4 stars: \"Solid app, but the last update broke dark mode on my tablet.\"",
  "questions": {
    "needs_reply": {
      "type": "noul",
      "instructions": "Should the team reply to this review?"
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "needs_reply": {
      "type": "noul",
      "noul": 0.81
    }
  },
  "credits_used": 1
}

Reagieren: noul ≥ 0,7 erstellt einen Antwortentwurf für den Reviewer; niedrigere Scores landen nur im Wochen-Digest.

SLA-Tier-Zuordnung

Im Playground öffnen

Request

{
  "model": "decisions-1",
  "state": "A customer on the Enterprise plan reports their single sign-on is down for all 300 employees.",
  "questions": {
    "sla_tier": {
      "type": "choice",
      "instructions": "Which SLA tier applies to this ticket?",
      "criteria": {
        "p1": "Full outage for an enterprise account.",
        "p2": "Major feature degraded.",
        "p3": "Standard request."
      }
    }
  }
}

Beispielantwort

{
  "model": "decisions-1",
  "answers": {
    "sla_tier": {
      "type": "choice",
      "choice": "p1",
      "probabilities": {
        "p1": 0.93,
        "p2": 0.06,
        "p3": 0.01
      },
      "confidence": 0.87
    }
  },
  "credits_used": 1
}

Reagieren: p1 startet den Incident-Timer und benachrichtigt den Kontoinhaber; p2/p3 landen in den normalen Warteschlangen.

Jedes Beispiel jetzt ausführen

Alle Requests oben funktionieren so wie sie sind — im Playground öffnen oder mit eigenem Schlüssel senden.