> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kanaeru.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Kanaeruのしくみ

> ビジョン、ロードマップ、アウトカム、タスク、ジャーニー、ブループリント、パイプラインを支える考え方。

Kanaeruは作業をループとして組み立てます。各段階は前の段階をさらに絞り込み、誤解があると高くつく場面ではあなたがレビューします。そして各アウトカムの振り返りで得た[学び](/ja/concepts/learning-loop)を、Kanaは次のアウトカムに持ち込みます。その間ずっと、リファインメントがロードマップを整えています。

```mermaid theme={null}
%%{init: {"theme":"base","themeVariables":{"fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif","fontSize":"16px","primaryColor":"#FFF1E0","primaryBorderColor":"#A94604","primaryTextColor":"#3B1A02","secondaryColor":"#FFE4C2","tertiaryColor":"#FFF8F0","lineColor":"#A94604","clusterBkg":"#FFF8F0","clusterBorder":"#E8B98A","edgeLabelBackground":"#FFFFFF","git0":"#A94604","git1":"#FF9F0A","git2":"#D97706","git3":"#B45309","gitBranchLabel0":"#FFFFFF","gitBranchLabel1":"#3B1A02","gitBranchLabel2":"#FFFFFF","commitLabelColor":"#3B1A02","commitLabelBackground":"#FFF1E0"}}}%%
flowchart TD
  V[ビジョン] --> R[ロードマップ]
  RF[リファインメント] -.-> R
  R --> O[アウトカム]
  O --> T[タスク、ジャーニー、ブループリント]
  T --> RV[レビュー]
  RV --> TP[タスク計画]
  TP --> P[パイプライン]
  P --> PR[タスクのプルリクエスト]
  PR --> D[デリバリー]
  D --> RT[振り返り]
  RT -. 学び .-> O
```

## ビジョン

**ビジョン**は、目指している長期的な成果です。1つのビジョンに到達するには、通常いくつものアウトカムが必要です。学びに応じてビジョンを見直すこともできます。各ビジョンはそれぞれ専用の**ワークスペース**に置かれます。ワークスペースを作成することは、ビジョンを記述することです。

## ロードマップとバックログ

**ロードマップ**には、ビジョンに到達するために必要なすべての項目が含まれます。項目は、あなた自身、Kanaの提案、接続済みのツールから追加されます。提案された項目は、あなたが受け入れるまで提案のままです。

まだアウトカムに入っていない項目は**バックログ**に置かれ、アウトカムに組み込まれるまでそこで待機します。Kanaが**AI提案**した項目も、あなたのレビューを待つ間はバックログに置かれます。

**リファインメント**セッションでは、Kanaと一緒にロードマップを整えます。**新しいリファインメント**で開始します。リファインメントでは、Kanaは次のことができます。

* 項目の並べ替え、統合、分割、明確化
* 新しい項目を追加する前に、同じ項目がすでにないかの確認
* 接続済みツールやコードからの詳細の取り込み
* バックログの項目を、新規または既存のアウトカムにまとめる

リファインメントセッションは、ほかの作業の前でも並行してでも、いつでも開けます。

## アウトカム

**アウトカム**とは、ビジョンに向けた一区切りの作業で、実際に使えるものが出来上がるまでを1単位とします。ロードマップの項目を1つの成果物にまとめ、計画、レビュー、実行、デリバリー、振り返りという決まったライフサイクルを進みます。[アウトカム](/ja/concepts/outcomes)を参照してください。

## タスク、ジャーニー、ブループリント

アウトカムの**計画**セッションで、Kanaはアウトカムを**タスク**に分割します。各タスクは1つ以上の**ユーザージャーニー**、つまり利用者があなたの作るものの中でたどる道筋をカバーします。各ジャーニーには次のものが含まれます。

* **受け入れ条件**：Given / When / Then形式で書かれたシナリオです。受け入れテストに合格するまで、タスクは完了になりません。
* **ブループリント**：そのジャーニーに必要な設計です。コードを書く前に生成されるので、Kanaが何を理解したかを確認できます。

ブループリントには多くの種類があり、各ジャーニーは対象となる画面や機能に必要なものを使います。

