.cursorrules 文件:軟體開發與 AGI 融合指引

本文件旨在建立一套涵蓋軟體開發全流程與 AGI 輔助技術的整體指引,幫助團隊與個人達成快速原型 (POC) 開發、知識積累與持續優化。文件整合了以下各部分內容:

Views1
PublishedJan 15, 2026

Loading actions...

5 minBeginnerpromptSingle file

Skill content

Main instructions and any bundled files for this skill.

markdown

.cursorrules 文件:軟體開發與 AGI 融合指引

本文件旨在建立一套涵蓋軟體開發全流程與 AGI 輔助技術的整體指引,幫助團隊與個人達成快速原型 (POC) 開發、知識積累與持續優化。文件整合了以下各部分內容:

  • 與使用者互動及內部記錄的基本指示
  • 開發過程中各角色的分工與職責
  • 軟體開發流程與運算思維方法
  • 快速 POC 開發的 SOP 指引
  • 持續學習與自我優化的機制
  • 套件與版本紀錄機制(含版本相依性守則)
  • 依賴查詢:透過官方文件 URL 搜尋套件相依性資訊

Windows CMD 操作指引

  • 啟動命令提示字元:按下 Win + R,輸入 cmd,然後按 Enter

  • 切換目錄:使用 cd,例如 cd C:\path\to\project

  • 列出檔案與資料夾:使用 dir

  • 建立資料夾:使用 mkdir 資料夾名稱

  • 刪除檔案:使用 del 檔案名稱

  • 刪除資料夾:使用 rmdir /S /Q 資料夾名稱(包含子目錄且不提示)。

  • 複製檔案:使用 copy 來源 目的地

  • 移動檔案/資料夾:使用 move 來源 目的地

  • 執行 Python 腳本:使用 python script.pypy script.py

  • 串接多重指令

    • 使用 && 僅當前一指令成功時才執行下一指令,例如:

      mkdir test && cd test
      
    • 使用 || 僅當前一指令失敗時執行下一指令,例如:

      type missing.txt || echo File not found
      
    • 使用 & 不論前一指令成功或失敗都執行下一指令,例如:

      echo step1 & echo step2
      

Windows PowerShell 操作指引

PowerShell 為 Windows 上進階的殼層(shell)與指令腳本環境,與 Linux shell(bash/zsh)在語法與物件模型上有以下主要差異:

  • 物件導向管線:PowerShell 的管線傳遞物件,而非純文字。例如:

    Get-Process | Where-Object { $_.CPU -gt 100 }
    
  • 指令(cmdlet)命名慣例:多為 動詞-名詞 格式,如 Get-ChildItemSet-Location,對應 Linux 的 lscd

  • 變數宣告:變數前需加 $,且不需顯式宣告類型,例如:

    $files = Get-ChildItem -Path . -Filter *.txt
    
  • 切換目錄:使用 Set-Location(別名 cd)、Push-Location / Pop-Location 管理位置堆疊。

  • 列出檔案:使用 Get-ChildItem(別名 ls, dir)、可搭配 -Recurse 深度搜尋。

  • 建立資料夾:使用 New-Item -ItemType Directory -Name 資料夾名稱

  • 刪除檔案/資料夾:使用 Remove-Item 路徑;加 -Recurse 刪除子目錄,加 -Force 忽略提示。

  • 複製檔案:使用 Copy-Item來源 -Destination 目的地

  • 移動檔案/資料夾:使用 Move-Item 來源 -Destination 目的地

  • 執行 Python 腳本:與 CMD 相同,使用 python script.py,但可在同一行中搭配 PowerShell 參數。

  • 執行腳本設定:預設禁止執行腳本,可透過 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 設定執行策略。

一、基本指示 (Instructions)

  • 可重用資訊記錄
    在與使用者互動過程中,若發現專案中可重用的資訊(例如函式庫版本、模型名稱、錯誤修正或收到的糾正),請立即記錄於本文件的 Lessons 區塊,避免日後重複相同錯誤。

  • Scratchpad 作為思考與記錄工具

    • 使用本文件作為 Scratchpad(工作筆記區),組織與記錄所有新任務的思考、規劃與進度。
    • 開發流程規劃 - 任務內容
    • 接到新任務時,首先回顧 Scratchpad 內容,若有與當前任務無關的舊任務,請先清除。
    • 說明任務內容、規劃完成任務所需步驟,可使用 todo markers 表示進度,如:
      • 任務 1
      • 任務 2
    • 完成子任務時更新進度,並於每個里程碑後反思與記錄,確保全局規劃與細節追蹤兼備。

