# 🎯 Taskrの仕組み

## 3.1 プロジェクト - AIの異なるワークスペース

### 簡易版

プロジェクトは、机の上にある別々のノートのようなものだと考えてください。一方のノートでレシピアプリの作業をし、もう一方のノートでワークアウトトラッカーの作業をしているとき、ページが混ざってしまうのは困りますよね。プロジェクトもAIに対して同じように機能します。

### 実際の仕組み

すべてのプロジェクトには、`PR_ABC123XYZ...`（PRは「Project」の略）のような一意のIDが割り当てられます。AIはこのIDを使用して、現在どの「ノート」で作業しているかを識別します。

**プロジェクトの具体例：**
- 「マイレシピアプリ」のプロジェクトを作成すると、Taskrは `PR_01JGYVYMA0Q0K8OOFK12345678` を生成します。
- レシピに関するすべてのタスクはこのプロジェクトに入ります。
- ワークアウトトラッカーには独自のID `PR_01JGYVYMA0Q0K8OOFK87654321` が付与されます。
- これらが混ざることはありません！

### なぜこれが重要なのか

**プロジェクトの分離がない場合：**
- AIがレシピアプリに「腕立て伏せを50回する」を追加してしまうかもしれません 😅
- 異なるプロジェクトのタスクがごちゃまぜになります。
- どれがどこに属しているか分からなくなります。

**プロジェクトが分離されている場合：**
- 各プロジェクトはまっさらな状態から始まります。
- AIは一度に一つのことに集中できます。
- プロジェクトを切り替える＝コンテキスト（文脈）を完全に切り替えることになります。

### 舞台裏

データベース内では、すべてのタスク、ノート、およびデータのかけらに、プロジェクトに紐付けるための `project_id` フィールドがあります。これは、すべてのページにどのノートに属しているかを示すラベルが貼ってあるようなものです。システムはPostgreSQLの行レベルセキュリティ（RLS）を使用して、データベースレベルであってもプロジェクト間でデータが漏洩しないようにしています。

---
