GenAI-Powered Dual-Loop System for Automated Documentation Management

intuit · Tech · 2024 · source Agentic: no · promotional bias: low · 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: technical documentation management and knowledge discovery

Intuit needed to improve technical documentation so engineers could find current, well-structured, audience-appropriate information quickly instead of searching through inconsistent knowledge-base content.

Constraints:

Architecture

Intuit built a GenAI-powered dual-loop documentation pipeline. The inner loop improves each document before inclusion by analyzing structure/completeness/comprehension against a rubric, rewriting and style-normalizing content, adding semantic context and query links, and augmenting documents with relevant retrieved information. The outer loop embeds improved documents, retrieves relevant chunks with semantic search, and synthesizes answers to user queries. When answers fail, the system updates the Search Plugin and the base documents so both retrieval behavior and content quality improve.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  knowledge-base["Knowledge base"] --> document-analyzer["Document Analyzer"]
  document-analyzer --> document-improvement-plugin["Document Improvement Plugin"]
  document-improvement-plugin --> document-style-guide-plugin["Document Style Guide Plugin"]
  document-style-guide-plugin --> document-discoverability-plugin["Document Discoverability Plugin"]
  document-discoverability-plugin --> document-augmentation-plugin["Document Augmentation Plugin"]
  document-augmentation-plugin --> knowledge-base
  knowledge-base --> embedding-plugin["Embedding Plugin"]
  embedding-plugin --> search-plugin["Search Plugin"]
  search-plugin --> answer-plugin["Answer Plugin"]
  search-plugin --> knowledge-base
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Knowledge base Collection of technical documentation that is improved, embedded, searched, and used for answer synthesis. Document Analyzer, Document Augmentation Plugin, Embedding Plugin
Document Analyzer Scores document structure, completeness, and ease of comprehension against a custom rubric and routes weak documents for improvement. Document Improvement Plugin
Document Improvement Plugin Restructures and enhances content for coherence and completeness. Document Style Guide Plugin
Document Style Guide Plugin Normalizes voice and style across the knowledge base. Document Discoverability Plugin
Document Discoverability Plugin Adds semantic context and links content to relevant user queries to make documents easier for search and humans to use. Document Augmentation Plugin
Document Augmentation Plugin Uses RAG over knowledge sources to add or update relevant information in the document. Knowledge base
Embedding Plugin Creates vector representations used for similarity search and content clustering. Search Plugin
Search Plugin Uses semantic similarity to find content chunks relevant to a user query and improves future searches when answers fail. Answer Plugin, Knowledge base
Answer Plugin Synthesizes retrieved information into comprehensive answers to user queries. Search Plugin

Data flow

A document enters the inner loop, where analyzer, improvement, style-guide, discoverability, and augmentation plugins score, rewrite, normalize, contextualize, and refresh it. Improved documents are embedded for similarity search. At query time, the outer loop uses embeddings and semantic search to retrieve relevant chunks, then the answer plugin synthesizes a response. Failed answers feed back into search-parameter updates and missing-information updates in the base documents.

3 supporting quotes
“The inner loop refines each individual piece of documentation to ensure it is up to date and structured in a way that makes it possible for the system to extract the information it needs”article, stated
“The outer loop adds context to the equation so it can retrieve the relevant information from across the content in the knowledge base and synthesize an answer to a specific query.”article, stated
“When the system is unable to answer a query successfully, it updates the Search Plugin to improve results for future similar searches and updates the base documents with any missing information.”article, stated

Why this architecture

The dual-loop design attacks documentation quality before retrieval and then improves retrieval behavior from query outcomes. This differs from traditional indexing: documents are actively improved, semantically contextualized, and refreshed before being embedded, while failed queries update both search parameters and missing source content.

3 supporting quotes
“Traditional systems simply index content when it gets added to a knowledge base. Our pipeline looks at the content along multiple dimensions and actively improves it before adding it to the system.”article, stated
“Because the system updates its search parameters, it improves its ability to answer questions in additional contexts in addition to adding or updating information.”article, stated
“Setting a base level of quality for inputs lays a foundation for a more accurate and comprehensive knowledge base.”article, stated

Models used: GenAI · LLMs · vector stores · RAG · embeddings · semantic search

Scale

Alternatives considered (roads not taken)

Traditional indexing when content is added

Rejected because: Indexing alone does not improve document structure, freshness, discoverability, or missing information before retrieval.

“Traditional systems simply index content when it gets added to a knowledge base.”article, stated
“Our pipeline looks at the content along multiple dimensions and actively improves it before adding it to the system.”article, stated

Rely only on retrieval-time context

Rejected because: The system also updates base documents with missing information when answers fail, making the corpus itself better rather than only tuning search.

“When the system is unable to answer a query successfully, it updates the Search Plugin to improve results for future similar searches and updates the base documents with any missing information.”article, stated

Treat LLMs and vector stores as standalone technologies

Rejected because: Intuit argues the unique value comes from orchestrating them in a pipeline, not from the individual technologies alone.

“Large language models (LLMs) and vector stores aren’t new technologies in and of themselves.”article, stated
“Orchestrating them in a pipeline gives our solution unique qualities”article, stated

Patterns

rag-retrieval (knowledge discovery)

The Document Augmentation Plugin uses RAG to refresh documents, while the outer loop retrieves chunks and synthesizes answers from multiple knowledge-base sources.

