HR Copilot Evaluation: Schema, Refusals, and Compliance

By Brendten Eickstaedt —

Compare OpenAI, Claude, and Gemini structured outputs for HR copilot evaluation: schema strictness, refusal handling, retry cost, and compliance logging.

Your HR copilot gave a wrong answer. Do you know why, or how often? The structured output layer underneath your AI assistant is either a governance asset or a liability gap, and the difference is in how you measure it.

In Brief:

  • Schema strictness decides everything: OpenAI and Claude both support strict: true for JSON schema enforcement, but each has complexity limits that matter when you model HR decision objects like candidate screens or policy answers.
  • Refusals are governance signals, not just UX failures: All three platforms (OpenAI, Claude, and Gemini) can override a schema with a refusal. In an HR copilot, every refusal is a loggable compliance event you should be capturing.
  • First-request latency is a real deployment cost: Schema compilation on first use adds latency and drives retry costs. Claude caches grammars for 24 hours; OpenAI caches schemas by content hash. Understand the warm vs. cold cost model before you deploy.
  • Gemini's two-step loop changes how you instrument: Gemini function calling returns a suggested function call, not the final answer, requiring a second round-trip. This changes your audit log architecture and your latency budget.
  • Retry cost is a budget line, not just a metric: When a copilot breaks schema, due to max_tokens truncation, refusal, or complexity limits, your system retries. At 200 screen-step decisions per day with a 3% break rate, that accumulates.
  • The eval suite is the compliance program: Schema breaks, refusals, and retries are governance data under LL144, Illinois AIPA, and the EU AI Act. If you are not logging them, you are building evidence gaps.
  • Vendor choice should follow the use case: Recruiter copilots, manager copilots, and HRIS copilots have different schema complexity and latency profiles. The right provider differs by job-to-be-done.

How to Read This: HR Copilot Evaluation Basics

If you are running an HR copilot in production, or evaluating whether to, structured outputs are not a back-end detail. They are the mechanism that determines whether your AI reliably returns a decision, a recommendation, or a summary in a format your downstream systems and auditors can parse. An HR copilot evaluation suite should measure schema adherence rate, refusal rate, retry rate, and schema-break type. Those numbers tell you whether your AI assistant is production-ready. They also tell your legal team whether the system has a defensible audit trail.


The Comparison: OpenAI vs. Claude vs. Gemini for HR Copilots

AI copilot evaluation starts with one core question: when the model generates a candidate screen decision, a manager feedback summary, or an HRIS policy answer, does it return the shape you specified, every time, at acceptable latency, with a coherent failure mode?

The three leading structured output implementations answer that question differently.

Dimension OpenAI Structured Outputs Claude Structured Outputs Gemini Function Calling
Schema strictness strict: true enforces JSON schema with near-100% conformance; not compatible with parallel tool calls strict: true enforces schema; caps on optional parameters and union types limit complexity Function call returns structured args per defined schema; prompt-based JSON fallback risks backticks and non-ISO values
Refusal handling Model refusal overrides schema; returned as a refusal object, not a schema-conformant response Refusal and max_tokens truncation can break schema compliance even with strict: true enabled Two-step loop. Model may decline to call function; no guaranteed return payload on refusal
Retry cost / latency First request per schema incurs compilation latency; cached by content hash after first use Grammar compilation on first request per schema; grammars cached 24 hours since last use Two-step round-trip per interaction adds baseline latency over single-call approaches regardless of refusal
Tool / function loop Native tool calling with strict: true; parallel tool calls disabled in strict mode Tool use with strict: true; complex schemas hit caps on optional params and union types Full loop: model suggests function call, developer executes, sends function response back for final answer
Best-fit HR copilot use case Recruiter copilot for high-volume screening decisions, simple-to-moderate schemas, cost-sensitive retries HRIS copilot for policy Q&A with constrained answer types, moderate complexity, 24-hour cache reuse Manager copilot for complex multi-step reasoning, tool chaining, lower volume, latency tolerance higher

OpenAI: Best for High-Volume Recruiter Copilots

OpenAI's Structured Outputs with strict: true, available in both response_format: json_schema and in tool/function calling, enforces schema conformance at near-100% reliability on well-scoped schemas. For a recruiter copilot generating screening decisions at scale, this is the operational sweet spot. Define a ScreenDecision object with fields like decision, rationale, confidence_score, flags, and audit_event_id, and the model returns that shape reliably.

The HR copilot evaluation concern is the refusal path. OpenAI's documentation is explicit: a model refusal overrides the schema, returning a refusal object rather than a schema-conformant response. In HR terms, a refusal is not neutral. It is a signal that the model reached a boundary on the input. Every refusal in a recruiter copilot should be logged as a governance event: what was the input, what triggered the refusal, how was it resolved?

Parallel tool call limitation matters if your recruiter copilot orchestrates multi-step lookups in the same call. In strict mode, parallelism is disabled. Most recruiter screen-step copilots do not need it, but HRIS and manager copilots might. Factor this into your architecture decision.

Claude: Best for HRIS Copilots With Policy Q&A Patterns

