Large-Scale Tax AI Assistant Implementation for TurboTax

intuit · Finance · 2024 · source Agentic: yes · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Regulated tax-assistant question answering and explanation

Intuit needed TurboTax users to understand deductions, credits, refunds, product steps, and personal tax situations at the scale of tens of millions of annual returns. The assistant had to route static and dynamic questions to the right LLM/RAG/tax-engine solution, keep calculations authoritative, satisfy legal/privacy/security constraints, handle slow LLM latency during tax-season peaks, and use tax experts to verify quality in a domain where hallucinated numbers can create financial and legal harm.

Constraints:

Architecture

Intuit built Intuit Assist for TurboTax on GenOS, its generative-AI platform. GenUX handles the customer-facing experience, an orchestrator routes questions to the appropriate LLM solution, Claude powers the main static tax-explanation use case, GPT-4 Mini has handled dynamic Q&A, and RAG/Graph RAG integrate proprietary tax information and IRS changes. Tax calculations stay in Intuit's tax knowledge engine, while LLMs explain the results. Human tax analysts act as prompt engineers and evaluators, seed golden datasets, and support LLM-as-judge automation and production monitoring.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  workflow["TurboTax user workflow"] --> genux["GenUX"]
  genux --> orch["GenOS orchestrator"]
  orch --> static["Static explanation service"]
  orch --> dynamic["Dynamic Q&A service"]
  static --> claude["Claude model endpoint"]
  dynamic --> gpt["GPT model endpoint"]
  dynamic --> rag["RAG and Graph RAG layer"]
  rag --> tax["Tax knowledge engine"]
  tax --> static
  static --> guard["Safety guardrails"]
  dynamic --> guard
  experts["Tax expert evaluation team"] --> static
  experts --> golden["Golden dataset"]
  golden --> judge["LLM-as-judge evaluator"]
  gpt --> judge
  judge --> monitor["Production monitoring"]
  guard --> monitor
  fine["Fine-tuning environment"] --> claude
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
GenUX User-interface layer for the TurboTax AI assistant experience. GenOS orchestrator, TurboTax user workflow
GenOS orchestrator Central routing layer that selects the right Intuit LLM solution or component for each query. GenUX, Static explanation service, Dynamic Q&A service, RAG and Graph RAG layer
Static explanation service Prepared-prompt service for known tax-summary and refund-explanation scenarios. GenOS orchestrator, Claude model endpoint, Tax knowledge engine, Safety guardrails
Dynamic Q&A service Question-answering service for user-specific tax and product questions. GenOS orchestrator, GPT model endpoint, RAG and Graph RAG layer, Safety guardrails
Claude model endpoint Primary model family used for the static TurboTax explanation use case. Static explanation service, Fine-tuning environment
GPT model endpoint OpenAI model path used for dynamic question-answering and LLM-as-judge automation. Dynamic Q&A service, LLM-as-judge evaluator
RAG and Graph RAG layer Retrieval layer over tax information, proprietary tax knowledge, and graph relationships among tax concepts. Dynamic Q&A service, Tax knowledge engine
Tax knowledge engine Authoritative system for tax calculations, refund numbers, deductions, and tax profile data. Static explanation service, RAG and Graph RAG layer, Safety guardrails
Safety guardrails ML and security controls that check raw LLM responses for hallucinated numbers and unsafe content before user delivery. Static explanation service, Dynamic Q&A service, Tax knowledge engine
Tax expert evaluation team Tax analysts who write prompts, perform manual evaluations, and define standards for automated evaluation. Static explanation service, LLM-as-judge evaluator, Golden dataset
Golden dataset Manual examples and evaluation labels used to guide automated judge prompts and regression checks. Tax expert evaluation team, LLM-as-judge evaluator
LLM-as-judge evaluator Automated evaluation layer for accuracy, relevancy, coherence, and model/prompt changes. Golden dataset, GPT model endpoint, Production monitoring
Production monitoring Samples real user interactions and monitors output quality in production. LLM-as-judge evaluator, Safety guardrails
Fine-tuning environment AWS Bedrock-based Claude 3 Haiku fine-tuning path using consented data in approved environments. Claude model endpoint, Golden dataset
TurboTax user workflow The tax-preparation flow where users enter information, see outcomes, and ask follow-up questions. GenUX

Data flow

A TurboTax user enters tax information and may view a static explanation or ask a dynamic question. GenUX presents the assistant experience, while the GenOS orchestrator identifies which team-owned solution should answer the query. Static refund or deduction explanations use prepared prompts with tax profile data and Claude; dynamic questions use Q&A models such as GPT-4 Mini plus RAG or Graph RAG over tax knowledge. Numerical facts come from Intuit's tax engine. Human tax analysts design prompts, manually evaluate early outputs, create golden data through tools such as AWS Ground Truth, and their judgments become automated LLM-as-judge and monitoring checks for production interactions.