二、Cursor Learned

  • 處理搜尋結果時,確保正確處理不同國際查詢的字符編碼(UTF-8)。
  • 在 stderr 中輸出除錯資訊,同時保持 stdout 輸出整潔,便於整合管道操作。
  • 使用 matplotlib 畫圖時,若需採用 seaborn 風格,請使用 seaborn-v0_8 而非傳統 seaborn(因近期版本變更)。
  • 使用 OpenAI 的 GPT-4 時,請以 gpt-4o 作為模型名稱,尤其在具備視覺功能時。

三、資料夾結構規劃

/data_mining_course/ │ ├── modules/ │ ├── module_01_eda_intro/ # 模組1:課程導入與EDA複習 │ │ ├── slides/ │ │ │ └── 01_course_introduction.pptx │ │ ├── notebooks/ │ │ │ ├── 01_pandas_basics.ipynb # Pandas基礎操作複習 │ │ │ ├── 02_data_visualization.ipynb # 資料視覺化技巧 │ │ │ └── 03_exploratory_analysis.ipynb # 探索性分析方法 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_02_data_cleaning/ # 模組2:資料清理與預處理複習 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_chunking_large_files.ipynb # 大檔案分塊處理 │ │ │ ├── 02_handling_duplicates.ipynb # 重複值處理 │ │ │ ├── 03_data_type_conversion.ipynb # 資料型態轉換 │ │ │ └── 04_text_cleaning.ipynb # 文字欄位清理 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_03_missing_outliers/ # 模組3:缺失值與異常值處理 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_missing_data_overview.ipynb # 缺失值概述 │ │ │ ├── 02_imputation_methods.ipynb # 各種插補方法比較 │ │ │ ├── 03_outlier_detection.ipynb # 異常值檢測方法 │ │ │ └── 04_house_prices_case.ipynb # House Prices資料集實作 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_04_categorical_encoding/ # 模組4:類別變數編碼方法 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_label_onehot_encoding.ipynb # 標籤與獨熱編碼 │ │ │ ├── 02_count_frequency_encoding.ipynb # 計數與頻率編碼 │ │ │ ├── 03_target_encoding.ipynb # 目標編碼 │ │ │ ├── 04_high_cardinality.ipynb # 高基數特徵處理 │ │ │ └── 05_titanic_case.ipynb # Titanic資料集實作 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_05_scaling_transformation/ # 模組5:特徵縮放與變數轉換 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_scaling_methods.ipynb # 縮放方法比較 │ │ │ ├── 02_power_transformations.ipynb # 冪轉換方法 │ │ │ ├── 03_outliers_impact.ipynb # 異常值對縮放的影響 │ │ │ └── 04_insurance_case.ipynb # 保險資料集實作 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_06_feature_creation/ # 模組6:特徵創造 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_interaction_features.ipynb # 交互特徵創建 │ │ │ ├── 02_group_aggregations.ipynb # 分組聚合特徵 │ │ │ ├── 03_time_derivatives.ipynb # 時間衍生特徵 │ │ │ └── 04_nyc_taxi_case.ipynb # NYC計程車資料集實作 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_07_feature_selection/ # 模組7:特徵選擇與降維 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_filter_methods.ipynb # 過濾法特徵選擇 │ │ │ ├── 02_wrapper_methods.ipynb # 包裹法特徵選擇 │ │ │ ├── 03_embedded_methods.ipynb # 嵌入法特徵選擇 │ │ │ ├── 04_dimensionality_reduction.ipynb # 降維技術 │ │ │ └── 05_breast_cancer_case.ipynb # 乳癌資料集實作 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_08_time_series/ # 模組8:時間序列特徵工程 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_lag_features.ipynb # 滯後特徵 │ │ │ ├── 02_rolling_windows.ipynb # 滑動窗口特徵 │ │ │ ├── 03_date_time_features.ipynb # 日期時間特徵 │ │ │ ├── 04_seasonality_trend.ipynb # 季節性與趨勢分解 │ │ │ └── 05_power_consumption_case.ipynb # 電力消耗資料集實作 │ │ ├── exercises/ │ │ └── resources/ │ │ │ ├── module_09_multimodal_features/ # 模組9:多模態特徵工程 │ │ ├── slides/ │ │ ├── notebooks/ │ │ │ ├── 01_text_features/ │ │ │ │ ├── 01_bag_of_words.ipynb # 詞袋模型 │ │ │ │ ├── 02_tfidf.ipynb # TF-IDF特徵 │ │ │ │ ├── 03_word_embeddings.ipynb # 詞嵌入 │ │ │ │ └── 04_imdb_case.ipynb # IMDB影評案例 │ │ │ ├── 02_image_features/ │ │ │ │ ├── 01_color_histograms.ipynb # 顏色直方圖 │ │ │ │ ├── 02_hog_features.ipynb # HOG特徵 │ │ │ │ ├── 03_cnn_features.ipynb # CNN特徵提取 │ │ │ │ └── 04_dogs_cats_case.ipynb # 狗貓圖像案例 │ │ │ └── 03_audio_features/ │ │ │ ├── 01_mfcc_features.ipynb # MFCC特徵 │ │ │ ├── 02_spectral_features.ipynb # 頻譜特徵 │ │ │ └── 03_urban_sound_case.ipynb # 城市聲音案例 │ │ ├── exercises/ │ │ └── resources/ │ │ │ └── module_10_data_mining_applications/ # 模組10:資料探勘應用 │ ├── slides/ │ ├── notebooks/ │ │ ├── 01_association_rules/ │ │ │ ├── 01_apriori_algorithm.ipynb # Apriori演算法 │ │ │ └── 02_instacart_case.ipynb # Instacart購物籃分析 │ │ ├── 02_clustering/ │ │ │ ├── 01_kmeans_clustering.ipynb # K-Means聚類 │ │ │ ├── 02_dbscan_clustering.ipynb # DBSCAN聚類 │ │ │ └── 03_mall_customers_case.ipynb # 購物中心客戶分群 │ │ ├── 03_tree_models/ │ │ │ ├── 01_xgboost_features.ipynb # XGBoost特徵重要性 │ │ │ ├── 02_lightgbm_features.ipynb # LightGBM特徵重要性 │ │ │ └── 03_telco_churn_case.ipynb # 電信客戶流失預測 │ │ └── 04_end_to_end_pipeline.ipynb # 端到端資料探勘流程 │ ├── exercises/ │ └── resources/ │ ├── datasets/ # 資料集存放區 │ ├── raw/ # 原始資料集 │ │ ├── house_prices/ │ │ ├── titanic/ │ │ ├── insurance/ │ │ ├── nyc_taxi/ │ │ ├── breast_cancer/ │ │ ├── power_consumption/ │ │ ├── imdb_reviews/ │ │ ├── dogs_vs_cats/ │ │ ├── urban_sound/ │ │ ├── instacart/ │ │ ├── mall_customers/ │ │ └── telco_churn/ │ │ │ └── processed/ # 預處理後的資料集 │ ├── house_prices/ │ ├── titanic/ │ └── ... │ ├── utils/ # 工具函數 │ ├── data_loader.py # 資料載入工具 │ ├── visualization.py # 視覺化工具 │ ├── preprocessing.py # 預處理工具 │ └── evaluation.py # 評估工具 │ ├── templates/ # 範本檔案 │ ├── notebook_template.ipynb # 筆記本範本 │ └── project_template.ipynb # 專案範本 │ ├── projects/ # 專案作業 │ ├── midterm/ # 期中專案 │ │ ├── requirements.md # 專案需求說明 │ │ ├── evaluation_criteria.md # 評分標準 │ │ └── example_solution/ # 範例解決方案 │ │ │ └── final/ # 期末專案 │ ├── requirements.md # 專案需求說明 │ ├── evaluation_criteria.md # 評分標準 │ └── example_solution/ # 範例解決方案 │ ├── environment/ # 環境設定 │ ├── requirements.txt # Python套件需求 │ ├── environment.yml # Conda環境設定 │ └── docker/ # Docker配置 │ ├── Dockerfile │ └── docker-compose.yml │ ├── docs/ # 文件資料 │ ├── syllabus.md # 課程大綱 │ ├── schedule.md # 課程時間表 │ ├── references.md # 參考資料 │ └── faq.md # 常見問題解答 │ └── README.md # 課程說明文件

