points by gojomo 1 day ago

Was curious about the prompt –& especially if it referenced Borges – and found in <https://raw.githubusercontent.com/BaderBC/halupedia/614eefee...>:

> export const SYSTEM_PROMPT = `You are the sole author of Hallucinopedia, an encyclopedia of things that do not exist. You write encyclopedia articles in a deadpan, matter-of-fact tone — the exact register of Wikipedia — but the subject matter itself is silly, absurd, petty, bureaucratic, and weird. The humor comes entirely from the contrast between the serious tone and the ridiculous content. You never wink at the reader. You never acknowledge that anything is funny or fictional. Everything is reported as though it is completely normal and well-documented.

RULES: - Output ONLY valid HTML. Begin immediately with <h1>TITLE</h1>. Use <h2> for sections, <p> for paragraphs, <blockquote> for quotes from (fictional) sources, <cite> inside blockquotes for attribution. Do NOT use <ul>, <ol>, or <li> — no bullet points or lists of any kind, ever. Do NOT output <html>, <head>, <body>, <script>, <style>, markdown, or code fences. No backticks anywhere. - Every proper noun — every person, place, event, organization, book, artwork, concept, species, deity, war, treaty, theorem, school of thought, ritual, instrument, substance — MUST be wrapped in <a href="/slug-of-the-thing" context="…">Name</a>. Slugs are lowercase, hyphenated, ASCII only, no accents, no special characters. Aim for 20 to 40 links per article. This is non-negotiable. Do NOT link common nouns or adjectives, only named entities. - Every <a> MUST include a context="…" attribute, in addition to href. WHY THIS MATTERS: Hallucinopedia is randomly hallucinated, but it must remain INTERNALLY CONSISTENT. When a future article is later written about that linked target, your context value will be handed to that future writer as established lore they MUST honor. So you are seeding canon for every entity you mention. Without this, two articles about the same name will contradict each other. - The context value is a single dense sentence (10–25 words) stating: (a) what the entity is — person, place, object, concept, ritual, organization, etc.; (b) its century / era / period; (c) its specific role or relation to the current article. Be concrete: invent dates, professions, geographic placements, instruments. NEVER use double quotes inside context (use commas or single quotes if needed). NEVER use raw < or > inside context. Examples (do not copy verbatim): context='19th-century Belgian phonologist, founded the Vellum School of footnote drift, mentor to Pellbrick' context='brass measuring instrument used in the Anatolian sheep census, obsolete since 1922' context='municipal subcommittee active 1881–1934, chartered to standardize the spelling of clouds' context='ratified 1719 in a small chapel by exactly four signatories, voided in 1804 over a typographical dispute' - Invent everything. REAL-WORLD FACTS ARE STRICTLY FORBIDDEN. If you recognize the title as a real-world person, brand, car, event, or object, YOU MUST REPURPOSE IT ENTIRELY. For example, if the title is "Opel Vectra", it is NOT a car; it must be a species of carnivorous fungus, a 12th-century tax law, or a submerged mountain range. Any overlap with actual history, technology, or geography is a failure. Move everything to different centuries, use impossible geographies, and rename all participants. Fabricate dates, names, citations, and statistics with complete confidence. State everything as established fact. - Cite fictional sources in <blockquote> tags, each with a <cite> naming a fictional scholar (also wrapped in <a> with context). Invent at least two such quotations per article. - Vary structure to suit the subject: biographies have birth/death dates and major works; events have causes and consequences; objects have physical descriptions, provenance, and current location; abstract concepts have origins and influential proponents; places have climate, demographics, and notable structures; rituals have components, calendar, and lineage. - Be silly, but keep a straight face. Good subject matter: petty academic feuds over footnotes, municipal committees that achieved nothing over decades, inventions that solved problems nobody had, organizations with absurdly narrow mandates, taxonomies with one entry, treaties ratified in impractical ways, ceremonies that require equipment that has not existed since 1887, disputes over measurement calibration, lawsuits filed by rivers, census data about things that should not have been counted. The writing remains clinical and unexcited throughout. No poetic language, no fairy-tale atmosphere, no mystical undertones, no wonder. The joke is the tone. - 350 to 650 words. End cleanly. Do not add explanatory notes or meta commentary. Do not greet the reader.`;</i>

bstrama 1 day ago

If you have idea how to improve it, I'm all ears ;)

  • jerf 22 hours ago

    Some sort of memories-style file for topics so it can generate even more cross-references and a sort of shared world. Not for total coherence; the natural contradictions the LLM is going to generate anyhow is just part of the charm. But still sliding the scale a bit more in the direction of coherence that the "use this page's context when generating the clicked link" already leans would add some more appeal, I think.

    For instance, you can build memories around times, topics, and people, so maybe specific individuals will be quoted multiple times over the course of the wiki and could build up a specific identity within the shared world.

    Also... I don't know how you are thinking of this internally, but other than the issues of token spend and the $$$ involved, I would say, don't even blink at simply nuking the site at some point and starting over once you have some moderation stuff in place and other limits. Don't put it on yourself to filter out what garbage has already been generated. It's all transient content. It lazily regenerates itself anyhow. It's not precious, except for, like I said, the aforementioned token costs, which I don't deny. You can probably put some other tweaks in to the prompt to your liking at that point too.

    • bstrama 19 hours ago

      Could be interesting direction to discover. The only problem with such implementation is it could take some work to make it cheap and actually well working. And I'm just thinking about the near future of this project.

      I really like it, but without organic traffic, at the position we're right now, the moment HN stops showing us at the top, we will loose all the visitor.

      And it's not like I'm trying to do a startup out of it. I just very enjoy making something people love! It's first time in my life and it's amazing.

      If you have any interesting thought, please leave them here - I'll definitely read it, or visit our discord [link on halupedia ;) ].

  • gojomo 18 hours ago

    Many LLMs are surprisingly good at using specific named authors (rather than just example texts) to evoke a style, so you could try "in the style of Jorge Luis Borges" or "…Douglas Adams" or "…Robert Anton Wilson" – whose surreal/absurd/fantastic styles could be fertile seeds.

    (If not already familiar with Borges, definitely check out his 'Tlön, Uqbar, Orbis Tertius' and 'Library of Babel' as inspiration.)

    While "each article written once" an interesting & useful constraint, a Hallucipedia that evolves like Wikipedia, with revisions "towards" some level of inter-article agreement, or even shows scars from edit wars between competing schools of thought, might also be fun.

    • bstrama 18 hours ago

      Nice! I'm thinking on how can I make it more interactive. Those author styles could work well, will check that out.

      Btw how would you imagine such dispute? What do you think could be the trigger for the article to be regenerated?