{"id":183,"date":"2026-04-11T09:48:06","date_gmt":"2026-04-11T08:48:06","guid":{"rendered":"https:\/\/knowtech.waszmann.com\/?p=183"},"modified":"2026-04-20T17:06:27","modified_gmt":"2026-04-20T16:06:27","slug":"universelles-kontrollschema-fuer-ki-mit-fakten-nutzer-input-und-ableitungen","status":"publish","type":"post","link":"https:\/\/knowtech.waszmann.com\/?p=183&lang=en","title":{"rendered":"From Document Extraction to Alternate History: Why the Three Honesty Rules Work for Worldbuilding Too"},"content":{"rendered":"<p><a href=\"https:\/\/knowtech.waszmann.com\/?p=187&amp;lang=en\">A few weeks ago I\u00a0wrote about three prompt rules\u00a0that stop AI from guessing when extracting data from documents.<\/a> The rules \u2014 Force Blank, Penalize Guessing, Show the Source \u2014 were designed for mundane business problems: contracts with contradictory clauses, meeting notes with ambiguous commitments, invoices with missing fields.<\/p>\n<p>But the more I used them, the more I noticed something: the same rules solve an entirely different problem \u2014 one that has nothing to do with business documents.<\/p>\n<p>They solve worldbuilding.<\/p>\n<hr \/>\n<h2>The Problem: AI as a Continuity Editor<\/h2>\n<p>Anyone who has tried to use an LLM for sustained creative work knows the pattern. You&#8217;re building an alternate history, a fantasy setting, a science fiction universe, a tabletop RPG campaign. You&#8217;ve written hundreds of pages of lore. You hand it to Claude or ChatGPT and ask a question about how your fictional world works.<\/p>\n<p>And the model invents something.<\/p>\n<p>It creates a faction that doesn&#8217;t exist. It attributes a technology to the wrong era. It &#8220;remembers&#8221; a character who was never in your notes. It confidently places a fictional event in a real historical period and gets the real history wrong while doing so. The output sounds plausible, internally consistent, beautifully written \u2014 and it contradicts everything you&#8217;ve built.<\/p>\n<p>This is the same structural problem I described in the earlier post, just in a different domain. The model is trained to produce complete, coherent output. When your lore has a gap, the model fills it \u2014 because filling gaps is what it was optimized to do. Whether the gap is &#8220;what are the payment terms in section 4&#8221; or &#8220;what happened in the Imperial Senate after the divergence point,&#8221; the instinct is identical: make something up that sounds right.<\/p>\n<p>Researchers have a term for this in the fiction context: &#8220;character hallucination&#8221; (<a href=\"https:\/\/arxiv.org\/html\/2409.16727v1\" target=\"_blank\" rel=\"noopener\">Wu et al., 2024<\/a>) \u2014 when an AI playing a role violates the established identity of that role. The IJCAI 2025 tutorial on\u00a0<a href=\"https:\/\/ijcai-roleplay.github.io\/\" target=\"_blank\" rel=\"noopener\">LLM role-playing<\/a>\u00a0calls the broader challenge &#8220;controlled hallucination&#8221;: the model must invent creatively within the established rules of a fictional world, while rigorously refusing to invent things that contradict those rules. The line between productive creativity and lore-breaking confabulation is exactly the line the three rules are designed to draw.<\/p>\n<hr \/>\n<h2>The Adaptation: Worldbuilding Has Two Canons, Not One<\/h2>\n<p>In contract extraction there&#8217;s one source of truth: the document. Extract what&#8217;s there, flag what isn&#8217;t, don&#8217;t invent.<\/p>\n<p>In alternate history, there are\u00a0<em>two<\/em>\u00a0sources of truth operating simultaneously:<\/p>\n<ol>\n<li><strong>Real history<\/strong>\u00a0\u2014 everything that happened in our world before the story diverges from it<\/li>\n<li><strong>Your lore<\/strong>\u00a0\u2014 everything you&#8217;ve established about what happens after the divergence<\/li>\n<\/ol>\n<p>Both are canonical. Both are places the AI must not invent. And the boundary between them is sharp: the &#8220;point of divergence&#8221; (POD), the moment at which your fictional timeline breaks from real history.<\/p>\n<p>Before the POD, the AI must be a historian. It can reference real people, real technologies, real battles, real events \u2014 but only things that actually happened. Inventing a battle that didn&#8217;t happen or a person who didn&#8217;t exist is as bad as making up a contract clause.<\/p>\n<p>After the POD, the AI must be a continuity editor. Only the things established in your lore exist. Everything else is a gap \u2014 and gaps should be labeled, not filled.<\/p>\n<p>This is where the three rules come in, almost unchanged.<\/p>\n<hr \/>\n<h2>The Three Rules, Adapted<\/h2>\n<h3>Rule 1: Force Blank \u2192 Label the Gaps<\/h3>\n<p>In document extraction, the model leaves a field BLANK when the data is missing and explains why. In worldbuilding, the same principle applies with two labels instead of one \u2014 because there are two types of gap:<\/p>\n<ul>\n<li><code>[HISTORICAL GAP]<\/code>\u00a0\u2014 for events before the point of divergence that the model isn&#8217;t certain about. Don&#8217;t invent a Roman consul&#8217;s biography; flag the gap.<\/li>\n<li><code>[LORE GAP: no established specification]<\/code>\u00a0\u2014 for developments after the point of divergence that your lore hasn&#8217;t addressed yet. Don&#8217;t invent a new faction, technology, or major event; flag the gap.<\/li>\n<\/ul>\n<p>The crucial move is the same as before: give the model explicit permission to not-know. Without this permission, the model&#8217;s completion instinct will override its uncertainty detection, and you&#8217;ll get confidently-written hallucinations that feel like canon but aren&#8217;t.<\/p>\n<h3>Rule 2: Penalize Guessing \u2192 A False Invention Is Worse Than a Gap<\/h3>\n<p>The business version of this rule says: &#8220;A wrong answer is 3\u00d7 worse than a blank. When in doubt, leave it blank.&#8221;<\/p>\n<p>The worldbuilding version is even more forceful, because the consequences are worse. A wrong payment term on a spreadsheet gets corrected. A wrong lore detail, accepted into your canon because it sounded right, can poison hundreds of hours of subsequent writing. Every future reference builds on it. Every character interacts with it. By the time you catch it, it&#8217;s woven through your world.<\/p>\n<p>So the rule becomes:<\/p>\n<blockquote><p><em>A false invention is worse than acknowledging a gap in the worldbuilding.<\/em><\/p><\/blockquote>\n<p>No multiplier needed. The asymmetry is total. In creative work, a gap is a prompt to expand your lore on your own terms. A bad invention is a bug that ships.<\/p>\n<h3>Rule 3: Show the Source \u2192 Three Provenance Tags Instead of Two<\/h3>\n<p>In document extraction, every value is either EXTRACTED (directly from the source) or INFERRED (calculated or derived). In worldbuilding, you need three tags because you have two canonical sources plus your own extrapolation:<\/p>\n<ul>\n<li><code>(HISTORY)<\/code>\u00a0\u2014 real historical fact from before the point of divergence<\/li>\n<li><code>(LORE-ESTABLISHED)<\/code>\u00a0\u2014 stated exactly this way in your source lore<\/li>\n<li><code>(LORE-INFERRED)<\/code>\u00a0\u2014 a logical consequence the model is drawing from your lore, with a one-sentence justification<\/li>\n<\/ul>\n<p>The third tag is where the magic happens. You\u00a0<em>want<\/em>\u00a0the model to extrapolate \u2014 that&#8217;s what makes it useful for worldbuilding. An established technology must have consequences; an established faction must interact with other factions; an established event must have ripple effects. But you want those extrapolations flagged, so you can review them and decide whether they fit your vision. A flagged inference you disagree with takes thirty seconds to correct. An unflagged inference that quietly becomes canon takes hours to untangle three sessions later.<\/p>\n<hr \/>\n<h2>The Combined Prompt<\/h2>\n<p>Here is the full adaptation, structured as a system prompt you can paste into any long-running chat about your fictional world. Replace the bracketed placeholders with your own setting.<\/p>\n<blockquote><p><em>We are building an alternate timeline that begins in [YEAR] with [CHANGE \/ POINT OF DIVERGENCE]. You are my historian and continuity editor for this alternate-history universe. Your task is to produce texts, responses, and lore concepts that are absolutely free of contradiction.<\/em><\/p>\n<p><em><strong>The primary rule (the Point of Divergence):<\/strong>\u00a0The year of divergence is [YEAR].<\/em><\/p>\n<p><em><strong>Rule 1 \u2014 BEFORE the Point of Divergence (strict history):<\/strong><br \/>\n\u2022 Everything that happened before this date must correspond 100% to real, verifiable Earth history.<br \/>\n\u2022 Do not invent historical persons, technologies, battles, or events.<br \/>\n\u2022 If you are not certain of a historical detail, do not invent one. Use the placeholder [HISTORICAL GAP] instead.<\/em><\/p>\n<p><em><strong>Rule 2 \u2014 AFTER the Point of Divergence (strict lore canon):<\/strong><br \/>\n\u2022 Everything that happens after this date must be based exclusively on lore texts I provide.<br \/>\n\u2022 Do not invent new factions, main characters, major events, or fundamental technologies that are not established in my texts.<br \/>\n\u2022 If asked about developments my lore does not specify, respond with [LORE GAP: no established specification]. A false invention is worse than acknowledging a gap in the worldbuilding.<\/em><\/p>\n<p><em><strong>Rule 3 \u2014 Source and logic labeling:<\/strong><br \/>\nTo keep the worldbuilding clean, mark in parentheses at the end of each paragraph or for each significant claim where the information comes from:<br \/>\n\u2022 (HISTORY) for real historical facts before the point of divergence<br \/>\n\u2022 (LORE-ESTABLISHED) for facts stated exactly this way in my texts<br \/>\n\u2022 (LORE-INFERRED) for logical conclusions drawn from my lore (e.g., how an established technology affects daily life). When inferring, briefly explain what you are drawing the inference from.<\/em><\/p><\/blockquote>\n<p>Plug in the year, plug in the divergence event, attach your lore documents, and you have a continuity editor that actively refuses to lie to you.<\/p>\n<hr \/>\n<h2>What This Enables<\/h2>\n<p>The workflow change is significant. Without these rules, every AI-generated paragraph needs to be cross-checked against both real history and your own notes \u2014 which nobody actually does, which means errors accumulate silently. With the rules, your attention goes exactly where it should: to the gaps (where you get to decide what your world does next) and to the inferences (where you get to approve or override the model&#8217;s extrapolation).<\/p>\n<p>A few observations from applying this in practice:<\/p>\n<p><strong>The gaps are often the most interesting output.<\/strong>\u00a0When the model flags\u00a0<code>[LORE GAP]<\/code>\u00a0for something, that&#8217;s the moment you realize your lore has a hole \u2014 and often, that hole is exactly the next thing you should develop. The model isn&#8217;t failing to answer; it&#8217;s telling you where your world needs more work.<\/p>\n<p><strong>Inferences reveal your lore&#8217;s implications.<\/strong>\u00a0A well-labeled\u00a0<code>(LORE-INFERRED)<\/code>\u00a0paragraph often surfaces consequences you hadn&#8217;t thought through. &#8220;You established that faction X controls the trade route in Y; inferring, this would mean port city Z becomes economically dependent, which suggests tension with neighbor W.&#8221; That&#8217;s useful even if you reject the specific extrapolation \u2014 it shows you a logical consequence of your own setup.<\/p>\n<p><strong>Real history keeps the fiction grounded.<\/strong>\u00a0Alternate history works best when the &#8220;before&#8221; is accurate. If your timeline diverges in 1914 and the model gets the pre-1914 world wrong, the whole divergence loses meaning. Forcing\u00a0<code>(HISTORY)<\/code>\u00a0labels \u2014 and forcing the model to flag\u00a0<code>[HISTORICAL GAP]<\/code>\u00a0when it&#8217;s uncertain \u2014 keeps the foundation solid.<\/p>\n<hr \/>\n<h2>The Deeper Pattern<\/h2>\n<p>What I find striking is that the same three rules work across two domains that seem to have nothing in common. Business document extraction and creative worldbuilding share no vocabulary, no audience, no workflow. But they share a structure: in both cases, the user needs the AI to distinguish between\u00a0<em>what is established<\/em>\u00a0and\u00a0<em>what is invented<\/em>, and to flag the boundary clearly.<\/p>\n<p>That structural similarity is worth taking seriously. It suggests the three rules aren&#8217;t really about contracts or fiction specifically \u2014 they&#8217;re about the general problem of using AI in any context where fidelity to a source matters more than fluency of output. Legal research. Code refactoring against a style guide. Historical research. Medical summarization. Translation against a glossary. Technical writing against a spec. Academic literature review.<\/p>\n<p>In each of these, the AI&#8217;s default behavior \u2014 produce a confident, complete, coherent answer \u2014 works against the user&#8217;s actual need, which is to know which parts of the output are grounded and which are the model&#8217;s own contribution. Force Blank gives it permission to not-know. Penalize Guessing changes the calculus in favor of honesty. Show the Source makes the boundary between source and invention visible.<\/p>\n<p>Three rules. Two sentences each. Apply everywhere fidelity matters.<\/p>\n<p>The alternate history version is just one adaptation. I&#8217;d be curious what other domains this pattern fits \u2014 if you find one, I&#8217;d love to hear about it.<\/p>\n<hr \/>\n<h3>Sources and Further Reading<\/h3>\n<ul>\n<li><strong>Wu et al. (2024):<\/strong>\u00a0&#8220;<a href=\"https:\/\/arxiv.org\/html\/2409.16727v1\" target=\"_blank\" rel=\"noopener\">RoleBreak: Character Hallucination as a Jailbreak Attack in Role-Playing Systems<\/a>.&#8221; Paper defining character hallucination as violation of role identity.<\/li>\n<li><strong>IJCAI 2025 Tutorial:<\/strong>\u00a0&#8220;<a href=\"https:\/\/ijcai-roleplay.github.io\/\" target=\"_blank\" rel=\"noopener\">LLM-based Role-Playing from the Perspective of Hallucinations<\/a>.&#8221; Introduces the concept of &#8220;controlled hallucination&#8221; \u2014 creative invention constrained by scenario-specific rules.<\/li>\n<li><strong>Previous post:<\/strong>\u00a0&#8220;<a href=\"https:\/\/knowledge.technology\/ai-got-smarter-not-more-honest\/\">ChatGPT and Claude Got Smarter. Not More Honest.<\/a>&#8221; The original three rules for document extraction.<\/li>\n<li><strong>Panickssery, N. (2025):<\/strong>\u00a0&#8220;<a href=\"https:\/\/blog.ninapanickssery.com\/p\/why-do-llms-hallucinate\" target=\"_blank\" rel=\"noopener\">Why do LLMs hallucinate?<\/a>&#8221; On why hallucination is the default behavior of base models and requires active training or prompting to suppress.<\/li>\n<li><strong>Bicking, I. (2023\u20132025):<\/strong>\u00a0&#8220;<a href=\"https:\/\/ianbicking.org\/blog\/2025\/06\/creating-worlds-with-llms\" target=\"_blank\" rel=\"noopener\">Creating Worlds with LLMs<\/a>.&#8221; Series of essays on worldbuilding with LLMs, including the tension between consistency and surprise.<\/li>\n<li><strong>DiGRA (2025):<\/strong>\u00a0&#8220;<a href=\"https:\/\/dl.digra.org\/index.php\/dl\/article\/download\/2426\/2419\/2455\" target=\"_blank\" rel=\"noopener\">Reconceptualizing LLM-Induced Hallucinations as Game Design Features<\/a>.&#8221; On when hallucinations enhance versus break i<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A few weeks ago I\u00a0wrote about three prompt rules\u00a0that stop AI from guessing when extracting data from documents. The rules \u2014 Force Blank, Penalize Guessing, Show the Source \u2014 were designed for mundane business problems: contracts with contradictory clauses, meeting notes with ambiguous commitments, invoices with missing fields. But the more I used them, the &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55,68],"tags":[76,35,57,59,63],"class_list":["post-183","post","type-post","status-publish","format-standard","hentry","category-ai-en","category-ai-in-practice","tag-3rulespart2","tag-advice","tag-ai-en","tag-gpt-en","tag-llm-en"],"_links":{"self":[{"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=\/wp\/v2\/posts\/183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=183"}],"version-history":[{"count":8,"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=\/wp\/v2\/posts\/183\/revisions"}],"predecessor-version":[{"id":235,"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=\/wp\/v2\/posts\/183\/revisions\/235"}],"wp:attachment":[{"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/knowtech.waszmann.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}