SDLC-DocGen 是一套支援軟體開發生命週期(SDLC)文件自動化產生的系統。透過階段導向對話與生成式 AI,引導使用者產出符合 ISO/IEEE 標準的技術文件。
- 階段導向流程:需求分析 (SRS) → 系統設計 (SDD) → 測試計畫 → 部署與手冊
- Multi-Agent 架構:SRSAgent / SDDAgent / CriticAgent / TestAgent / OpsAgent / SimulatedClientAgent 各司其職
- 標準化輸出:遵循 ISO/IEC/IEEE 29148 (SRS)、1016 (SDD)、829 (Test Plan) 等標準
- 實驗框架:支援切換 Prompt 策略(Zero-Shot / CoT / Few-Shot)、Persona、生成模式
- 自動化訪談模擬:內建「模擬客戶」,提供多種非技術背景情境,能與分析師自動對話直到需求完整。
- 多 Provider 支援:Google AI Studio(Gemma 4)& Groq(LLaMA、Qwen、Compound)
| 層級 | 技術 |
|---|---|
| UI | Streamlit |
| State Machine | 自製 DocumentStateMachine |
| LLM 抽象層 | UnifiedLLMClient(支援 Google / Groq) |
| 知識檢索 | Mock RAGEngine(Dict-based,可升級至 ChromaDB) |
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activatepip install -r requirements.txt複製範本並填入您的 API Key:
cp .env.example .env編輯 .env:
LLM_PROVIDER=google # google 或 groq
LLM_MODEL_NAME=models/gemma-4-26b-a4b-it
GOOGLE_API_KEY=your_key_here # 至 https://aistudio.google.com/apikey 取得
GROQ_API_KEY=your_key_here # 至 https://console.groq.com/keys 取得(選用)streamlit run app.py開啟瀏覽器至 http://localhost:8501
SDLC-DocGen/
├── app.py # 主應用程式(Streamlit)
├── agents/ # AI 代理
│ ├── srs_agent.py # 需求分析代理
│ ├── sdd_agent.py # 系統設計代理
│ ├── critic_agent.py # 品質審查代理
│ ├── test_agent.py # 測試計畫代理
│ ├── ops_agent.py # 部署文件代理
│ ├── uml_agent.py # UML 圖表代理
│ └── simulated_client_agent.py # 模擬客戶訪談代理
├── core/
│ ├── context_manager.py # 跨階段上下文管理
│ └── state_machine.py # SDLC 階段狀態機
├── components/
│ ├── doc_editor.py # 文件編輯介面
│ └── refinement_chat.py # 對話修正介面
├── utils/
│ ├── llm_client.py # 統一 LLM 客戶端
│ ├── prompt_loader.py # Prompt 模板載入器
│ ├── rag_engine.py # 知識檢索引擎
│ ├── experiments.py # 實驗設定管理
│ └── metrics.py # 文件品質量測
├── prompts/ # 各階段 Prompt 模板
├── docs/ # 專案相關文件
├── knowledge/ # 執行時資料(不納入版控)
├── .env.example # 環境變數範本
└── requirements.txt # 套件相依清單
- API 配額:使用 Google AI Studio 免費方案時,受每分鐘 Token 數(TPM)限制。遇到 429 錯誤時,系統會自動顯示等待提示,請稍候片刻再重試。
- 知識庫資料:
knowledge/目錄由系統在執行時自動建立,儲存您的專案生成文件,已加入.gitignore不納入版控。