| ブループリント | 示す内容 |
| - | - |
| **UXモックアップ** | 画面。実際のルートをクリックして操作できるライブのプロトタイプとして作られます。まだプロトタイプ化されていない画面は「計画中」として表示されます |
| **ユーザージャーニー** | 利用者がたどるステップとそのシナリオ |
| **シーケンス図** | コンポーネント同士が時間の流れに沿ってどうやり取りするか |
| **API契約** | エンドポイント、リクエスト、レスポンス |
| **データモデル**と**ドメインモデル** | エンティティ、リレーション、ビジネス上の概念とそのルール |
| **アーキテクチャ** | コンポーネント、デプロイ、連携、データフロー |
| **ステートマシン** | 状態と状態間の遷移 |
| **インテント仕様**、**品質プロファイル**、**技術スタック** | アウトカムの背後にある意図、満たすべき品質、技術選定とその理由 |

すべての種類とレビュー方法については、[ブループリント](/ja/concepts/blueprints)を参照してください。

依存関係が宣言されていないタスクは並行して実行されます。

## 理解のギャップ

**理解のギャップ**とは、Kanaの理解とあなたの意図が一致していない可能性がある箇所です。Kanaは、影響が及ぶ最も狭い範囲（1つのジャーニー、1つのタスク、タスク一覧、またはアウトカム全体）でギャップを提起します。

通常のギャップもあります。情報不足、曖昧さ、確認すべき仮定、記録された決定です。一方で**ブロッキング**のギャップもあります。リスク、エスカレーション、仕様の不足、意図のずれ、理解度の確認、あなただけが持つ前提情報です。ブロッキングのギャップは、実行を開始する前に解消する必要があります。[理解のギャップ](/ja/concepts/blueprints)を参照してください。

## レビュー

計画のレビューは、アウトカムの**計画とレビュー**セクションで、作られたときと同じ順序で行います。まずタスク分解、次に各タスクのジャーニー、最後に受け入れ条件とブループリントを含む各ジャーニーです。

```mermaid theme={null}
%%{init: {"theme":"base","themeVariables":{"fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif","fontSize":"16px","primaryColor":"#FFF1E0","primaryBorderColor":"#A94604","primaryTextColor":"#3B1A02","secondaryColor":"#FFE4C2","tertiaryColor":"#FFF8F0","lineColor":"#A94604","clusterBkg":"#FFF8F0","clusterBorder":"#E8B98A","edgeLabelBackground":"#FFFFFF","git0":"#A94604","git1":"#FF9F0A","git2":"#D97706","git3":"#B45309","gitBranchLabel0":"#FFFFFF","gitBranchLabel1":"#3B1A02","gitBranchLabel2":"#FFFFFF","commitLabelColor":"#3B1A02","commitLabelBackground":"#FFF1E0"}}}%%
flowchart TD
  A[タスク分解] -->|タスク分解を承認| B[ジャーニー一覧]
  B -->|ジャーニー一覧を承認| C[各ジャーニー：受け入れ条件＋ブループリント]
  C --> G{ブロッキングのギャップが残っている？}
  G -- はい --> C
  G -- いいえ --> Q[Kanaの理解度クイズ]
  Q -->|全問正解| S[アウトカムを開始]
  Q -->|1問でも不正解| Q
```

**アウトカムを開始**は、必要な条件がすべてそろうまでロックされたままです。

* 構築したいすべてのタスクが承認され、その要件がレビュー済みである
* すべてのブループリントが承認され、未解決のブロッキング注釈がない
* ブロッキングの理解のギャップが残っていない
* Kanaの理解度クイズに合格している

**理解度クイズ**は、あなたが承認しようとしている内容を理解しているかをKanaが確かめる方法です。レビューチャットでKanaが計画を説明したあと、3〜5問の質問をします。すべてに正解する必要があります。1問でも間違えると、Kanaが改めて説明し、新しい質問を出します。**アウトカムを開始**を選んだら、合格したことを確認し、**確認して開始**を選びます。

## パイプライン

各タスクの準備が整うと、**タスク計画**セッションがそのタスクの**パイプライン**、つまりタスクを構築・チェックする具体的なステップを設計します。どのステップも実行される前に、独立したレビュアーが計画をチェックします。

パイプラインは3つの階層で構成されます。

* **フェーズ**：必ず**ビジネスロジック**、**API**、**UI**、**QA**、**デプロイ**の順です。該当しないフェーズは、理由を記録したうえでスキップされます。
* **レイヤー**：各フェーズの中にあり、コードベースの各部分に対応します。ビジネスロジックにはドメインとユースケースのレイヤーがあります。APIにはコントローラー、アダプター、APIクライアントがあります。UIにはコンポーネント、ページ、状態管理、フロントエンドのユースケースがあります。
* **ステップ**：各レイヤーの中にあり、1つずつ実行されます。

