---
title: "What is Hallucination?"
canonical: https://wavect.io/glossary/hallucination/
language: en
description: "When an LLM produces fluent, confident output that is simply false, which is a direct consequence of how the model works and cannot be fully eliminated, only reduced."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

TECHNOLOGIES

# Hallucination

When an LLM produces fluent, confident output that is simply false, which is a direct consequence of how the model works and cannot be fully eliminated, only reduced.

Last reviewed: 2026-06-02 by [Kevin Riedl](/team/kevin-riedl/) [wiki ↗](https://www.wikidata.org/wiki/Q139796365)

A hallucination is when a model generates something that sounds right and is wrong: an invented citation, a made-up API, a plausible but false fact. It is not a glitch you can patch out. An [LLM](/glossary/llm/) predicts likely text, and a fluent, confident-sounding answer is statistically likely whether or not it happens to be true. The model has no internal sense of “I do not know,” so it fills the gap with something that fits the pattern.

Because it is structural, the honest framing is risk reduction, not elimination. The biggest lever is grounding: give the model the actual facts at runtime via retrieval ([RAG](/glossary/rag/)) so it answers from real source text instead of its training-time guess. Note that [fine-tuning](/glossary/fine-tuning/) is the wrong lever here, since it shapes behaviour rather than supplying facts. Constrain output formats so there is less room to improvise. Ask the model to cite sources you can check. And critically, evaluate, build a test set of real questions, measure how often the system is wrong, and treat that number as a quality metric you track like any other.

This is where AI meets QA, and most teams skip it. Shipping an LLM feature without an evaluation harness is shipping untested code and calling it done. You need to know your failure rate before your users find it for you. We treat that as non-negotiable under [Software Quality Assurance](/services/software-quality-assurance/).

Worked example of why the evaluation harness is non-negotiable: a team ships a legal-document assistant after testing it on a dozen questions by hand, all of which looked great. In production it confidently cites a clause that does not exist in the uploaded contract, a user acts on it, and now there is a real liability. The harness that would have caught this is unglamorous: a few hundred real questions with known-correct answers, run on every change, producing a single number, the percentage the system got wrong. Without it you do not know your failure rate, which means your users discover it for you, one bad answer at a time. With it, you can decide whether the rate is acceptable for the stakes before you ship.

The trust angle is the whole game in regulated or high-stakes domains. A hallucination in a chatbot that recommends a movie is a shrug. The same hallucination in financial, legal, or medical output is a liability. Match the guardrails to the cost of being wrong, and never let a fluent answer substitute for a verified one.

// FAQ

## FAQs

### Why do LLMs hallucinate?

Because they predict likely text, not verified truth. A fluent, confident answer is statistically probable whether or not it is correct, and the model has no built-in signal for ‘I do not know,’ so it fills the gap.

### Can hallucinations be fixed completely?

No. They are structural to how LLMs work. You reduce them with grounding (retrieval), constrained outputs, source citations, and evaluation, but a residual rate always remains. Manage it, do not assume it is gone.

### How do you reduce hallucinations in production?

Ground answers in real data via RAG, constrain the output format, require checkable citations, and run an evaluation harness that measures your failure rate on real questions. Match guardrail strength to the cost of being wrong.

Related terms

- [LLM](/glossary/llm/)
- [RAG](/glossary/rag/)
- [Fine-Tuning](/glossary/fine-tuning/)

Related services

- [Software Quality Assurance](/services/software-quality-assurance/)
- [Artificial Intelligence](/services/artificial-intelligence/)

Related case studies

- [Twinsoft AI](/case-studies/twinsoft-ai/)

Related guides

- [How to choose a tech stack for an MVP](/software-development-guide/how-to-choose-a-tech-stack-for-mvp/)

Talk to us

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/glossary/hallucination/#term",
      "@type": "DefinedTerm",
      "alternateName": [],
      "description": "When an LLM produces fluent, confident output that is simply false, which is a direct consequence of how the model works and cannot be fully eliminated, only reduced.",
      "inDefinedTermSet": "https://wavect.io/glossary/#termset",
      "name": "Hallucination",
      "termCode": "hallucination",
      "url": "https://wavect.io/glossary/hallucination/"
    },
    {
      "@id": "https://wavect.io/glossary/hallucination/#webpage",
      "@type": "WebPage",
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-06-02",
      "description": "When an LLM produces fluent, confident output that is simply false, which is a direct consequence of how the model works and cannot be fully eliminated, only reduced.",
      "headline": "Hallucination",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-06-02",
      "mainEntity": {
        "@id": "https://wavect.io/glossary/hallucination/#term"
      },
      "mentions": [
        {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        {
          "@type": "Service",
          "name": "Software Quality Assurance",
          "url": "https://wavect.io/services/software-quality-assurance/"
        },
        {
          "@type": "Service",
          "name": "Artificial Intelligence",
          "url": "https://wavect.io/services/artificial-intelligence/"
        }
      ],
      "name": "Hallucination",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".gls-single__h1",
          ".gls-single__tldr"
        ]
      },
      "url": "https://wavect.io/glossary/hallucination/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/",
          "name": "Tech, product & engagement glossary",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/glossary/hallucination/",
          "name": "Hallucination",
          "position": 3
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Because they predict likely text, not verified truth. A fluent, confident answer is statistically probable whether or not it is correct, and the model has no built-in signal for 'I do not know,' so it fills the gap."
      },
      "name": "Why do LLMs hallucinate?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. They are structural to how LLMs work. You reduce them with grounding (retrieval), constrained outputs, source citations, and evaluation, but a residual rate always remains. Manage it, do not assume it is gone."
      },
      "name": "Can hallucinations be fixed completely?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Ground answers in real data via RAG, constrain the output format, require checkable citations, and run an evaluation harness that measures your failure rate on real questions. Match guardrail strength to the cost of being wrong."
      },
      "name": "How do you reduce hallucinations in production?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
