This commit is contained in:
@@ -13,7 +13,6 @@ triggers:
|
||||
|
||||
movements:
|
||||
- name: design
|
||||
edit: false
|
||||
persona: architect
|
||||
instruction: |
|
||||
## Piece 設計フェーズ
|
||||
@@ -27,9 +26,11 @@ movements:
|
||||
4. 新規作成が正当化される場合にのみ、以下を整理する:
|
||||
- 目的(何を自動化するか)
|
||||
- movement の構成とステップ間の遷移条件
|
||||
- 各ステップで使うツール(`allowed_tools`)
|
||||
- 入力と出力の形式
|
||||
|
||||
ツールの利用可否は Piece では宣言しない。各ワークスペースの「設定 → ツール」
|
||||
(workspace tool policy)で決まり、実行時に全 movement へ一律に適用される。
|
||||
Piece は movement のフロー(persona / instruction / rules)だけを定義する。
|
||||
ツールの詳細仕様は ReadToolDoc で確認できる(例: `ReadToolDoc({ name: "delegate" })`)。
|
||||
|
||||
### YAML 構造の制約
|
||||
@@ -45,42 +46,39 @@ movements:
|
||||
|
||||
movements:
|
||||
- name: ステップ名
|
||||
edit: true/false # Write/Edit を許可するか
|
||||
persona: 役割名
|
||||
instruction: |
|
||||
このステップで行うこと(WHAT を書く。HOW はツールドキュメントに委ねる)
|
||||
allowed_tools: [使用するツール]
|
||||
default_next: 次のステップ名 or COMPLETE
|
||||
rules:
|
||||
- condition: 遷移条件の説明
|
||||
next: 遷移先
|
||||
```
|
||||
|
||||
Piece にツール・編集可否(旧 `allowed_tools` / `edit`)や SSH 接続
|
||||
(旧 `allowed_ssh_connections`)を書く必要はない。これらは「設定 → ツール / SSH」
|
||||
で決まる。書いても無視される。
|
||||
|
||||
### Movement・Rules の設計指針
|
||||
- `edit: true` にしないと Write/Edit が LLM に提示されない
|
||||
- `allowed_tools` に載っていないツールは LLM に提示されない — 必要最小限に絞る
|
||||
- `rules` に明示した遷移先のみ LLM が選択できる
|
||||
- `default_next` はコンテキスト上限到達・ASK 上限フォールバックなど機械的用途のみ(LLM の選択肢にならない)
|
||||
- verify movement を設けると品質チェックが可能
|
||||
- ループ検出: 同じ movement への連続訪問が閾値超過で ABORT されるため、A→B→A の無限循環を避ける
|
||||
|
||||
### Persona / Instruction / Allowed_tools の使い分け
|
||||
### Persona / Instruction の使い分け
|
||||
- `persona`: そのステップの役割(architect / builder / reviewer など)。LLM の振る舞いのトーンに影響
|
||||
- `instruction`: WHAT を行うかの指示。具体的・明確に書く。ツールの使い方(HOW)は書かない
|
||||
- `allowed_tools`: そのステップで実際に必要なツールのみを列挙
|
||||
|
||||
## 終了 / 遷移方法
|
||||
- **設計完了 → build へ**: `transition({next_step: "build", summary: "設計内容のサマリ"})`
|
||||
- **ユーザーに確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
|
||||
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [ListPieces, GetPiece, ReadToolDoc, Read, Glob, Grep, WebSearch, WebFetch]
|
||||
default_next: build
|
||||
rules:
|
||||
- condition: 設計が完了した
|
||||
next: build
|
||||
|
||||
- name: build
|
||||
edit: false
|
||||
persona: builder
|
||||
instruction: |
|
||||
## Piece 構築フェーズ
|
||||
@@ -96,7 +94,7 @@ movements:
|
||||
### 注意事項
|
||||
- name は英小文字・数字・ハイフンのみ
|
||||
- instruction は WHAT を具体的に書く(曖昧な指示は避ける)
|
||||
- allowed_tools には必要なツールを過不足なく列挙する
|
||||
- ツールの可否は Piece に書かない(設定 → ツールで決まる)
|
||||
- rules の condition は日本語で明確に書く
|
||||
- `general`、`chat` は削除不可だが更新は可能
|
||||
|
||||
@@ -105,7 +103,6 @@ movements:
|
||||
- **設計レベルの見直しが必要 → design に戻る**: `transition({next_step: "design", summary: "..."})`
|
||||
- **ユーザーに確認が必要**: `complete({status: "needs_user_input", missing_info: "...", why_no_default: "..."})`
|
||||
- **技術的失敗で打ち切り**: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [ListPieces, GetPiece, CreatePiece, UpdatePiece, ReadToolDoc, Read, Glob, Grep]
|
||||
default_next: verify
|
||||
rules:
|
||||
- condition: Piece の作成・更新が完了した
|
||||
@@ -114,7 +111,6 @@ movements:
|
||||
next: design
|
||||
|
||||
- name: verify
|
||||
edit: false
|
||||
persona: reviewer
|
||||
instruction: |
|
||||
## Piece 検証フェーズ
|
||||
@@ -127,9 +123,7 @@ movements:
|
||||
- name が英小文字・数字・ハイフンのみか
|
||||
- description が具体的で、LLM が分類に使えるレベルか
|
||||
- 各 movement の instruction が具体的で曖昧でないか
|
||||
- allowed_tools に必要なツールが過不足なく含まれているか
|
||||
- rules に全ての遷移先が明示されているか(default_next だけに頼っていないか)
|
||||
- edit: true/false が各 movement の用途に合っているか
|
||||
- ループの可能性がないか(A→B→A が無限に繰り返される構造でないか)
|
||||
3. 類似の既存 Piece があれば ListPieces + GetPiece で比較し、一貫性を確認する
|
||||
|
||||
@@ -148,7 +142,6 @@ movements:
|
||||
- build に差し戻し: `transition({next_step: "build", summary: "指摘"})`
|
||||
- design に戻す: `transition({next_step: "design", summary: "..."})`
|
||||
- 技術的失敗: `complete({status: "aborted", abort_reason: "..."})`
|
||||
allowed_tools: [Read, Glob, Grep, ListPieces, GetPiece, ReadToolDoc]
|
||||
default_next: COMPLETE
|
||||
rules:
|
||||
- condition: 修正が必要
|
||||
|
||||
Reference in New Issue
Block a user