212 lines
5.5 KiB
YAML
212 lines
5.5 KiB
YAML
# Research Workflow
|
||
# 調査タスクを自律的に実行するワークフロー
|
||
# Planner が計画を立て、Digger が実行し、Supervisor が確認する
|
||
#
|
||
# フロー:
|
||
# plan -> dig -> supervise -> COMPLETE (approved)
|
||
# -> plan (rejected: 計画からやり直し)
|
||
|
||
name: research
|
||
description: 調査ワークフロー - 質問せずに自律的に調査を実行
|
||
|
||
max_iterations: 10
|
||
|
||
steps:
|
||
- name: plan
|
||
agent: ~/.takt/agents/research/planner.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules_prompt: |
|
||
# ⚠️ 必須: ステータス出力ルール ⚠️
|
||
|
||
**このタグがないとワークフローが停止します。**
|
||
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
||
|
||
## 出力フォーマット
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 計画完了 | `[PLANNER:DONE]` |
|
||
| 情報不足 | `[PLANNER:BLOCKED]` |
|
||
|
||
### 出力例
|
||
|
||
**DONE の場合:**
|
||
```
|
||
[PLANNER:DONE]
|
||
```
|
||
|
||
**BLOCKED の場合:**
|
||
```
|
||
[PLANNER:BLOCKED]
|
||
|
||
確認事項:
|
||
- {質問1}
|
||
```
|
||
instruction_template: |
|
||
## ワークフロー状況
|
||
- イテレーション: {iteration}/{max_iterations}
|
||
- ステップ: plan
|
||
|
||
## 調査依頼
|
||
{task}
|
||
|
||
## Supervisorからのフィードバック(再計画の場合)
|
||
{previous_response}
|
||
|
||
## 追加のユーザー入力
|
||
{user_inputs}
|
||
|
||
## 指示
|
||
上記の調査依頼について、調査計画を立ててください。
|
||
|
||
**重要**: ユーザーに質問しないでください。
|
||
- 不明点は仮定を置いて進める
|
||
- 複数の解釈がある場合は、すべてを調査対象に含める
|
||
- Supervisorからフィードバックがある場合は、指摘を反映した計画を作成
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: done
|
||
next_step: dig
|
||
- condition: blocked
|
||
next_step: ABORT
|
||
|
||
- name: dig
|
||
agent: ~/.takt/agents/research/digger.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules_prompt: |
|
||
# ⚠️ 必須: ステータス出力ルール ⚠️
|
||
|
||
**このタグがないとワークフローが停止します。**
|
||
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
||
|
||
## 出力フォーマット
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 調査完了 | `[DIGGER:DONE]` |
|
||
| 調査不可 | `[DIGGER:BLOCKED]` |
|
||
|
||
### 出力例
|
||
|
||
**DONE の場合:**
|
||
```
|
||
[DIGGER:DONE]
|
||
```
|
||
|
||
**BLOCKED の場合:**
|
||
```
|
||
[DIGGER:BLOCKED]
|
||
|
||
理由: {調査できなかった理由}
|
||
```
|
||
instruction_template: |
|
||
## ワークフロー状況
|
||
- イテレーション: {iteration}/{max_iterations}
|
||
- ステップ: dig
|
||
|
||
## 元の調査依頼
|
||
{task}
|
||
|
||
## 調査計画
|
||
{previous_response}
|
||
|
||
## 追加のユーザー入力
|
||
{user_inputs}
|
||
|
||
## 指示
|
||
上記の調査計画に従って、実際に調査を実行してください。
|
||
|
||
**重要**: ユーザーに質問しないでください。
|
||
- 調査できる範囲で調査する
|
||
- 調査できなかった項目は「調査不可」と報告
|
||
|
||
利用可能なツール:
|
||
- Web検索
|
||
- GitHub検索(gh コマンド)
|
||
- コードベース検索
|
||
- ファイル読み取り
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: done
|
||
next_step: supervise
|
||
- condition: blocked
|
||
next_step: ABORT
|
||
|
||
- name: supervise
|
||
agent: ~/.takt/agents/research/supervisor.md
|
||
allowed_tools:
|
||
- Read
|
||
- Glob
|
||
- Grep
|
||
- WebSearch
|
||
- WebFetch
|
||
status_rules_prompt: |
|
||
# ⚠️ 必須: ステータス出力ルール ⚠️
|
||
|
||
**このタグがないとワークフローが停止します。**
|
||
最終出力には必ず以下のルールに従ったステータスタグを含めてください。
|
||
|
||
## 判定基準
|
||
|
||
| 状況 | 判定 |
|
||
|------|------|
|
||
| 調査結果が十分 | APPROVE |
|
||
| 調査結果が不十分 | REJECT |
|
||
|
||
## 出力フォーマット
|
||
|
||
| 状況 | タグ |
|
||
|------|------|
|
||
| 調査完了、結果は十分 | `[SUPERVISOR:APPROVE]` |
|
||
| 不十分、計画からやり直し | `[SUPERVISOR:REJECT]` |
|
||
|
||
### 出力例
|
||
|
||
**APPROVE の場合:**
|
||
```
|
||
[SUPERVISOR:APPROVE]
|
||
|
||
調査結果は元の依頼に対して十分です。
|
||
```
|
||
|
||
**REJECT の場合:**
|
||
```
|
||
[SUPERVISOR:REJECT]
|
||
|
||
不足点:
|
||
- {具体的な不足点}
|
||
```
|
||
instruction_template: |
|
||
## ワークフロー状況
|
||
- イテレーション: {iteration}/{max_iterations}
|
||
- ステップ: supervise (調査品質評価)
|
||
|
||
## 元の調査依頼
|
||
{task}
|
||
|
||
## Digger の調査結果
|
||
{previous_response}
|
||
|
||
## 指示
|
||
調査結果を評価し、元の依頼に対して十分な回答になっているか判断してください。
|
||
|
||
**重要**: 問題がある場合は、Plannerへの具体的な指示を含めてください。
|
||
pass_previous_response: true
|
||
transitions:
|
||
- condition: approved
|
||
next_step: COMPLETE
|
||
- condition: rejected
|
||
next_step: plan
|
||
|
||
initial_step: plan
|