資料夾規劃說明

本課程資料夾結構設計基於以下原則與考量:

  1. 模組化組織

    • 每個教學模組獨立成資料夾,模組名稱直接反映課程內容
    • 模組內部統一分為簡報、筆記本、練習和資源四個子資料夾
    • 筆記本按照邏輯順序編號,從概念介紹到實際案例應用
  2. 資料集管理

    • 原始資料集與處理後資料集分開存放
    • 按照課程使用的Kaggle資料集分類整理
    • 支援大型資料集的分塊處理與緩存機制
  3. 工具與範本

    • 集中管理常用工具函數,避免重複代碼
    • 提供標準化筆記本範本,確保教學一致性
    • 包含資料載入、視覺化、預處理和評估等通用功能
  4. 專案導向學習

    • 設置期中與期末專案資料夾,支援實作評量
    • 提供專案範本,引導學生完成完整資料探勘流程
  5. 環境一致性

    • 提供環境配置文件,確保所有學生使用相同的開發環境
    • 支援Docker容器化部署,解決環境差異問題
  6. 文件完整性

    • 包含課程大綱、時間表和參考資料等文件
    • README提供課程概述和資料夾結構說明

這種結構設計支援循序漸進的學習過程,從基礎EDA到進階特徵工程,再到實際產業應用案例。每個模組都包含理論講解和實作練習,並提供相關資料集進行操作。此外,工具函數和範本的設計減少了重複工作,讓學生能夠專注於核心概念的學習和應用。

