Two changes ship in this release that move AI agents from "probabilistically useful" to "production-grade" for multi-step workflows : strict structured outputs and parallel tool execution.
Structured outputs (strict mode)
- Schema-enforced JSON. The agent declares a JSON Schema with its response contract ; the LLM provider (OpenAI today, others as they add the equivalent) is instructed to emit output that validates against that schema. Strict mode forbids extra keys, type drift and missing required fields.
- Reliable parsing. The agent's downstream code parses the response into typed values with no defensive logic for malformed JSON. The class of bug where the agent says "yes" in prose instead of
{"approved": true}is eliminated. - Prompt-injection narrowing. An adversarial input that tries to coerce the agent into emitting a different JSON shape cannot ; the schema constrains the output space. Injection still exists as a category — the agent can still reason wrongly — but the malformed-output sub-class is closed.
Parallel tool execution
- Concurrent tool calls on virtual threads. When the LLM emits two or more tool calls in a single turn, the platform dispatches them concurrently on Java 25 virtual threads rather than serially. A multi-tool turn that previously took the sum of the per-tool latencies now takes the maximum.
- Result aggregation. Tool results assemble back into a single context envelope for the next LLM turn ; ordering is preserved so downstream reasoning is deterministic.
- Cancellation propagation. If the agent is cancelled mid-turn, in-flight tool calls cancel through the standard JDK cancellation propagation. No orphaned work.