原始人圧縮 (Caveman Compression)
テキストを、LLMが確実に再現できる短い事実密度の高い文に圧縮します。ユーザーが読みやすさやトークン節約よりも可読性を重視する場合は、原始人テキストを流暢な英語に展開します。
ワークフロー
- 方向を特定する:
- 元の散文 -> 原始人圧縮
- 原始人テキスト -> 流暢な展開
- ソースからすべての事実を保持する:
- 数値
- 固有名詞
- 日付
- 制約条件
- 不確実性を示す修飾語
- 専門用語
- 各文はアトミックに保つ。1文につき、1つの事実、アクション、制約、推論ステップを推奨。
- 文は短く保つ。通常は2〜5語を目標とする。曖昧さを避けるために必要な場合のみ、より長くする。
- 予測可能な言語を削除する:
- 冠詞
- 埋め草
- 助動詞
- 明らかな接続詞
- 能動態と同等の場合は受動態を避ける
- 事実を追加しない。意味を単純化して失わない。重要な論理ステップを飛ばさない。
圧縮ルール
- 時間によって意味が変わらない限り、能動態と現在時制を優先する。
very,really,quite,extremelyのような強調語は削除する。critical,optional,same,dailyなど、意味を変える修飾語は保持する。- 意味が明確な場合は冠詞を省略する。
- 参照先が曖昧でない場合のみ代名詞を保持する。
- 接続詞を多用した節は、隣接する短い文に置き換える。
ifを省略すると曖昧になる場合は、条件文を明示的に保持する。- 専門用語は正確に保つ。ドメイン用語をより曖昧な単語に言い換えない。
出力スタイル
- ユーザーが解説を求めない限り、変換後のテキストのみを返す。
- デフォルトでは内部処理テキスト変換として扱う。ユーザーが明示的に要求しない限り、最終的なタスク結果の出力を原始人スタイルに書き換えない。
- 短い平叙文を使用する。
- 具体的な名詞と動詞を優先する。
- 論理を保持するために並び替えが必要な場合を除き、ソースの順序を維持する。
検証
終了前に以下を確認する:
- 事実の集合がソースと一致していること。
- 数値と修飾語がまだ存在していること。
- 推論の連鎖に隙がないこと。
- 新しい情報が導入されていないこと。
- 圧縮が電報的または曖昧になっていないこと。
参考
- 完全なルールセット、エッジケース、アンチパターン、例については references/spec.md を参照。
- すぐに使える圧縮または展開プロンプト形状が必要な場合は references/prompts.md を参照。