πŸ”AI RiskAtlas
← Scenario library

The Schema Made Me Do It

A JSON schema with no field for 'no' forces the sampler past a refusal it would otherwise emit

Technique first revealed 19 Feb 2025

Inside the Model
Inference pipelineBelow the app layerdecode-time API (logprobs / logit_bias / constraints)πŸͺŸContext Windowβœ‚οΈTokenizerπŸ”’EmbeddingsπŸ”¦Attention + KVCache🧬Model Weights &Registry🎲Sampler /DecoderπŸ—οΈServingInfrastructure🧩JSON-schema /grammar🧯Output screen(post-decode)
InstructionsDataActionsControl / decisionFeedback / logs
πŸ‘† Click a component to inspect
SetupStep 1 / 6

A reasonable-looking feature: strict output

A team building an app wants tidy, predictable answers, so they make the model reply only in one exact format β€” like a form with fixed boxes. This is normal and useful: it keeps the output easy for the rest of the app to read.

βš™οΈApp config (structured output)config
response_format: json_schema
strict: true
schema:
  type: object
  required: [answer, steps]
  properties:
    answer: { type: string }
    steps:  { type: array, items: { type: string } }
# Note: schema has no field to express refusal / 'cannot comply'.

AI RiskAtlas is an educational model of how GenAI & agentic systems work and fail. Architectures and payloads are illustrative and simplified for learning β€” not operational guidance. Real-world cases are summarised from public reporting.

Sources & further reading β†’Β·Built by Shi Yuan β†—