Add dataInvention flag to PromptOptions to disable the 'generate realistic/plausible data' rule

Aperta Adatta ai principianti
#959 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
76/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

In lang-core, inizia leggendo PromptOptions e buildImportantRules(), dove la regola di generazione dei dati viene attualmente aggiunta incondizionatamente. Controlla come vengono gestiti i flag del prompt esistenti e cerca i test pertinenti. Il lavoro sarà completato quando dataInvention avrà true come valore predefinito e impostarlo su false ometterà questa regola senza modificare il resto del comportamento del prompt.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Context

buildImportantRules() in lang-core unconditionally appends the line:

- When asked about data, generate realistic/plausible data

This is correct for generative UI (the default consumer), but harmful for description-mode consumers that describe existing UI rather than generating new UI. In that context it instructs the model to invent data — image URLs, prices, copy — that is not in the source, producing artefacts that are locally well-formed but materially false.

Current workaround

We post-process the generated prompt to excise the line:

const prompt = library.prompt(options);
return prompt.split("\n").filter(line => !line.includes("When asked about data, generate realistic/plausible data")).join("\n");

This works but is coupled to the exact wording — if lang-core rewords the rule, the excision silently stops matching.

Proposal

Add a dataInvention?: boolean flag to PromptOptions, defaulting to true (preserving current behaviour). When false, skip the line in buildImportantRules().

This mirrors the existing pattern of editMode, inlineMode, bindings, and toolCalls — feature flags that control which sections of the prompt are emitted.

Use case

backpack-openui has two consumers:

  1. Runtime (generative UI) — dataInvention: true (default)
  2. Description (describing existing prototypes) — dataInvention: false

The description consumer is the one that needs this flag. Evidence: https://github.com/Skyscanner/backpack-openui/blob/main/docs/spike-findings.md

Lingua principale
TypeScript
Stelle
10k
Fork
698
Merge medio
1g 6h
PR unite (30g)
158

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di thesysdev/openui

Tutte le issue di thesysdev/openui

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.