```mermaid theme={null}
%%{init: {"theme":"base","themeVariables":{"fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif","fontSize":"16px","primaryColor":"#FFF1E0","primaryBorderColor":"#A94604","primaryTextColor":"#3B1A02","secondaryColor":"#FFE4C2","tertiaryColor":"#FFF8F0","lineColor":"#A94604","clusterBkg":"#FFF8F0","clusterBorder":"#E8B98A","edgeLabelBackground":"#FFFFFF","git0":"#A94604","git1":"#FF9F0A","git2":"#D97706","git3":"#B45309","gitBranchLabel0":"#FFFFFF","gitBranchLabel1":"#3B1A02","gitBranchLabel2":"#FFFFFF","commitLabelColor":"#3B1A02","commitLabelBackground":"#FFF1E0"}}}%%
flowchart TD
  subgraph BL[ビジネスロジック]
    direction LR
    D[ドメイン] --> U[ユースケース]
  end
  subgraph API
    direction LR
    CT[コントローラー] --> AD[アダプター] --> AC[APIクライアント]
  end
  subgraph UI
    direction LR
    CO[コンポーネント] --> PG[ページ] --> SM[状態管理]
  end
  subgraph QA
    direction LR
    E2E[E2Eテスト] --> SEC[セキュリティ＋品質]
  end
  subgraph Deploy[デプロイ]
    direction LR
    CM[コミット] --> FR[最終レビュー] --> PRQ[プルリクエスト]
  end
  BL --> API --> UI --> QA --> Deploy
```

各レイヤーは2つのサイクルを実行します。

1. **構築**：ほとんどのレイヤーは、先にコードを書き、次にそのテストを書きます。ユースケースのレイヤーはテストファーストで、テストとそれが定めるインターフェースが実装より先に作られます。生成されたコードはすべて、すぐにlintの修正が行われます。
2. **レビューと修正**：レビューステップが、書かれたばかりのコードやテストをチェックします。作業が却下されると、パイプラインはそれを書いたステップに差し戻し、再度レビューします。何度か却下が続くと、**エスカレーション判定**が、受け入れるか、もう一度差し戻すか、ブロックしてあなたの判断を待つかを決めます。

```mermaid theme={null}
%%{init: {"theme":"base","themeVariables":{"fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif","fontSize":"16px","primaryColor":"#FFF1E0","primaryBorderColor":"#A94604","primaryTextColor":"#3B1A02","secondaryColor":"#FFE4C2","tertiaryColor":"#FFF8F0","lineColor":"#A94604","clusterBkg":"#FFF8F0","clusterBorder":"#E8B98A","edgeLabelBackground":"#FFFFFF","git0":"#A94604","git1":"#FF9F0A","git2":"#D97706","git3":"#B45309","gitBranchLabel0":"#FFFFFF","gitBranchLabel1":"#3B1A02","gitBranchLabel2":"#FFFFFF","commitLabelColor":"#3B1A02","commitLabelBackground":"#FFF1E0"}}}%%
flowchart TD
  G[コードまたはテストを書く] --> L[lint修正]
  L --> R{レビュー}
  R -- 承認 --> N[次のステップ]
  R -- 却下 --> G
  R -- 再び却下 --> J{エスカレーション判定}
  J -- 受け入れ --> N
  J -- やり直し --> G
  J -- ブロック --> H[あなたの判断を待つ]
```

ビジネスロジックのレイヤーは、最後に**ミューテーションテスト**を行い、テストが実際にバグを検出できるかを確かめます。

すべてのステップがエージェントというわけではありません。ステップには、**エージェント**、コミットやPR作成などの組み込み**スキル**、**手動**の操作があります。また、各ステップには生成、テスト、lint、レビュー、品質などのカテゴリーがあります。

**QA**では、タスクがエンドツーエンドで動くことを検証します。すべてのタスクに、受け入れ条件のエンドツーエンドテストと、セキュリティ、コードレビュー、品質のゲートがあります。**デプロイ**では作業をコミットし、変更全体を改めてレビューし、プルリクエストを作成して、結果を検証します。どのパイプラインも、短いタスクの**振り返り**と**コンテキスト同期**で終わるため、次のタスクはこのタスクの学びを引き継いで始まります。

