takt/resources/global/ja/workflows/research.yaml
nrslib 7bb54067b4 ステータス出力ルールのヘッダーを自動生成に変更
- renderStatusRulesHeader() を追加して言語別にヘッダーを生成
- 全ワークフローYAMLから重複していたヘッダー部分を削除
- buildInstruction() で statusRulesPrompt にヘッダーを自動付加
2026-01-29 02:38:01 +09:00

216 lines
5.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Research Workflow
# 調査タスクを自律的に実行するワークフロー
# Planner が計画を立て、Digger が実行し、Supervisor が確認する
#
# フロー:
# plan -> dig -> supervise -> COMPLETE (approved)
# -> plan (rejected: 計画からやり直し)
#
# テンプレート変数:
# {iteration} - ワークフロー全体のターン数(全エージェントで実行されたステップの合計)
# {max_iterations} - ワークフローの最大イテレーション数
# {step_iteration} - ステップごとのイテレーション数(このステップが何回実行されたか)
# {task} - 元のユーザー要求
# {previous_response} - 前のステップの出力
# {git_diff} - 現在のコミットされていない変更git diff
# {user_inputs} - ワークフロー中に蓄積されたユーザー入力
# {report_dir} - レポートディレクトリ名(例: "20250126-143052-task-summary"
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}(ワークフロー全体)
- ステップ実行回数: {step_iteration}(このステップの実行回数)
- ステップ: 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}(ワークフロー全体)
- ステップ実行回数: {step_iteration}(このステップの実行回数)
- ステップ: 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}(ワークフロー全体)
- ステップ実行回数: {step_iteration}(このステップの実行回数)
- ステップ: supervise (調査品質評価)
## 元の調査依頼
{task}
## Digger の調査結果
{previous_response}
## 指示
調査結果を評価し、元の依頼に対して十分な回答になっているか判断してください。
**重要**: 問題がある場合は、Plannerへの具体的な指示を含めてください。
pass_previous_response: true
transitions:
- condition: approved
next_step: COMPLETE
- condition: rejected
next_step: plan
initial_step: plan