4 supporting quotes
“the UI side which is the genux. Then there's orchestrator. That's basically the piece where different teams are working on different components”transcript, stated
“static queries would be you know what I was showing earlier that we know you are looking at your summary.”transcript, stated
“IRS changes forms every year uh into it has proprietary tax uh information tax engines that we want to use.”transcript, stated
“human experts bring their expertise and are able to both help with prompt engineering and get the initial evaluations done”transcript, stated

Why this architecture

Intuit uses platform orchestration because different tax, product, static, and dynamic questions need different solutions. The architecture separates deterministic tax calculations from LLM explanations so numerical truth remains in the tax engine. Human tax experts define the prompts and evaluation baseline because tax accuracy is domain-specific, while LLM-as-judge and production monitoring make repeated model, prompt, and tax-year changes scalable. Fine-tuning was tested to reduce prompt size and latency, but only within regulatory and consent constraints.

4 supporting quotes
“How do you find the right solution to answer the right question and uh into it calls the entire experience that we power through this into it assist.”transcript, stated
“We are not having LLMs do the calculations at all. We're basically using the ground truth that is already existing in our systems”transcript, stated
“we have tax experts who actually crafted these prompts. So they are specifically tested for each piece”transcript, stated
“the only way it's possible is because we have clear eval in place so that we can test out uh whatever we are changing”transcript, stated

Models used: Claude · Claude 3 Haiku · Claude Instant · GPT-4 Mini · GPT-4 series · RAG · Graph RAG · ML safety models

Scale

Alternatives considered (roads not taken)

Use one generic LLM solution for all TurboTax assistant questions

Rejected because: The speaker says different question types need different solutions and an orchestrator/planner routes to the right component.

“different types of questions need different solutions and that's where maybe I would reiterate go back to here”transcript, stated
“we want to make sure when the query comes in we understand what the user is trying to ask”transcript, stated

Let the LLM calculate tax numbers

Rejected because: Intuit keeps numbers in its proprietary tax engine and uses guardrails to prevent hallucinated numbers in explanations.

“We are not having LLMs do the calculations at all.”transcript, stated
“We have a lot of safety guardrails on what's the raw LLM response. Make sure you know we are not hallucinating numbers”transcript, stated

Rely only on manual expert evaluation for every prompt tweak

Rejected because: Manual evaluation creates the baseline, then automated LLM-as-judge evaluation handles smaller iterations while major changes return to experts.

“when we are in the initial phase of development we are looking more on the uh manual relations with tax experts so we can get a baseline in place.”transcript, stated
“Then as we are tweaking different things in the prompts that's where auto evaluation comes in.”transcript, stated

Treat model upgrades as simple provider-version swaps

Rejected because: Intuit found even same-vendor upgrades require evaluation because prompts, tax rules, and model behavior change.

“we found out it's not even easy to upgrade this model from the same vendor going into the next year.”transcript, stated
“model changes are not uh as smooth as you would think.”transcript, stated

Patterns

model-routing (orchestration)

GenOS routes static explanations, dynamic tax questions, product questions, RAG flows, and model endpoints to the appropriate Intuit solution.

“How do you find the right solution to answer the right question”transcript, stated
“different types of questions need different solutions”transcript, stated

rag-retrieval (retrieval)

TurboTax uses RAG and Graph RAG over tax information and proprietary knowledge engines to answer tax questions with current domain context.

“we have rag based and of course graph rag based solutions around it as well.”transcript, stated
“graphic definitely outperforms uh well regular rack”transcript, stated

human-in-the-loop-gate (evaluation)

Tax analysts provide prompts, manual evaluations, and golden examples before automation is trusted for ongoing changes.

“actually using the tax analysts as the prompt engineers.”transcript, stated
“human experts bring their expertise and are able to both help with prompt engineering and get the initial evaluations done”transcript, stated

llm-as-judge (evaluation)

Intuit uses LLM-as-judge prompts, golden data, and GPT-4-series models to scale quality checks after expert baselines are established.

“LLM as a judge is what we use”transcript, stated
“We use AWS ground truth for that.”transcript, stated

fine-tuning-adaptation (model-adaptation)

Intuit tested Claude 3 Haiku fine-tuning on AWS Bedrock for static tax queries to reduce prompt size and preserve quality.

“we actually stuck to just fine-tuning on claw 3 haiku powered by AWS bedrock.”transcript, stated
“we want to see if we can squeeze down the prompt size and at the same time keep the quality”transcript, stated

safety-policy-enforcement (governance)

Safety guardrails and ML checks prevent hallucinated tax numbers and keep regulated outputs tied to authorized tax-engine data.

