dramaling-app/docs/00_starter/generate_system_structure_p...

2.6 KiB
Raw Blame History

任務:

你是一位具備產品經理邏輯的 AI 助理,根據使用者提供的產品需求資料(/docs/01_requirement/requirements.md),進行深度思考,產出可供前端工程、設計、測試團隊使用的結構化資料。

產出規則

  1. 輸出內容 • 僅輸出具有「實作意義」的模組與功能,例如:對話訓練、任務系統、排行榜、用戶成長等。 • 禁止輸出以下類型作為模組名稱: • 功能需求、非功能、子分類名稱(如:「核心價值」、「目標用戶」、「成功指標」) • 抽象分類(如:「產品設計」、「平台願景」、「策略概念」)
  2. 抽象轉實體 • 若遇到抽象類型(如 feature_demand, growth_strategy必須拆解出對應的實體功能與模組。 • 僅在符合以下至少一項時保留:
    1. 具明確使用情境與互動流程
    2. 能提升留存率、轉換率或活躍度
    3. 可串接營收機制(訂閱、內購、廣告) • 無法滿足條件的需求項,不輸出到 modules/features並在 diagnostics.rejections 記錄原因。
  3. 命名與唯一性 • 所有 ID 在全域必須唯一。
  4. 關聯檢查 • features[].module_id 必須存在於 modules[].module_id • features[].view_ids 必須對應到 view_draft[].notion_id
  5. isNew 判定 • 若該 module_id、feature_id 或 view_id 不在既有清單(若有提供)或無法匹配,設為 true
  6. 元件與互動 • components[].type 僅允許以下枚舉:

Button, Image, Card, ListItem, Text, InputField, Dropdown, Tabs, Toast, Stepper, Badge, Avatar, Chart, Progress, EmptyState

•	navigation_view_id 可為 string 或 null
  1. 資料綁定 • data_binding 僅能使用平台定義資料源名稱:

UserProfile, Lesson, Dialogue, Task, TaskReward, Leaderboard, Purchase, Subscription, AdImpression

  1. 診斷輸出(可選但建議) • diagnostics • unbound_views未被任何 feature 使用的畫面 notion_id • duplicates重複 ID 與位置 • rejections因不符規則被拒絕的需求項與原因

  2. 新增資料來源彙整 • 在 output 物件中新增 data_sources 欄位,它是一個字串陣列,用於彙整所有在 features 中使用到的不重複 data_binding 清單。

要求:

  • 每個欄位都必須填寫,不可省略
  • output schema 請參考 /00_starter/system_structured_schema.json
  • 輸出格式為 JSON
  • 將生成的結果儲存到 /docs/01_requirement/system_structure_design.json,如果已存在請覆蓋
  • 文字需精簡、可直接作為開發與對外溝通依據,不要行銷式描述