update
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
Below are numbered block candidates for the topic "{topic}". They come from a similarity cluster. Some refer to the SAME block or a property of it, others are distinct. Group them.
|
||||
|
||||
CANDIDATES:
|
||||
{entries}
|
||||
|
||||
Rules:
|
||||
- Form groups: numbers that belong to the SAME block go into ONE group.
|
||||
- **Watch the core entity** (the problem/object): Clique, Vertex Cover, Set Cover, Knapsack, Dominating Set, LPT/List Scheduling … Different entity → different groups, even with similar phrasing ("Lower Bound Clique" ≠ "Lower Bound Vertex Cover").
|
||||
- True paraphrases go TOGETHER, even when worded differently ("List Scheduling" = "LPT-Algorithmus"; "Set Cover" = "Mengenüberdeckung").
|
||||
- **A problem's properties belong TO the problem block — not on their own.** Bundle with the problem: its complexity status (∈ NP, NP-schwer, NP-vollständig), its verifier / certificate / NDTM, "… als Sprache / Definition", its individual lower-bound parameters (k / r / |U|).
|
||||
- Example: "Knapsack", "Knapsack ∈ NP", "Knapsack NP-schwer", "Knapsack NP-vollständig", "Verifizierer für Knapsack" → ONE group (the "Knapsack" block).
|
||||
- Example: "Hitting Set Lower Bound (k)", "(r)", "(|U|)" → ONE group.
|
||||
- Keep SEPARATE (own blocks): different problems (Clique-Member ≠ Clique-Nomember); a REDUCTION between two problems is its own technique (e.g. "3-SAT ⪯ k-Clique" stays separate); different methods/theorems with their own statement.
|
||||
- When in doubt between two different problems → SEPARATE. For a problem + its property → BUNDLE.
|
||||
- EVERY number goes into EXACTLY ONE group. A standalone block is a group with one element.
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format (lists of candidate numbers; each number exactly once):
|
||||
{{"groups": [[1, 3], [2], [4, 5]]}}
|
||||
15
templates/Prompt/Blocks-Naming-Check.md
Normal file
15
templates/Prompt/Blocks-Naming-Check.md
Normal file
@@ -0,0 +1,15 @@
|
||||
The numbered entries below all describe the SAME block for the topic "{topic}". Entry number {current} was chosen as the canonical title. Check whether that is the best choice — if another entry is a clearly better canonical name, pick it instead.
|
||||
|
||||
MEMBERS:
|
||||
{members}
|
||||
|
||||
Rules:
|
||||
- Pick an EXISTING entry number — do NOT invent a title.
|
||||
- Best = most concrete, precise, self-explanatory, established term for the shared concept.
|
||||
- If the current choice ({current}) is already the best, return it unchanged.
|
||||
- When in doubt, keep the current choice.
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format (the best member number, nothing else):
|
||||
{{"best": {current}}}
|
||||
15
templates/Prompt/Blocks-Naming.md
Normal file
15
templates/Prompt/Blocks-Naming.md
Normal file
@@ -0,0 +1,15 @@
|
||||
The numbered entries below all describe the SAME block (concept) for the topic "{topic}", just worded differently. Pick the ONE entry whose title is the best canonical name for this block.
|
||||
|
||||
MEMBERS:
|
||||
{members}
|
||||
|
||||
Rules:
|
||||
- Pick an EXISTING entry — do NOT invent a new title or umbrella term.
|
||||
- Prefer the most CONCRETE, precise, self-explanatory title for the shared concept.
|
||||
- Prefer the established/standard term (correct spelling, full form over cryptic abbreviation) — but stay concrete, never over-general.
|
||||
- Avoid reference/placeholder titles ("Satz 7.18", "Punkt 3", "(**)") if a meaningful one exists.
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format (the chosen member number, nothing else):
|
||||
{{"best": 1}}
|
||||
@@ -1,16 +0,0 @@
|
||||
{n} research agents have independently determined the blocks of the topic "{topic}". Exactly identical titles have already been merged; the number in parentheses says how many research passes name the block. Consolidate the list.
|
||||
|
||||
{entries}
|
||||
|
||||
Rules:
|
||||
- Recognize the SAME concepts under different titles and merge them into one block. The mention counts of the merged entries add up (each research pass counts a concept only once).
|
||||
- A block solves EXACTLY ONE PROBLEM. Entries that are variants of the same solution are combined into ONE block (right: one block `<input>` for all types, one block "Modalverben" for all modal verbs; wrong: one entry per input type or per verb, but also collective entries that mix several problems).
|
||||
- A block is ATOMIC: exactly one idea, complete in itself. Test: you can remove nothing without making it incomplete — and nothing is missing to understand it.
|
||||
- CONSOLIDATE the granularity: a block is a LEARNING UNIT, not a dictionary entry. If the research passes deliver dozens of micro-entries of the same kind (one CSS property, one verb, one gesture per entry), group them by problem (right: "Flexbox-Ausrichtung" instead of six entries for justify-content, align-items, …). More than ~150 blocks is almost always a granularity problem — then check specifically for such series.
|
||||
- Then split into two lists: blocks that (after merging) are named by AT LEAST TWO research passes → `blocks`. Named only once or doubtful on the merits → `rest`. Discard only what is obviously fabricated.
|
||||
- Drop the sources. Title and short description (max. ~12 words) in GERMAN (code identifiers stay original). Every title must be UNIQUE.
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format (each entry a string "Title — Kurzbeschreibung"; no other text in the file):
|
||||
{{"blocks": ["Title — Kurzbeschreibung"], "rest": ["Title — Kurzbeschreibung"]}}
|
||||
@@ -1,19 +0,0 @@
|
||||
Review the gathered contents for blocks of a learning guide on the topic "{topic}" (format: {format_name}). Audience: beginners. This is not yet guide text — only the content bullet points that will be taught later.
|
||||
|
||||
CONTENTS:
|
||||
{sections}
|
||||
|
||||
Review each block:
|
||||
1. Correctness: are the points and facts factually right and supportable? Nothing hallucinated, no invented values/versions.
|
||||
2. Completeness: is something essential missing that a beginner needs to understand the block?
|
||||
3. Scope: no more than the block yields — nothing mentioned in passing inflated; but also no central gap.
|
||||
|
||||
You only REVIEW and note problems — you change nothing. Note only genuine flaws, no matters of taste.
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format — all in order:
|
||||
{{"ok": true}}
|
||||
Otherwise (block title EXACTLY as above):
|
||||
{{"problems": [{{"section": "exact block title", "problem": "…"}}]}}
|
||||
{extra}
|
||||
@@ -1,18 +0,0 @@
|
||||
Revise individual block contents of a learning guide on the topic "{topic}". One PROBLEM is noted per block (correctness, completeness, or scope). Fix ONLY the noted problem; whatever is in order stays untouched.
|
||||
|
||||
{facts}
|
||||
|
||||
TASKS — per block, the problem and the current content:
|
||||
{tasks}
|
||||
|
||||
Write all revised content in GERMAN (the guide is for German-speaking learners), even though these instructions are in English.
|
||||
|
||||
Write ONLY the file {out_path} — one section marker per revised block (title EXACTLY as in the task), with the corrected points beneath it:
|
||||
|
||||
<!-- section: exact block title -->
|
||||
- Core point …
|
||||
- Core point …
|
||||
Example: short idea of what the example shows
|
||||
|
||||
Write the marker line exactly like that. No text outside the sections.
|
||||
{extra}
|
||||
@@ -1,30 +0,0 @@
|
||||
For each assigned block of a learning guide on the topic "{topic}", identify WHAT a beginner with no prior knowledge needs to understand. You are not yet writing guide text — you only gather the contents that will be taught later.
|
||||
|
||||
You are assigned the following chapters and blocks — binding: every assigned block must appear, invent no additional ones. Beneath each block are its SUBBLOCKS with their learning-path level (`[beginner]`/`[advanced]`/`[expert]`) — the sub-points that get taught:
|
||||
{assignment}
|
||||
|
||||
{facts}
|
||||
|
||||
Guiding principle: only the **essentials**. Superfluous material harms learning — gather what a beginner REALLY needs, not everything one could possibly say.
|
||||
|
||||
Gather per block:
|
||||
- Core points / learning goals: what must the reader grasp? Cover EVERY listed subblock with EXACTLY the one central core point — not several overlapping ones. If a block has no subblocks, gather 3-7 concise points.
|
||||
- Prerequisites: which terms/ideas must one already know to understand this? Each explainable in half a sentence — these are the anchor points for newcomers.
|
||||
- Typical hurdles: where do beginners typically misunderstand it or stumble?
|
||||
- Cited facts (versions, names, values) — nothing unsupported; verify anything uncertain via web search.
|
||||
- One concrete example idea ONLY where an example genuinely carries the understanding — not dutifully for every subblock.
|
||||
- Scope: only what THIS block yields. No more, no less. Don't inflate something mentioned in passing into a topic.
|
||||
|
||||
Write all gathered content in GERMAN (the guide is for German-speaking learners), even though these instructions are in English.
|
||||
|
||||
Write ONLY the file {out_path} — one section marker per block (title EXACTLY from the assignment), with the points beneath it:
|
||||
|
||||
<!-- section: exact block title -->
|
||||
- Core point …
|
||||
- Core point …
|
||||
Prerequisite: what must be briefly explained beforehand (anchor)
|
||||
Hurdle: typical beginner misconception
|
||||
Example: short idea of what the example shows
|
||||
|
||||
Write the marker line exactly like that. No text outside the sections, no prose guide.
|
||||
{extra}
|
||||
19
templates/Prompt/Guide-Coverage.md
Normal file
19
templates/Prompt/Guide-Coverage.md
Normal file
@@ -0,0 +1,19 @@
|
||||
Coverage gate ("Was fehlt?") for ONE written guide section on the topic "{topic}": check the text against its learning objectives. Objective without content = gap; content without objective = ballast.
|
||||
|
||||
LEARNING OBJECTIVES of block "{block}":
|
||||
{ziele}
|
||||
|
||||
SECTION — current content (subblocks are marked with `<!-- sub: … -->`):
|
||||
{section}
|
||||
|
||||
Procedure:
|
||||
1. For EACH objective decide binary: does the text teach it well enough that a beginner could achieve the objective afterwards? Mentioning a keyword is NOT teaching — the how/why must be there.
|
||||
2. For each NOT-covered objective state precisely WHAT is missing (German, concrete — the writer will patch exactly this).
|
||||
3. List BALLAST: passages that serve none of the objectives (digressions, redundant repetition). Shortening candidates only — never a whole subblock.
|
||||
4. Judge strictly binary per objective; no partial credit.
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format (`ziele` maps EVERY objective id to true/false):
|
||||
{{"ziele": {{"z1": true, "z2": false}}, "luecken": [{{"ziel": "z2", "fehlt": "…"}}], "ballast": ["passage …"]}}
|
||||
{extra}
|
||||
19
templates/Prompt/Guide-Fakten-Fix.md
Normal file
19
templates/Prompt/Guide-Fakten-Fix.md
Normal file
@@ -0,0 +1,19 @@
|
||||
Remove unsupported claims from ONE guide section on the topic "{topic}" — minimal edit, everything else stays VERBATIM.
|
||||
|
||||
SECTION (block "{block}") — current content:
|
||||
{section}
|
||||
|
||||
UNSUPPORTED CLAIMS (from the fact gate) — ONLY these may be touched:
|
||||
{claims}
|
||||
|
||||
VERIFIED FACTS (the only allowed factual basis — for rephrasing, if a claim can be corrected instead of removed):
|
||||
{facts}
|
||||
|
||||
Rules:
|
||||
- Per claim: correct it IF the verified facts state the right version; otherwise DELETE it (smooth the surrounding sentence so the text stays fluent).
|
||||
- Everything else stays word-for-word identical — no rewriting, no shortening, no new content.
|
||||
- STRUCTURE INVARIANT (mandatory, the level filter dies without it): keep ALL marker lines exactly — `<!-- kapitel: … -->`, `<!-- section: … -->`, `<!-- compact -->`, `<!-- ausführlich -->` and every `<!-- sub: LABEL | title -->` in BOTH blocks, same order. Never delete a whole subblock; if all its claims fall, keep a minimal supported sentence.
|
||||
- German text, same tone as the original.
|
||||
|
||||
Write ONLY the file {out_path} — the COMPLETE corrected section in exactly the original marker format.
|
||||
{extra}
|
||||
21
templates/Prompt/Guide-Fakten-Gate.md
Normal file
21
templates/Prompt/Guide-Fakten-Gate.md
Normal file
@@ -0,0 +1,21 @@
|
||||
Fact-check ONE written guide section on the topic "{topic}" — Chain-of-Verification style, binary per claim.
|
||||
|
||||
SECTION (block "{block}"):
|
||||
{section}
|
||||
|
||||
VERIFIED FACTS — the ONLY allowed factual basis (extract-once from the source):
|
||||
{facts}
|
||||
|
||||
Procedure:
|
||||
1. Decompose the section text into its ATOMIC factual claims (definitions, properties, numbers, procedure steps, causal statements). Ignore pure didactics (transitions, framing, mnemonic phrasing).
|
||||
2. Check EACH claim INDIVIDUALLY and BINARY against the VERIFIED FACTS above: derivable from them → belegt. Not derivable, contradicting, or over-specific beyond the facts → nicht belegt.
|
||||
3. Do NOT search the web, do NOT use outside knowledge — a claim that is true in the world but absent from the facts is still "nicht belegt".
|
||||
4. When in doubt → nicht belegt (the guide may only teach verified material).
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format — everything supported:
|
||||
{{"ok": true}}
|
||||
Otherwise (each unsupported claim VERBATIM as it appears in the text):
|
||||
{{"claims": [{{"text": "verbatim claim from the section", "grund": "why unsupported (German, short)"}}]}}
|
||||
{extra}
|
||||
23
templates/Prompt/Guide-Lernziele.md
Normal file
23
templates/Prompt/Guide-Lernziele.md
Normal file
@@ -0,0 +1,23 @@
|
||||
Define learning objectives (Backward Design) for ONE block of a learning guide on the topic "{topic}" — BEFORE anything is written. The objectives anchor what the section must teach; later a coverage gate checks the text against exactly these objectives.
|
||||
|
||||
BLOCK:
|
||||
{block}
|
||||
|
||||
SUBBLOCKS (with level label) — the intended coverage of this block:
|
||||
{subs}
|
||||
|
||||
VERIFIED FACTS (extract-once from the source — the only allowed factual basis):
|
||||
{facts}
|
||||
|
||||
Rules:
|
||||
- 3–7 objectives, together covering THIS block completely — no more, no fewer than the material carries.
|
||||
- Each objective is CHECKABLE: a Bloom verb (nennen, erklären, anwenden, unterscheiden, berechnen …) + concrete content. Never vague ("verstehen", "kennenlernen").
|
||||
- Objectives follow the material: every subblock maps to at least one objective; invent NO objective the facts cannot support.
|
||||
- `sub` = the subblock title an objective mainly belongs to ("" if it spans the whole block).
|
||||
- German objective texts (the guide is for German-speaking learners).
|
||||
|
||||
Write ONLY the JSON file to: {out_path}
|
||||
|
||||
Format:
|
||||
{{"ziele": [{{"id": "z1", "text": "Erklären, warum …", "sub": "exact subblock title or empty"}}]}}
|
||||
{extra}
|
||||
@@ -10,7 +10,7 @@ SECTIONS:
|
||||
Review each section:
|
||||
1. Does the section teach the concept understandably for a beginner with no prior knowledge — does it frame it, explain the how/why, make an example concrete? Not so dense that only someone who already knows the topic can follow it.
|
||||
2. Readability (note genuine flaws):
|
||||
- Sentences over ~25 words, or nested sentences with several interjections.
|
||||
- Sentences over ~20 words (never over 25), or nested sentences with several interjections.
|
||||
- An enumeration (steps/options/requirements) written as one long prose sentence that should be a Markdown list.
|
||||
- Wall of text: one dense block without paragraphs that could be split into several.
|
||||
- More than ~4 new technical terms left unexplained at first occurrence.
|
||||
|
||||
47
templates/Prompt/Guide-Writer-Board.md
Normal file
47
templates/Prompt/Guide-Writer-Board.md
Normal file
@@ -0,0 +1,47 @@
|
||||
Write ONE section of a learning guide on the topic "{topic}" (format: {format_name}) — the block below, nothing else.
|
||||
|
||||
CHAPTER: {chapter}
|
||||
BLOCK with its SUBBLOCKS and level labels (`[beginner]`/`[advanced]`/`[expert]`/`[peripheral]`):
|
||||
{assignment}
|
||||
|
||||
LEARNING OBJECTIVES — after reading, a beginner must be able to do exactly this (a coverage gate checks the text against these objectives):
|
||||
{ziele}
|
||||
|
||||
VERIFIED FACTS per subblock — binding basis. Quote cited facts (FACT[Source]) VERBATIM, invent nothing extra, do NOT re-research (a fact gate checks every claim against this list):
|
||||
{facts}
|
||||
{gaps}
|
||||
IMPORTANT — each subblock is delimited with a marker so the guide can later be shown in stages. The label comes EXACTLY from the assignment. Despite the marker, you write FLUENTLY and interwoven — the marker is an invisible interface, NOT a visible heading.
|
||||
|
||||
The content is INDEPENDENT of the level: every subblock is explained in a **beginner-friendly** way, no matter the label. The label only says WHEN in the learning path the point comes up (foundation → finesse) — NOT how complicated it is written.
|
||||
|
||||
The block gets TWO versions with the SAME subblocks (same titles, same order):
|
||||
- **compact**: one mnemonic per subblock as a bullet (`- …`). For recall. Only name it, don't explain.
|
||||
- **ausführlich** (detailed): the coherent beginner learning text.
|
||||
|
||||
HOW TO WRITE the detailed version — ONE coherent text for a junior who is learning the topic anew:
|
||||
- Start with the anchor (framing): which problem / what for, tied to something familiar — BEFORE the first subblock marker. Mandatory.
|
||||
- Resolve EVERY technical term at first mention in half a sentence. Use "Prerequisite" hints as anchors, "Hurdle" hints to clear misconceptions up front.
|
||||
- Order of the subblocks as in the assignment: first `[beginner]`, then `[advanced]`, then `[expert]`, last `[peripheral]`.
|
||||
- The NUMBER of subblocks is the depth signal: many subblocks → the block deserves length; few → keep it short. Never pad.
|
||||
- CONCISE: every sentence carries new information. No repetition, no filler, no preamble. When in doubt, leave it out.
|
||||
- Show "how" procedures step by step. An example ONLY where it genuinely carries the understanding.
|
||||
|
||||
SECTION SPECIFICATION:
|
||||
{spec}
|
||||
|
||||
Write the entire guide content in GERMAN (the guide is for German-speaking learners), even though these instructions are in English.
|
||||
|
||||
Write ONLY the file {out_path} in EXACTLY this format — one kapitel marker, one section marker (title EXACTLY as in the assignment), a `compact` and an `ausführlich` block, each subblock with its `<!-- sub: LABEL | subblock title -->` marker (LABEL and title EXACTLY from the assignment, same order in both blocks):
|
||||
|
||||
<!-- kapitel: {chapter} -->
|
||||
<!-- section: exact block title -->
|
||||
<!-- compact -->
|
||||
<!-- sub: beginner | exact subblock title -->
|
||||
- mnemonic for this subblock (concise, no explanation)
|
||||
<!-- ausführlich -->
|
||||
Anchor: framing of the whole block — before the first subblock.
|
||||
<!-- sub: beginner | exact subblock title -->
|
||||
Beginner-friendly prose for this subblock.
|
||||
|
||||
No text outside the section, no document title, no table of contents.
|
||||
{extra}
|
||||
@@ -1,51 +0,0 @@
|
||||
Write sections for a learning guide on the topic "{topic}" (format: {format_name}).
|
||||
|
||||
You are assigned the following chapters and blocks — binding: every assigned section must appear, invent no additional ones. Beneath each block are its SUBBLOCKS with their level label (`[beginner]`/`[advanced]`/`[expert]`/`[peripheral]`):
|
||||
{assignment}
|
||||
|
||||
IMPORTANT — each subblock is delimited with a marker so the guide can later be shown in stages (beginners see only `beginner`, advanced learners see more). The label comes EXACTLY from the assignment. Despite the marker, you write FLUENTLY and interwoven — the marker is an invisible interface, NOT a visible heading.
|
||||
|
||||
The content is INDEPENDENT of the level: every subblock is explained in a **beginner-friendly** way, no matter the label. The label only says WHEN in the learning path the point comes up (foundation → finesse) — NOT how complicated it is written. An `[expert]` point is explained just as simply as a `[beginner]` point. No perfectionism, no artificial depth: the essentials made clear, so that a newcomer understands them.
|
||||
|
||||
Each block gets TWO versions with the SAME subblocks (same titles, same order):
|
||||
- **compact**: one mnemonic per subblock as a bullet (`- …`). For recall. Only name it, don't explain.
|
||||
- **ausführlich** (detailed): the coherent beginner learning text (see below).
|
||||
|
||||
HOW TO WRITE the detailed version — ONE coherent text for a junior who is learning the topic anew:
|
||||
- Start with the anchor (framing): which problem / what for, tied to something familiar — only then the new material. The anchor comes BEFORE the first subblock marker. Mandatory, never omit it.
|
||||
- Resolve EVERY technical term at first mention in half a sentence. Assume nothing — not even terms from the title or other blocks. Use the "Prerequisite" hints as anchors, and the "Hurdle" hints to clear up misconceptions up front.
|
||||
- Treat each subblock under its marker — fluently phrased, explanatory prose, not an isolated bullet block.
|
||||
- Order of the subblocks as in the assignment: first `[beginner]` (foundation), then `[advanced]`, then `[expert]`, last `[peripheral]`.
|
||||
- Show "how" procedures step by step, not just the result.
|
||||
- CONCISE: every sentence carries new information. No repetition, no filler or meta sentences, no preamble. Superfluous material harms learning — when in doubt, leave it out, don't add.
|
||||
- Length follows the content: a trivial detail one or two sentences; a complex concept as much as it REALLY needs — no more. Not "as long as possible".
|
||||
- An example ONLY where it genuinely carries the understanding — not dutifully for every subblock.
|
||||
|
||||
VERIFIED CONTENTS per block — this is binding, what must be taught:
|
||||
{contents}
|
||||
|
||||
Do NOT research and do NOT search the web. All necessary facts are in these verified contents — use only them. Invent nothing, leave out nothing essential. Teach simply: short sentences, lists for enumerations, a beginner understands it at once.
|
||||
|
||||
SECTION SPECIFICATION (applies per block):
|
||||
{spec}
|
||||
|
||||
Write the entire guide content in GERMAN (the guide is for German-speaking learners), even though these instructions are in English.
|
||||
|
||||
Write ONLY the file {out_path} in EXACTLY this format — one kapitel marker per chapter, one section marker per block (title EXACTLY from the assignment), with a `compact` and an `ausführlich` block inside. In BOTH blocks, each subblock carries a `<!-- sub: LABEL | subblock title -->` marker (LABEL and title EXACTLY from the assignment, same order in both blocks):
|
||||
|
||||
<!-- kapitel: chapter title -->
|
||||
<!-- section: exact block title -->
|
||||
<!-- compact -->
|
||||
<!-- sub: beginner | exact subblock title -->
|
||||
- mnemonic for this subblock (concise, no explanation)
|
||||
<!-- sub: advanced | exact subblock title -->
|
||||
- mnemonic for this subblock
|
||||
<!-- ausführlich -->
|
||||
Anchor: framing of the whole block (which problem, what for) — before the first subblock.
|
||||
<!-- sub: beginner | exact subblock title -->
|
||||
Beginner-friendly prose for this subblock, with a small example.
|
||||
<!-- sub: advanced | exact subblock title -->
|
||||
Beginner-friendly prose for this subblock.
|
||||
|
||||
Write the marker lines exactly like that. Each section has exactly one `<!-- compact -->` and one `<!-- ausführlich -->` block; the subblock titles are identical in both. No text outside the sections, no document title, no table of contents.
|
||||
{extra}
|
||||
Reference in New Issue
Block a user