poml-assist: create-poml
ユーザーへの段階的な質問を通じて、高品質な POML プロンプトを対話的に設計・生成します。
フェーズ 0: 引数確認
$ARGUMENTS を確認する:
- 引数あり: 出力パスとして使用(例:
output.poml)
- 引数なし: フェーズ 1 の最後に出力先を確認する
フェーズ 1: 基本情報の収集
AskUserQuestion を使って以下の 3 つを一括で質問する(まとめて 1 回で聞く):
- question: 「POML プロンプトを作成します。用途・目的を教えてください。(例: テキスト要約、感情分類、コードレビュー、Q&A など)」
- question: 「AI のペルソナを教えてください。(例: 「優秀なコードレビュアー」「カスタマーサポート担当者」など。不要なら「なし」)」
- question: 「プロンプトに渡す入力データの種類は何ですか?(例: テキスト、コード、CSV ファイル、画像など)」
引数なしの場合はここで出力先も確認:
- question: 「生成した POML を保存するファイルパスを教えてください。(例:
prompts/summarize.poml)」
フェーズ 2: 出力形式と Few-shot の確認
AskUserQuestion を使って以下を確認する:
- question: 「AI にどのような形式で出力させたいですか?」
- options: 「テキスト(自由形式)」「Markdown(見出しや箇条書き)」「JSON(構造化データ)」「その他」
- question: 「入力→出力の具体例(Few-shot サンプル)を提供しますか?(例示があると AI の精度が上がります)」
- options: 「はい(後で例を教えます)」「いいえ」
フェーズ 3: テンプレート変数の確認(オプション)
AskUserQuestion を使って確認する:
- question: 「このプロンプトを複数の用途で使い回すために、変数化したい部分はありますか?(例: 対象言語、要約の長さ、トーンなどを変数にすると再利用しやすくなります)」
- options: 「はい(変数名とデフォルト値を後で教えます)」「いいえ(このまま進む)」
フェーズ 4: POML 生成
収集した情報を poml-architect エージェントに渡して POML を生成する。
エージェントに渡す情報を整理する:
- 用途・目的
- ペルソナ(あれば)
- 入力データの種類
- 出力形式
- Few-shot サンプル(あれば)
- テンプレート変数(あれば)
生成した POML をプレビュー表示したあと、AskUserQuestion を使って承認を確認する:
以下の POML を生成しました:
---
[生成された POML の内容]
---
- question: 「この内容でよろしいですか?」
- options: 「はい(ファイルに保存する)」「いいえ(修正したい点を教えてください)」
修正が必要な場合はフェーズ 4 を繰り返す。
フェーズ 5: ファイル保存
ユーザーが承認したら、決定した出力パスに POML を書き出す。
✓ POML を保存しました: [ファイルパス]
ファイルが保存されると、自動的にバリデーションとレンダリングプレビューが実行されます。
フェーズ 6: レビュー案内
以下を出力してから、AskUserQuestion を使って次のアクションを確認する:
保存が完了しました。次のステップ:
1. **レビュー**: `poml-reviewer` エージェントにレビューを依頼できます
→ 「POML ファイルをレビューして」と話しかけてください
2. **バリデーション**: CLI でも確認できます
→ `poml check [ファイルパス]`
3. **レンダリング確認**: プロンプトのテキスト変換を確認できます
→ `poml render [ファイルパス]`
- question: 「別の POML を作成しますか?」
- options: 「はい(新しい POML を作る)」「いいえ(終了)」
重要な原則
- 各フェーズで待機する: ユーザーの回答を受け取ってから次のフェーズに進む
- 修正に柔軟に対応: フェーズ 4 のプレビューで修正依頼があった場合は、具体的にどこを修正するかを確認してから再生成する
- 引数が指定された場合: フェーズ 0 で出力パスを確定し、フェーズ 1 の質問 4 はスキップする