# MAGI System Workflow # エヴァンゲリオンのMAGIシステムを模した合議制ワークフロー # 3つの人格(科学者・育成者・実務家)が異なる観点から分析・投票する name: magi description: MAGI合議システム - 3つの観点から分析し多数決で判定 max_iterations: 5 steps: - name: melchior agent: ~/.takt/agents/magi/melchior.md allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch status_rules_prompt: | # ステータス出力ルール 最終出力には必ず以下のルールに従ったステータスタグを含めてください。 ## 出力フォーマット | 判定 | タグ | |------|------| | 賛成 | `[MELCHIOR:APPROVE]` | | 反対 | `[MELCHIOR:REJECT]` | | 条件付き賛成 | `[MELCHIOR:CONDITIONAL]` | ### 出力例 ``` [MELCHIOR:APPROVE] 理由: {賛成の理由} ``` instruction_template: | # MAGI System 起動 ## 審議事項 {task} ## 指示 あなたはMAGI System の MELCHIOR-1 です。 科学者・技術者の観点から上記を分析し、判定を下してください。 transitions: - condition: always next_step: balthasar - name: balthasar agent: ~/.takt/agents/magi/balthasar.md allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch status_rules_prompt: | # ステータス出力ルール 最終出力には必ず以下のルールに従ったステータスタグを含めてください。 ## 出力フォーマット | 判定 | タグ | |------|------| | 賛成 | `[BALTHASAR:APPROVE]` | | 反対 | `[BALTHASAR:REJECT]` | | 条件付き賛成 | `[BALTHASAR:CONDITIONAL]` | ### 出力例 ``` [BALTHASAR:APPROVE] 理由: {賛成の理由} ``` instruction_template: | # MAGI System 継続 ## 審議事項 {task} ## MELCHIOR-1 の判定 {previous_response} ## 指示 あなたはMAGI System の BALTHASAR-2 です。 育成者の観点から上記を分析し、判定を下してください。 MELCHIORの判定は参考にしつつも、独自の観点で判断してください。 pass_previous_response: true transitions: - condition: always next_step: casper - name: casper agent: ~/.takt/agents/magi/casper.md allowed_tools: - Read - Glob - Grep - WebSearch - WebFetch status_rules_prompt: | # ステータス出力ルール 最終出力には必ず以下のルールに従ったステータスタグを含めてください。 ## 出力フォーマット 最終結論は3者の多数決で判定: | 判定 | タグ | |------|------| | 承認(2票以上賛成) | `[MAGI:APPROVE]` | | 却下(2票以上反対) | `[MAGI:REJECT]` | | 条件付き承認 | `[MAGI:CONDITIONAL]` | ### 出力例 ``` ## MAGI System 最終判定 | システム | 判定 | |----------|------| | MELCHIOR-1 | APPROVE | | BALTHASAR-2 | CONDITIONAL | | CASPER-3 | APPROVE | **結論: [MAGI:APPROVE]** [理由・まとめ] ``` instruction_template: | # MAGI System 最終審議 ## 審議事項 {task} ## これまでの判定 {previous_response} ## 指示 あなたはMAGI System の CASPER-3 です。 実務・現実の観点から上記を分析し、判定を下してください。 **最後に、3者の判定を集計し、最終結論を出してください。** pass_previous_response: true transitions: - condition: always next_step: COMPLETE