Claude's structured outputs via output_config.format and strict tool use have one operationally important advantage: 24-hour grammar caching. If your HRIS copilot is fielding hundreds of policy queries per day using the same schema, and it will be, the grammar compilation penalty on the first request becomes a one-time cost per 24-hour window. At scale, this matters for your AI copilot evaluation cost model.

The schema complexity limits require planning. Claude places caps on optional parameters and union types. For a PolicyAnswer schema with enumerated answer types, a confidence field, and a source citation, you are well within bounds. For a complex manager copilot schema that nests decision objects with multiple optional reasoning branches, you may hit the ceiling and need to simplify or split schemas.

The max_tokens failure mode is the one to instrument carefully. If a response is truncated mid-generation, schema conformance breaks. Unlike a clean refusal, a truncated response may look partially valid. Your HR copilot evaluation suite needs explicit test cases for truncated schema breaks, not just refusals.

Gemini: Best for Manager Copilots That Need Tool Chaining

Gemini function calling takes a fundamentally different architecture: the model does not return a final answer on the first call. It returns a suggested function name and arguments. The developer executes the external API call and sends the function response back to the model for a final answer. This two-step loop adds latency by design.

For a manager copilot that genuinely needs live data such as current headcount, open roles, or performance cycle status, this architecture is correct. The HR copilot evaluation implication is that your instrumentation must track both legs of the loop: the function suggestion call and the final answer call. Your audit log needs both payloads.

The Gemini documentation explicitly warns that prompt-based JSON extraction produces backticks and non-ISO datetime values. Function calling eliminates this class of parsing failure. For any HR copilot where output is parsed downstream into an HRIS or ATS, the clean structured output from function calling is worth the two-step latency overhead.

Verdict: Match the Provider to the Copilot Job

  • Recruiter copilot (high-volume, simple-to-moderate schema, cost-sensitive): OpenAI Structured Outputs with strict: true. Instrument refusals as compliance events. Monitor schema break rate as a cost KPI.
  • Manager copilot (complex reasoning, tool chaining, latency tolerance): Gemini function calling. Instrument both legs of the function loop in your audit log.
  • HRIS copilot (policy Q&A, repeated schema patterns, 24-hour reuse window): Claude Structured Outputs with 24-hour grammar cache. Instrument truncation failures separately from refusals.

Quick Hits

Illinois AIPA enforcement timeline is not abstract. The Illinois Artificial Intelligence Policy Act took effect January 1, 2026, with employer obligations around notice when AI influences any employment decision. If your HR copilot is generating candidate scores, manager recommendations, or policy guidance that feeds a people decision, Subpart J notice requirements apply, and your schema logs are the evidence trail. Start treating every structured output as a potential disclosure record now.

So what: Your audit log is not a debug tool. It is a regulatory asset. The HR copilots generating the most value are also accumulating the most governance exposure.

EU AI Act delay is not a design holiday. The European Parliament has taken a position to delay high-risk employment AI obligations to December 2027, but EU-facing HR teams should not pause compliance architecture work. The obligation framework is set. The structured output schema design decisions you make now (decision, rationale, confidence, audit_event_id) will determine how hard the 2027 retrofit is.

So what: Schema design is compliance design. Build the governance fields into your schemas now.

Retry cost accumulates quietly in HR copilot stacks. A recruiter copilot generating 200 screen-step decisions per day with a 3% schema break rate produces 6 retries per day. Across a suite of HR copilots running concurrently, schema break rate becomes a meaningful cost driver. AI copilot evaluation frameworks should include schema adherence rate as a core KPI alongside accuracy and latency.

So what: Every percentage point of schema adherence improvement is a direct cost reduction. Optimize schemas against each vendor's documented limits before you optimize prompts.


The Operator's Take: Your Eval Suite Is Your Governance Program

The compliance conversation in AI hiring has been dominated by notice requirements, bias audits, and vendor contracts. Those remain essential. But there is a second compliance layer that operators are underbuilding: the runtime governance layer that lives inside your HR copilot architecture.

Structured outputs are not just a quality mechanism. Every time an HR copilot generates a schema-conformant response, you have a loggable, auditable decision artifact. Every time it does not (refusal, truncation, schema break), you have a governance signal. Under NYC Local Law 144, Illinois AIPA, and the EU AI Act's high-risk employment AI framework, the ability to demonstrate that your system operates within defined decision boundaries is increasingly non-negotiable.

Your AI copilot evaluation suite is the mechanism that produces that evidence. Refusal rate by input type, schema break rate by schema version, retry frequency by use case. These are not just engineering SLOs. They are the operational record that your legal team can point to when a regulator asks whether your HR copilot was operating within tested, governed parameters.

Build the eval suite before you scale deployment. The governance program follows directly from it, and so does your compliance defense.


Resource

Map structured output failures to bias exposure categories. Get the AI Bias Audit Checklist ($29, included with Pro subscription).

Sequence your copilot rollout with eval gates baked in. Get the AI Adoption & Implementation Playbook ($39).

Related Reading