From e506c4035fcca4e64f238621c43991db4555b1c4 Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Sat, 7 Feb 2026 21:11:46 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88:=20Policy=E6=9C=AB=E5=B0=BE=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E3=81=AE=E7=90=86=E7=94=B1=E3=81=A8=E5=90=88=E6=88=90=E4=BE=8B?= =?UTF-8?q?=E3=81=AE=E9=A0=86=E5=BA=8F=E3=82=92=E5=AE=9F=E8=A3=85=E3=81=AB?= =?UTF-8?q?=E5=90=88=E3=82=8F=E3=81=9B=E3=81=A6=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/prompt-composition.ja.md | 40 ++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/docs/prompt-composition.ja.md b/docs/prompt-composition.ja.md index c1f07a0..77394cf 100644 --- a/docs/prompt-composition.ja.md +++ b/docs/prompt-composition.ja.md @@ -49,15 +49,17 @@ System Prompt: User Message: ┌─────────────────────────────────────────────┐ - │ Policy — 守るべきルール・禁止事項・品質基準 │ │ Knowledge — 判断の前提となる参照資料 │ │ Instruction — このステップでやるべき手順 │ │ Output Contract — 出力の構造定義 │ + │ Policy — 守るべきルール・禁止事項・品質基準 │ └─────────────────────────────────────────────┘ ``` Personaはエージェントの**identity**であり、タスクによって変わらない。system promptに置くことでLLMの応答全体を方向付ける。残りの4つはステップごとに変わるため、user messageに合成する。 +Policyをuser messageの末尾に配置するのは意図的な設計判断である。LLMは直前に読んだ内容に強く影響される(recency効果)。禁止事項やREJECT基準といった制約は、出力生成の直前にあることで遵守されやすくなる。Knowledge → Instruction → Policyという流れは「文脈を理解 → 作業を理解 → 制約を確認」という自然な認知順序にもなっている。 + 以下に各ファセットの典型的なファイル例を示す。 #### Persona — `personas/architecture-reviewer.md` @@ -213,24 +215,6 @@ system promptに配置される。役割の定義、境界、行動姿勢のみ **User Message:** ```markdown -## Policy - -### 原則 - -| 原則 | 基準 | -|------|------| -| DRY | 3回以上の重複はREJECT | -| Fail Fast | 不正状態は早期にエラー | -| 最小権限 | 必要最小限のスコープ | - -### 禁止事項 - -- **未使用コード** - 「念のため」のメソッド、将来用フィールド -- **オブジェクトの直接変更** - スプレッド演算子で新規作成 -- **フォールバックの濫用** - `?? 'default'` で不確実性を隠さない - ---- - ## Knowledge ### レイヤー構造 @@ -298,6 +282,24 @@ system promptに配置される。役割の定義、境界、行動姿勢のみ |---|------|------|--------| | 1 | `src/file.ts:42` | 問題の説明 | 修正方法 | \``` + +--- + +## Policy + +### 原則 + +| 原則 | 基準 | +|------|------| +| DRY | 3回以上の重複はREJECT | +| Fail Fast | 不正状態は早期にエラー | +| 最小権限 | 必要最小限のスコープ | + +### 禁止事項 + +- **未使用コード** - 「念のため」のメソッド、将来用フィールド +- **オブジェクトの直接変更** - スプレッド演算子で新規作成 +- **フォールバックの濫用** - `?? 'default'` で不確実性を隠さない ``` このように、独立したファイルがランタイムで1つのプロンプトに組み立てられる。ファイルの内容を変えればプロンプトが変わり、別のファイルを指せば別の組み合わせになる。