AI 自動化 Coding 工具
專案簡介
基於 Claude API 的自動化軟體開發工具,實現從需求分析到系統設計的完整自動化流程。透過 AI Agent 自主探索專案代碼,理解現有架構,並生成可執行的實作設計文檔。
這個專案的核心目標是:讓 AI 不只是生成代碼,而是真正理解專案、分析需求、設計系統。
主要功能
- 需求分析自動化:將非結構化需求轉換為標準化的 9 章節需求文件
- 系統設計自動化:AI Agent 自主探索專案,生成 11 章節的詳細設計文檔
- 專案理解能力:使用 Tool Use API 讓 AI 讀取代碼、搜尋模式、理解架構
- 多用戶隔離:支援多客戶/專案的獨立管理
- 完整元數據:追蹤 Token 使用、工具調用統計等詳細資訊
核心亮點
1. 雙階段自動化流程
用戶需求描述
↓
【階段一:需求分析】
AI 分析需求 → 生成 9 章節需求文件
↓
【階段二:系統設計】
AI 探索專案 → 理解架構 → 生成 11 章節設計文檔
↓
【未來:代碼生成】
基於設計文檔自動生成代碼
2. Tool Use API 實戰
創新使用 Claude 的 Tool Use API,讓 AI 自主探索專案:
專案探索工具集:
read_file:讀取文件內容(限制 100KB)list_files:列出目錄結構(支援 glob 模式)search_code:搜尋代碼模式get_project_structure:生成專案結構樹
迭代式探索:
- AI 可以進行最多 30 輪對話
- 自主決定需要讀取哪些文件
- 逐步深入理解專案架構
3. 標準化文檔輸出
需求文件(9 章節):
- 專案概述
- 功能需求(核心 + 次要)
- 非功能需求
- 技術約束
- 數據模型(初步)
- API 端點設計
- 用戶故事
- 約束與假設
- 成功指標
設計文件(11 章節):
- 設計概覽
- 專案分析結果(結構、技術棧、架構、數據、API)
- 系統架構設計
- 數據庫設計
- API 設計規範
- 檔案變更清單
- 實作細節
- 整合方案
- 測試策略
- 部署考量
- 風險和注意事項
系統架構
┌─────────────────────────────────────────────────────┐
│ AI 自動化 Coding 工具架構 │
└─────────────────────────────────────────────────────┘
用戶需求
↓
┌──────────────────┐
│ 需求分析模組 │ → RequirementAnalyzer
│ - Claude API │ • System Prompt 工程
│ - 9 章節輸出 │ • 多用戶隔離
│ │ • Token 統計
└──────────────────┘
↓
需求文件 (req_*.md)
↓
┌──────────────────┐
│ 系統設計模組 │ → SystemDesigner
│ - Tool Use API │ • 專案探索工具集
│ - Agent 探索 │ - read_file
│ - 11 章節輸出 │ - list_files
│ │ - search_code
│ │ - get_project_structure
│ │ • 迭代式對話(最多 30 輪)
│ │ • 錯誤處理(rate limit 等)
└──────────────────┘
↓
設計文件 (design_*.md)
↓
┌──────────────────┐
│ 代碼生成模組 │ → CodeGenerator (待開發)
│ - 讀取設計文檔 │
│ - 生成實際代碼 │
└──────────────────┘
技術棧
- 語言/框架:Python 3.8+, asyncio
- AI SDK:Anthropic Claude SDK
- 模型:Claude Sonnet 4 (claude-sonnet-4-20250514)
- 核心技術:Tool Use API, Agent 架構, Prompt 工程
- 日誌系統:loguru
- 配置管理:python-dotenv
- AI 協作工具:Claude Code
開發歷程
從概念到實作,我將整個開發過程詳細記錄在以下日誌中:
- [[日誌/01-需求分析模組開發|#1 需求分析模組開發]] - System Prompt 工程與標準化輸出
- [[日誌/02-系統設計模組與Tool-Use-API|#2 系統設計模組與 Tool Use API]] - Agent 自主探索專案的實作 ⭐
- [[日誌/03-技術總結與未來展望|#3 技術總結與未來展望]] - 經驗總結與後續規劃
技術挑戰
在開發過程中解決了多個關鍵技術難題:
- Tool Use API 設計:如何設計工具讓 AI 有效探索專案
- Token 限制處理:read_file 限制 100KB,避免讀取大檔案
- 迭代次數控制:最多 30 輪對話,避免無限循環
- Rate Limit 處理:優雅處理 API 速率限制錯誤
- 專案結構理解:讓 AI 理解多種專案架構(Django、Flask、FastAPI 等)
- 錯誤恢復機制:處理各種 API 錯誤(max_tokens、rate_limit、timeout)
專案成果
✅ 已完成功能
需求分析模組:
- Claude API 整合
- 標準化 9 章節輸出
- 多用戶隔離設計
- Token 使用統計
- 元數據追蹤機制
- 互動式測試工具
系統設計模組:
- Tool Use API 整合
- 4 個專案探索工具實作
- Agent 迭代式對話流程
- 標準化 11 章節輸出
- 完整錯誤處理機制
- 工具調用統計
- 互動式測試工具
📊 性能數據
需求分析:
- 處理時間:~5-10 秒
- Token 使用:1000-3000 tokens
- 輸出長度:3000-5000 字
系統設計:
- 探索時間:~30-60 秒(取決於專案大小)
- 工具調用:平均 20-30 次
- 檔案讀取:平均 10-20 個文件
- Token 使用:3000-8000 tokens
- 輸出長度:8000-15000 字
🎯 應用場景
- 新功能開發:分析需求 → 設計整合方案 → 生成代碼
- 技術諮詢:快速理解客戶專案架構並提供建議
- 代碼審查:分析專案結構,識別潛在問題
- 文檔生成:自動生成需求和設計文檔
- 團隊協作:標準化的需求和設計文檔促進溝通
實際案例
案例 1:待辦事項 API 新功能設計
需求:在現有 Todo API 中新增標籤(Tag)功能
AI 探索過程:
- 讀取
models.py理解現有數據模型 - 讀取
routes.py了解 API 設計風格 - 搜尋
database關鍵字找到 ORM 配置 - 生成完整的設計文檔,包含:
- 新增 Tag 模型和關聯表
- 5 個新 API 端點設計
- 遷移 SQL
- 完整的實作代碼範例
案例 2:電商系統需求分析
輸入:「開發一個線上書店系統,需要書籍管理、購物車、訂單系統」
AI 輸出:
- 9 章節完整需求文件
- 識別出 4 個核心功能和 6 個次要功能
- 設計初步的數據模型(Books, Users, Orders, Cart)
- 列出 15+ API 端點
- 提供 8 個用戶故事
- 定義成功指標(支援 1000+ 併發、響應 < 2s)
未來規劃
短期目標(1-2 個月)
-
代碼生成模組
- 讀取設計文檔
- 生成實際可執行的代碼
- 遵循專案現有代碼風格
-
驗證模組
- 代碼語法檢查
- 自動化測試生成
- 錯誤修復建議
-
文檔生成模組
- API 文檔自動生成
- README 更新
- 技術文件整理
中長期目標(3-6 個月)
-
完整流程整合
- 需求 → 設計 → 代碼 → 測試 → 文檔
- 一鍵自動化
-
Web UI 介面
- 視覺化需求分析
- 互動式設計審查
- 代碼變更預覽
-
多語言支援
- Python (已支援)
- JavaScript/TypeScript
- Java
- Go
相關連結
- GitHub: https://github.com/yourusername/automation-tool
- 技術文件:完整技術細節請見開發日誌
- 需求分析模組:requirement_analyzer/README.md
- 系統設計模組:system_designer/DESIGN.md
返回 所有專案