その後もエージェントがプルリクエストを担当し、マージされるまでレビューコメントに対応し、CIを修正します。各タスクは専用のGitワークツリーとブランチで作業するため、並行するタスクがチェックアウトを共有することはありません。1つのアウトカムで同時に実行されるタスクは最大3つです。別のタスクに依存するタスクは、依存先のプルリクエストがレビュー中でも開始できます。

## デリバリーと振り返り

タスクのプルリクエストは、アウトカム専用のブランチ（`outcome/<id>`）にマージされます。最後のプルリクエストがマージされると、Kanaeruはリポジトリごとに1つの**デリバリープルリクエスト**を、アウトカムブランチからデフォルトブランチに向けて作成します。これをマージすると、アウトカム全体が一度に出荷されます。別の方法でレビューしたい場合はKanaに相談してください。たとえば、タスクのプルリクエストをスタックにしたり、1つずつベースブランチに直接マージしたりできます。

```mermaid theme={null}
%%{init: {"theme":"base","themeVariables":{"fontFamily":"Inter, ui-sans-serif, system-ui, sans-serif","fontSize":"16px","primaryColor":"#FFF1E0","primaryBorderColor":"#A94604","primaryTextColor":"#3B1A02","secondaryColor":"#FFE4C2","tertiaryColor":"#FFF8F0","lineColor":"#A94604","clusterBkg":"#FFF8F0","clusterBorder":"#E8B98A","edgeLabelBackground":"#FFFFFF","git0":"#A94604","git1":"#FF9F0A","git2":"#D97706","git3":"#B45309","gitBranchLabel0":"#FFFFFF","gitBranchLabel1":"#3B1A02","gitBranchLabel2":"#FFFFFF","commitLabelColor":"#3B1A02","commitLabelBackground":"#FFF1E0"}}}%%
gitGraph TB:
  commit id: "main"
  branch outcome
  checkout outcome
  branch task-1
  commit id: "タスク1"
  checkout outcome
  merge task-1 id: "タスク1のPR"
  branch task-2
  commit id: "タスク2"
  checkout outcome
  merge task-2 id: "タスク2のPR"
  checkout main
  merge outcome id: "デリバリーPR"
```

デリバリープルリクエストがマージされたら、**振り返りを開始**を選びます。**振り返り**では、うまくいったこと、うまくいかなかったこと、かかったコストを確認します。フィードバック（あなたまたはKanaのもの）が1つ以上記録され、**エビデンスパッケージ**（テスト結果、差分、承認、ゲートの結果）を確認したら、**デリバリーを承認し、アウトカムを完了**を選びます。振り返りの指摘は学びとして保存され、以降のKanaのセッションで使われるため、次のアウトカムは今回の続きから始まります。[学習ループ](/ja/concepts/learning-loop)を参照してください。

## セッション

このループの各段階は、特定の種類の**Kanaセッション**として実行されます。種類は、ビジョン＆ロードマップ、リファインメント、計画、レビュー、タスク計画、タスク実行、振り返りです。セッションは、あなたが選んだ[ランタイム](/ja/machines/runtimes)を使って[エージェントマシン](/ja/machines/connect-a-machine)上で動きます。セッションとは、Webアプリ、[CLI](/ja/cli/overview)、または[CodexやClaudeの中のKanaeruアプリ](/ja/mcp/connect)からやり取りできます。

## 役割分担

| 役割 | 説明 |
| - | - |
| **あなた** | ビジョンを決め、質問に答え、計画とブループリントを承認し、デリバリーを受け入れます |
| **Kana** | Kanaeruのチームメイトです。計画、構築、レビューを行い、各判断の理由とともに報告します |
| **Koa** | Kanaのオペレーターエージェントです。アウトカムを任せると、そのライフサイクル全体をKanaの中であなたに代わって進めます。Koaはアウトカムごとに1人です。あなたが承認した内容とエビデンスに基づいて判断し、あなたが決めるべきことがあるときだけ、人の判断待ち受信箱である**あなた待ちの案件**を通じて連絡します。いつでもKoaから引き継げます |


## Related topics

- [クイックスタート](/ja/quickstart.md)
- [Kanaeruの概要](/ja/index.md)
- [Kanaeru アプリのツール](/ja/mcp/tools.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.