“working in tax we are in the regulatory business uh safety security uh is very very important.”transcript, stated
“basically make sure we did not hallucinate any numbers that we built up.”transcript, stated

Tradeoffs

Numerical authority

Chose tax-engine numbers with LLM-generated explanations over LLM-generated tax calculations.

Rationale: This keeps regulated numerical truth in a proven internal system while still giving users natural-language explanations.

“The tax profile information is all coming from these numbers. We are not having LLMs do the calculations at all.”transcript, stated
“We're basically using the ground truth that is already existing in our systems as the numbers that we see.”transcript, stated

Evaluation cadence

Chose manual expert evaluation for baselines and major changes, automated eval for smaller iterations over manual-only or automated-only evaluation.

Rationale: Expert judgment sets the tax-quality bar, while automated evaluation keeps prompt and model iteration practical.

“Then as we are tweaking different things in the prompts that's where auto evaluation comes in.”transcript, stated
“if the prompt changes a lot we would uh go for manual evaluations.”transcript, stated

Fine-tuning scope

Chose pilot Claude 3 Haiku fine-tuning for static queries over broadly fine-tuning every assistant behavior.

Rationale: Static explanations offered a bounded test case for reducing prompt size and latency, while dynamic questions remained model/RAG-driven.

“we actually stuck to just fine-tuning on claw 3 haiku powered by AWS bedrock.”transcript, stated
“we stuck to static queries and we tested it out”transcript, stated

Product latency strategy

Chose design fallbacks and UX around multi-second LLM latency over expecting LLMs to meet 100-200ms backend SLAs.

Rationale: Tax-season prompts and load make multi-second response times unavoidable, so product design must absorb the delay.

“We're not looking at, you know, 100 millisecond, 200 milliseconds. We're talking about 3 seconds, 5 seconds, 10 seconds.”transcript, stated
“So we design a product around that. We want to make sure we have the right uh fallback mechanisms”transcript, stated

Gotchas (what bit them)

LLM tax assistants must not hallucinate numbers.

Root cause: Tax answers include refund, deduction, and tax-profile numbers where small errors can be consequential.

Resolution: Use the proprietary tax knowledge engine as the source of numbers and add ML safety checks over raw LLM responses.

“The tax profile information is all coming from these numbers. We are not having LLMs do the calculations at all.”transcript, stated
“we have ML models that are working under the hood as part of the uh security aspect”transcript, stated

Provider and prompt lock-in are operational, not just commercial.

Root cause: Long-term vendor contracts reduce cost, while prompts and same-vendor upgrades require rework and validation.

Resolution: Maintain strong vendor partnerships and a clear evaluation framework for model and prompt changes.

“the contracts are really expensive and the only way they are slightly cheaper if you have long-term contracts.”transcript, stated
“essentially vendors are a form of lock in the prompts are a form of lock in.”transcript, stated

LLM latency does not behave like normal backend latency.

Root cause: Complex tax situations make prompts balloon, and peak filing periods increase load.

Resolution: Design the product experience, fallback mechanisms, and user interface around multi-second responses.

“LLM models of course they don't have the SLAs of backend services.”transcript, stated
“the prompts really balloon up uh if you're trying to figure out the outcome”transcript, stated

Fine-tuning can improve latency but narrow the model too much.

Root cause: The fine-tuned Claude 3 Haiku experiment performed well but became specialized to static use cases.

Resolution: Treat fine-tuning as one option in the model lifecycle and keep evaluating broader models and approaches.

“it does well uh it definitely does well uh quality is there uh it takes effort to fine-tune the model”transcript, stated
“however we found that was a little too specialized in the specific use case”transcript, stated

Evaluation

Evaluation combines human tax-expert review, manual golden data, LLM-as-judge automation, production sampling, and monitoring. Major tax-year or prompt changes return to manual evaluation, while smaller prompt iterations use automated evaluation based on expert guidance.

Metrics: accuracy · relevancy · coherence · tax-accurate output · manual expert review · LLM-as-judge automated evaluation · production sample monitoring

3 supporting quotes
“you want to evaluate everything. So the key pillars are accuracy, relevancy and coherence.”transcript, stated
“So we have both manual and automated systems. We also have broad monitoring”transcript, stated
“as you can see the key output is we want to make sure it's tax accurate. That's the main thing we want to aim for”transcript, stated

Outcomes

The assistant operates in a TurboTax environment that processed 44 million tax returns for tax year 2023 and experiences peak load around the April 15 deadline.

3 supporting quotes
“Turboax successfully processed 44 million tax returns for tax year 23”transcript, stated
“The production model that we went with is claude uh for this use case.”transcript, stated
“we made the move from uh uh anthropic cloud instant to anthropic cloud haiku for the next year”transcript, stated