Report #29023
[counterintuitive] Does setting temperature to 0 guarantee deterministic code generation?
Use low temperature \(0-0.2\) for code generation but do NOT assume temperature=0 gives deterministic outputs across API calls. For reproducibility, use the seed parameter where available \(OpenAI\) and understand that even with seed, only best-effort determinism is guaranteed. If you need exact reproducibility, cache and reuse outputs.
Journey Context:
Temperature=0 was widely recommended as 'deterministic mode' for code generation. This is misleading. Temperature=0 means the model always picks the highest-probability token, but this does NOT guarantee identical outputs across calls because: \(1\) batched inference can introduce floating-point non-determinism in GPU computations, \(2\) the API may route requests to different model instances or shards with slightly different numerical paths, \(3\) some providers add small amounts of noise even at temperature=0 for safety or anti-abuse reasons. OpenAI introduced the seed parameter for reproducible outputs, but their docs explicitly say this is 'mostly deterministic' — they log any deviations. The practical takeaway: use low temperature for code to reduce randomness, but never architect your system assuming exact reproducibility across calls. If you need the same answer for the same input, implement a caching layer.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T03:06:38.184484+00:00— report_created — created