# 🎯 Taskr 實際上是如何運作的？

## 3.4 筆記 (Notes) - 您的 AI 的記憶系統

### 筆記到底是什麼

筆記不僅僅是隨機的文字 —— 它們是結構化的記憶，能幫助您的 AI 理解以前發生了什麼事。您可以把它們想像成：

  - 貼在重要頁面上的**便利貼**
  - 教科書裡的**眉批**
  - 實驗過程的**實驗室日誌**

### 五種筆記類型

**FILE\_LIST (檔案清單)** 📁

  - 「我修改了這 5 個檔案」
  - 列出修改了什麼以及為什麼修改
  - 有助於追蹤變更的範圍

**PROGRESS (進度)** 📈

  - 「我完成了登入系統！」
  - 重要的里程碑與成就
  - 只用於重大進展，而不是每個微小的任務

**CONTEXT (情境)** 📚

  - 「我們使用 JWT token 是因為...」
  - 背景資訊與決策過程
  - 每個選擇背後的「為什麼」

**FINDING (發現)** 🔍

  - 「在驗證邏輯中發現了一個 Bug」
  - 「API 回傳的資料格式與預期不同」
  - 各種發現、問題以及解決方案

**OTHER (其他)** 📝

  - 其他所有事物
  - 一般的觀察
  - 最後的分類選項

### 筆記如何與任務連結

每一則筆記都可以透過 `task_id`「附加」到任務上。這會建立一個時間軸：

```
任務 1.2: 「建立登入表單」
  └─ 筆記 (FILE_LIST): 修改了 login.tsx, auth.css
  └─ 筆記 (FINDING): 表單套件有內建的驗證功能
  └─ 筆記 (PROGRESS): 登入表單已完成且可正常運作
```

未來的 Agent 可以清楚看到在每個任務期間究竟發生了什麼事！

### 筆記 ID

每則筆記都會獲得一個類似 `NT_ABC123XYZ...` 的專屬 ID（NT = Note）。您會在網頁介面的筆記卡片角落看到這些 ID。您可以這樣引用它們：「正如筆記 NT\_ABC123 中提到的...」

### 資料庫實作

筆記儲存在 `notes` 資料表中，具備以下特性：

  - 透過 PostgreSQL enum 確保筆記類型的強型別 (Strong typing)
  - 為 `search_notes` 函式建立的全文本搜尋索引 (Full-text search indexing)
  - 軟刪除 (Soft deletion, `deleted_at` 欄位) 以保留歷史紀錄
  - 透過外部鍵 (foreign key) 關聯至任務

-----