“This plugin uses retrieval-augmented generation to pull in new, relevant information from various knowledge sources that apply to the document in question.”article, stated
“pull relevant information out of multiple sources within the knowledge base”article, stated

data-quality-loop (knowledge base quality)

The inner loop scores, rewrites, style-normalizes, contextualizes, and augments documents before they enter or remain in the knowledge base.

“The inner loop uses a sophisticated pipeline of GenAI plugins to enhance documentation.”article, stated
“Any element that does not meet the required threshold moves through the pipeline where other plugins make improvements until it is suitable for inclusion.”article, stated

retrieval-ranking (search)

The Search Plugin uses semantic similarity to scan likely content areas and choose the most relevant chunks for the current query context.

“This plugin uses semantic similarity to scan prospective areas of content and find the most relevant chunks to respond to user queries.”article, stated
“This step helps ensure search results are appropriate within the context of the question being asked.”article, stated

prompt-chaining (pipeline orchestration)

The system chains specialized GenAI plugins for analysis, improvement, style, discoverability, augmentation, embedding, search, and answer synthesis.

“Each plugin looks at a different aspect of the documentation and makes improvements as needed:”article, stated
“This plugin brings the pieces together by synthesizing the information provided by the other two plugins into comprehensive, accurate answers”article, stated

eval-driven-development (quality gates)

The Document Analyzer compares structure, completeness, and comprehension against a custom rubric, using a threshold to decide whether a document proceeds through improvement plugins.

“It compares these elements against a custom rubric to come up with a score for the document.”article, stated
“Any element that does not meet the required threshold moves through the pipeline where other plugins make improvements”article, stated

Tradeoffs

Where to improve retrieval quality

Chose pre-process and improve documents before indexing over only index documents as-is.

Rationale: Improving structure, style, freshness, and semantic context before retrieval creates a higher-quality knowledge base for downstream answers.

“Our pipeline looks at the content along multiple dimensions and actively improves it before adding it to the system.”article, stated
“Setting a base level of quality for inputs lays a foundation for a more accurate and comprehensive knowledge base.”article, stated

How to handle failed queries

Chose update search parameters and base documents over only retry retrieval or tune ranking.

Rationale: The source frames failed answers as evidence that both retrieval behavior and missing knowledge may need correction.

“it updates the Search Plugin to improve results for future similar searches and updates the base documents with any missing information.”article, stated

How to structure the system

Chose specialized inner and outer loops over one monolithic retrieval pipeline.

Rationale: Separating document improvement from query-time retrieval lets the system improve both the corpus and the answer path.

“continuously enhances both the information in the knowledge base and the system’s ability to pull information out of the knowledge base”article, stated
“The inner loop refines each individual piece of documentation”article, stated

Gotchas (what bit them)

Documentation quality varies by author.

Root cause: Different writers produce documents with different structure, completeness, comprehension level, and style.

Resolution: Run documents through analyzer, improvement, and style-guide plugins before inclusion.

“Documentation quality varies significantly depending on who writes it.”article, stated
“This tool modifies the voice and style of a document to ensure consistency across the entire knowledge base.”article, stated

Search can retrieve stale or poorly structured information.

Root cause: Documents may not be up to date or written in a way that makes relevant information easy to parse.

Resolution: Use the inner loop to keep documents current and structured for extraction before the outer retrieval loop uses them.

“Difficult to know if information retrieved from documentation is up to date.”article, stated
“Documents aren’t necessarily structured to easily parse for relevant information.”article, stated

Documents may be invisible to the outer retrieval system.

Root cause: Content lacks semantic context or links to the user queries it should answer.

Resolution: Add semantic context and relevant-query links through the Document Discoverability Plugin.

“This plugin modifies content to ensure the outer system can find it when it needs it.”article, stated
“It accomplishes this by adding semantic context and linking it to relevant user queries.”article, stated

Failed answers require both retrieval and source-content fixes.

Root cause: A failed answer can mean search did not find the right material, but it can also mean the base document lacks missing information.

Resolution: Update both the Search Plugin and the base documents when the system cannot answer successfully.

“When the system is unable to answer a query successfully, it updates the Search Plugin to improve results for future similar searches and updates the base documents with any missing information.”article, stated

Evaluation

The article does not report a formal benchmark, but the inner loop includes a custom-rubric document score and threshold gate, and failed query handling serves as operational feedback for search and content updates.

Metrics: document structure score · document completeness score · ease of comprehension score · required threshold for inclusion · failed query events · answer accuracy and comprehensiveness

3 supporting quotes
“It compares these elements against a custom rubric to come up with a score for the document.”article, stated
“Any element that does not meet the required threshold moves through the pipeline”article, stated
“synthesizing the information provided by the other two plugins into comprehensive, accurate answers to user queries.”article, stated

Outcomes

The source does not provide deployment counts, latency, cost, adoption, or accuracy metrics. Its concrete scope is architectural: five inner-loop document plugins, three outer-loop retrieval/answer plugins, and an intended expansion across knowledge domains beyond software documentation.

3 supporting quotes
“we’ve built a GenAI-Powered pipeline to improve the quality and structure of documents”article, stated
“Search results that are combinable and adaptable to fit the context of a query produce a better user experience for knowledge workers”article, stated
“this type of pipeline can be applied across other collections of content”article, stated