<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx" -->

---
title: Your Docs Have a New Reader (and It Hallucinates) - Paul...
description: A talk by a documentation engineer who works on Qt's documentation generator, exploring how LLMs consume software documentation and the unique failure modes...
canonical: https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Your Docs Have a New Reader (and It Hallucinates) - Paul Wicking | daily.dev
og:description: A talk by a documentation engineer who works on Qt's documentation generator, exploring how LLMs consume software documentation and the unique failure modes...
og:url: https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx
og:image: https://api.daily.dev/og/posts/bmQ3eOBVX.png
og:image:alt: Your Docs Have a New Reader (and It Hallucinates) - Paul Wicking
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Your Docs Have a New Reader (and It Hallucinates) - Paul Wicking

**[C\+\+Online](https://daily.dev/sources/cpponline)** · 6 min read · 2 upvotes · 0 comments

## Summary

A talk by a documentation engineer who works on Qt's documentation generator, exploring how LLMs consume software documentation and the unique failure modes that result. Unlike humans who get compiler errors, LLMs produce plausible-looking code with undefined behavior that compiles and ships. The speaker argues against bolting on AI-specific metadata as a fix, noting that anti-pattern examples in docs lose their 'don't do this' framing when ingested as raw text by LLMs. Instead, the proposed approach is structure-first documentation where the same source renders to HTML for humans and lean JSON/Markdown for machines. A key challenge raised is the lack of measurable feedback — there's no equivalent of page rank for how well an LLM understood your docs, making improvement feel like guessing. The core principle: documentation should be written for humans first, and good structure naturally serves both audiences.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.youtube.com/watch?v=DbL6XPMlw-o>

## Questions this post answers

### Why do anti-pattern code examples in documentation confuse LLMs even when clearly labeled for humans?

Because most HTML formatting and visual cues disappear when an LLM ingests documentation at training time, leaving something closer to raw text where 'don't do this' example code sits alongside correct code with no reliable distinguishing signal. This is described as a pink elephant problem: labeling something as wrong still exposes the model to the pattern itself, so anti-pattern blocks can backfire rather than prevent misuse.

_Anyone documenting APIs for both humans and AI tools can compare notes on structuring docs with daily.dev._

### Why is it hard to measure whether documentation is optimized for LLM comprehension?

There is no equivalent of SEO's page rank for measuring how well a language model understood documentation, since no company publishes a scoring function for documentation legibility to models. The only available method is changing the docs, feeding them to a model, and checking months later whether outputs are less wrong, which is closer to guessing than to engineering.

_Developers tracking how AI tooling reshapes documentation practices can follow the discussion on daily.dev._

## Similar posts on daily.dev

- [Comments Considered Harmful in the Age of LLMs](https://daily.dev/posts/comments-considered-harmful-in-the-age-of-llms-syfjihofv) · Yegor's Blog · 25 upvotes · 13 comments
- [llm-wiki](https://daily.dev/posts/llm-wiki-7o1bskg72) · Hacker News · 7 upvotes · 0 comments
- [How do you stay familiar with the code when it's written by an LLM?](https://daily.dev/posts/how-do-you-stay-familiar-with-the-code-when-it-s-written-by-an-llm--gtcifdlhr) · RUBYLAND · 2 upvotes · 1 comments
- [Announcing llm-docs-builder: An Open Source Tool for Making Documentation AI-Friendly](https://daily.dev/posts/announcing-llm-docs-builder-an-open-source-tool-for-making-documentation-ai-friendly-kjwwrglma) · Closer to Code · 37 upvotes · 1 comments
- [My local LLM reconstructed deleted project documentation from just the code, and it was nearly perfect](https://daily.dev/posts/my-local-llm-reconstructed-deleted-project-documentation-from-just-the-code-and-it-was-nearly-perfe-fmkv7tcp5) · XDA Developers · 1 upvotes · 0 comments

---

Tags: [#career](https://daily.dev/tags/career), [#llm](https://daily.dev/tags/llm), [#c++](https://daily.dev/tags/c++)

[View this post on daily.dev](https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Your Docs Have a New Reader (and It Hallucinates) - Paul Wicking","url":"https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx"},"datePublished":"2026-08-03T16:07:40.275Z","dateModified":"2026-09-14T07:05:12.026Z","description":"A talk by a documentation engineer who works on Qt's documentation generator, exploring how LLMs consume software documentation and the unique failure modes...","image":"https://i.ytimg.com/vi/DbL6XPMlw-o/sddefault.jpg","thumbnailUrl":"https://i.ytimg.com/vi/DbL6XPMlw-o/sddefault.jpg","isAccessibleForFree":true,"articleSection":"C++Online","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"C++Online","logo":"https://media.daily.dev/image/upload/s--8WzMvjLJ--/f_auto,q_auto/v1783236334/logos/cpponline","url":"https://daily.dev/sources/cpponline"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"career,llm,c++","timeRequired":"PT6M","video":{"@type":"VideoObject","name":"Your Docs Have a New Reader (and It Hallucinates) - Paul Wicking","description":"A talk by a documentation engineer who works on Qt's documentation generator, exploring how LLMs consume software documentation and the unique failure modes...","thumbnailUrl":"https://i.ytimg.com/vi/DbL6XPMlw-o/sddefault.jpg","uploadDate":"2026-08-03T16:07:40.275Z","duration":"PT6M","url":"https://api.daily.dev/r/bmQ3eOBVX","embedUrl":"https://www.youtube.com/embed/DbL6XPMlw-o"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"C++Online","item":"https://daily.dev/sources/cpponline"},{"@type":"ListItem","position":3,"name":"Your Docs Have a New Reader (and It Hallucinates) - Paul Wicking"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/your-docs-have-a-new-reader-and-it-hallucinates---paul-wicking-bmq3eobvx#faq","mainEntity":[{"@type":"Question","name":"Why do anti-pattern code examples in documentation confuse LLMs even when clearly labeled for humans?","acceptedAnswer":{"@type":"Answer","text":"Because most HTML formatting and visual cues disappear when an LLM ingests documentation at training time, leaving something closer to raw text where 'don't do this' example code sits alongside correct code with no reliable distinguishing signal. This is described as a pink elephant problem: labeling something as wrong still exposes the model to the pattern itself, so anti-pattern blocks can backfire rather than prevent misuse. Anyone documenting APIs for both humans and AI tools can compare notes on structuring docs with daily.dev."}},{"@type":"Question","name":"Why is it hard to measure whether documentation is optimized for LLM comprehension?","acceptedAnswer":{"@type":"Answer","text":"There is no equivalent of SEO's page rank for measuring how well a language model understood documentation, since no company publishes a scoring function for documentation legibility to models. The only available method is changing the docs, feeding them to a model, and checking months later whether outputs are less wrong, which is closer to guessing than to engineering. Developers tracking how AI tooling reshapes documentation practices can follow the discussion on daily.dev."}}]}
```

