| name | existing-project-assessor |
| description | 对已有项目进行评估,分析代码结构、技术栈、风险点,确定AI介入级别和保护机制。当用户提到"项目评估"、"评估项目"、"分析现有项目"、"接手老项目"时触发。 |
已有项目评估技能
评估流程
1. 结构扫描
使用 glob 和 read 工具收集项目信息:
glob **/*.py
glob **/*.js **/*.ts
glob **/*.vue
glob composer.json
glob requirements.txt package.json
read 项目根目录结构
read 依赖配置文件
2. 技术栈识别
根据文件特征判断:
| 特征 | 技术栈 | 说明 |
|---|
| main.py + FastAPI | Python FastAPI | 后端API |
| app.py + Flask | Python Flask | 轻量后端 |
| models.py + SQLAlchemy | Python + ORM | 有数据库 |
| router/ + schema/ | FastAPI 标准结构 | 规范化 |
| src/components/ | Vue 3 | 前端 |
| think | ThinkPHP | PHP框架 |
| composer.json | PHP | 看框架 |
3. 风险评估矩阵
技术债务评估:
- 无测试覆盖 → 高风险
- 单一巨大文件 → 高风险
- 硬编码配置 → 中风险
- 缺少文档 → 中风险
代码质量评估:
- 函数过长(>100行) → 需注意
- 命名不规范 → 需注意
- 循环依赖 → 高风险
4. 核心业务识别
改动红线(绝对不改):
- 数据库结构/迁移文件
- 认证/鉴权逻辑
- 支付/财务相关
- 核心业务算法
高风险区域:
- models/ - ORM模型
- auth/ - 认证模块
- payment/ - 支付模块
可改区域:
- utils/ - 工具函数
- views/ - 页面展示
- api/ - 接口适配
输出格式
生成项目评估报告:
# 项目评估报告
## 基本信息
- 项目类型:[自研/二次开发/开源改造]
- 技术栈:[列出]
- 代码规模:[行数估算]
- 项目结构:[描述]
## 风险评估
| 区域 | 风险等级 | 说明 |
|------|----------|------|
| 目录/文件 | 高/中/低 | 说明 |
## 推荐介入级别
[L1-L5级别]
## 改动红线清单
1. [具体文件/目录]
2. ...
## 可改区域清单
1. [具体文件/目录]
2. ...
## 技术债务优先级
| 优先级 | 问题 | 影响 |
|--------|------|------|
| P0 | ... | ... |
## 下一步建议
[具体建议]
评估原则
- 保守优先:宁可多问,不可乱改
- 用户确认:每个高风险操作都要确认
- 小步试探:先用只读模式了解,再决定介入程度
- 红线必守:红线文件坚决不碰,除非用户明确授权
介入级别判断
L1 只读:刚接手、不确定风险
→ AI: 只回答问题,不改代码
L2 诊断:需要定位问题、分析原因
→ AI: 分析并输出报告,用户决策
L3 小改:改一个函数/一行配置
→ AI: ≤10行改动,逐次确认
L4 增量:修复bug、加小功能
→ AI: ≤50行改动,任务完成review
L5 重构:较大改动
→ AI: 分阶段授权,明确边界
50行平衡模式规则
- 每次改动 ≤ 50行
- 修改文件数 ≤ 3
- 不引入新依赖
- 不修改红线文件
- 改动前必须说明范围
- 改动后必须说明验证方法