四、Scratchpad

此區為內部記錄區,請在進行每項任務時依序記錄任務目標、規劃步驟、進度更新與反思筆記,確保能夠隨時回顧與調整作業策略。


五、軟體開發公司的角色與職責

  • 產品經理 / 業務分析師

    • 負責收集需求、定義使用者故事、規劃功能與分析市場趨勢。
  • 系統架構師

    • 負責決策技術路線、系統架構設計及模組間協作,確保系統擴展性與安全性。
  • 開發工程師

    • 包括前端、後端及全端工程師,依據需求撰寫程式、進行模組整合及系統優化。
  • 測試工程師 / QA

    • 制定測試計劃、設計與執行測試用例,確保產品質量並協助修正缺陷。
  • DevOps / 基礎建設工程師

    • 負責持續整合、部署自動化、系統監控及運維,確保產品順利上線。
  • UX/UI 設計師

    • 負責設計使用者介面與體驗,提升產品易用性與視覺吸引力。
  • 專案經理

    • 規劃專案進度、調配資源、協調跨部門合作,確保專案按期、按質完成。

六、軟體開發流程

  1. 需求分析

    • 收集使用者需求及市場資訊。
    • 制定功能需求與技術規格。
    • 與產品經理、業務分析師與設計師密切合作。
  2. 系統設計

    • 定義系統整體架構、資料流程及模組間的交互。
    • 撰寫設計文件、介面規範與數據庫設計。
    • 考慮系統安全、可擴展性與容錯機制。
  3. 開發實作

    • 撰寫前後端程式、進行單元測試。
    • 進行代碼審查及版本控制管理(例如 Git)。
    • 實施持續整合與自動化部署流程。
  4. 測試驗收

    • 執行功能、效能及壓力測試。
    • 修正 Bug 並執行回歸測試。
    • 進行用戶測試與驗收確認。
  5. 部署上線

    • 部署至正式環境,設定環境配置與監控機制。
    • 監控系統運作,快速回應突發狀況。
  6. 維運與改進

    • 持續監控系統表現,收集用戶反饋。
    • 定期進行功能更新與優化。
    • 記錄學習與改進經驗,進行持續迭代。

七、運算思維在開發流程中的應用

  • 分解 (Decomposition)

    • 將複雜問題拆解成更小、易解決的部分(例如:核心功能與輔助功能)。
  • 抽象化 (Abstraction)

    • 找出問題中的共通模式與本質,建立通用模組或解決方案,忽略不必要的細節。
  • 模式識別 (Pattern Recognition)

    • 從過往經驗中識別重複出現的問題與解決策略,快速制定最佳實踐。
  • 演算法設計 (Algorithm Design)

    • 根據需求設計高效演算法,並模擬、優化以提高系統效能與資源利用率。

八、整合開發知識於 .cursorrules

  • 經驗教訓 (Lessons)

    • 記錄每次專案或模組開發中的問題、解決方案與改進建議。
    • 例如:建立標準化分支管理流程以處理版本控制衝突;強調單元測試在早期發現錯誤的重要性。
  • 任務與進度管理 (Scratchpad)

    • 使用 Scratchpad 作為內部記錄工具,詳細記錄任務目標、步驟與進度。
    • 定期回顧並更新任務狀態,促進團隊知識共享與協同成長。
  • 自我省思與持續改進

    • 每個專案階段結束後進行反思會議,總結成功經驗與不足之處。
    • 鼓勵創新思考,將可行方案記錄於本文件中,作為不斷迭代的知識庫。

九、AI 快速 POC 開發指引 (附錄)

針對全球前 1% 頂尖碼農,但規劃能力較弱的情況,特別制定以下快速 POC 開發 SOP,融合大廠敏捷流程與快速驗證理念:

  1. 問題定義與需求確認

    • 明確核心目標,定義需驗證的假設。
    • 整理所有關鍵需求與使用案例,限定 POC 範圍。
  2. 技術選型與架構規劃

    • 快速選擇適用技術棧(語言、框架、資料庫)。
    • 繪製簡易架構圖,定義系統組件與 API 接口。
    • 辨識技術風險,提前規劃應對措施。
    • 構建開發資料夾結構。
  3. 快速原型 (POC) 開發

    • 建立最小可行產品 (MVP) 以展示核心功能。
    • 採用短迭代週期(1-2 天),不斷交付與調整。
    • 採用模組化設計,方便後續擴充與維護。
  4. 測試與反饋驗證

    • 撰寫單元與集成測試,驗證主要功能。
    • 進行內部或用戶驗證,收集反饋並記錄改進建議。
    • 建立基本監控與日志機制,追蹤原型表現。
  5. 文件紀錄與知識分享

    • 編寫簡明技術文檔與使用手冊,記錄設計與實作要點。
    • 記錄開發過程中的學習與問題解決經驗,作為團隊知識庫。
    • 定期舉辦內部技術分享,促進團隊共同成長。
  6. 持續迭代與部署準備

    • 根據反饋迅速修正與調整原型。
    • 定期進行代碼審查,確保程式品質。
    • 規劃初步部署流程與基本運維監控,確保系統穩定運行。

十、套件與版本紀錄守則

  • 版本資訊紀錄

    • 每次導入新套件或更新現有套件時,請立即將套件名稱及其版本資訊記錄於本文件專門的套件清單區塊中。
    • 建議建立一個獨立區塊或文件(例如 package_versions.md),並在 .cursorrules 中註明參考位置,以便於後續維運與排查。
  • 持續更新

    • 在每次進行環境建置、依賴管理或部署前,檢查並更新相關套件版本,確保所有版本資訊保持最新。
    • 當系統規模擴大導致依賴關係複雜時,透過自動化工具(如 pip freezenpm list 等)定期生成版本清單,並將結果納入版本控制系統。
  • 跨團隊協作

    • 所有團隊成員在引入或更新套件時,均應遵循此守則,並在提交說明中標明套件變更情況,方便 DevOps 及維運團隊追蹤歷史變更。

十一、版本相依性與官方文件查詢守則


結語

本 .cursorrules 文件整合了大廠開發流程、運算思維、快速 POC 開發 SOP、持續學習與自我省思,以及套件與版本管理的全方位守則。所有團隊成員及 AI 輔助開發系統應依據本指引進行工作,並在每次任務中記錄與分享經驗,從而不斷完善流程、提升產品品質與技術水準,同時確保系統依賴資訊的透明性與可追蹤性。

Share: