自动布局

This commit is contained in:
rjb
2026-01-20 18:05:31 +08:00
parent fab1767792
commit b8f340401a
8 changed files with 3812 additions and 18 deletions

View File

@@ -0,0 +1,479 @@
# 多功能Android应用智能体 - 提示词文档
## 📋 项目概述
创建一个智能Agent能够帮助开发者快速生成、优化和调试Android应用。该Agent应该能够理解开发需求提供代码生成、架构建议、性能优化、问题诊断等多方面的支持。
## 🎯 核心功能需求
### 1. 需求分析与理解
- **输入**: 用户描述的应用需求(自然语言)
- **输出**: 结构化的需求分析结果
- 应用类型(工具类、社交类、电商类等)
- 核心功能模块
- 技术栈建议
- 复杂度评估
- 开发周期估算
### 2. 架构设计建议
- **功能**: 根据需求生成Android应用架构方案
- **输出内容**:
- 架构模式MVP、MVVM、MVI等
- 模块划分
- 技术选型(框架、库、工具)
- 目录结构建议
- 依赖管理方案
### 3. 代码生成
- **功能**: 生成Android应用的核心代码
- **支持类型**:
- Activity/Fragment代码
- ViewModel代码
- Repository代码
- Adapter代码
- 网络请求代码Retrofit
- 数据库代码Room
- 布局XML文件
- 资源文件strings.xml、colors.xml等
### 4. 性能优化建议
- **功能**: 分析代码并提供性能优化建议
- **优化方向**:
- 内存优化
- 启动速度优化
- 网络请求优化
- 图片加载优化
- 布局渲染优化
- 电量消耗优化
### 5. 问题诊断与修复
- **功能**: 分析错误日志,提供解决方案
- **支持场景**:
- 崩溃分析Crash Log
- ANR问题诊断
- 内存泄漏检测
- 网络请求失败
- 权限问题
- 兼容性问题
### 6. 最佳实践建议
- **功能**: 提供Android开发最佳实践
- **内容**:
- 代码规范
- 安全建议
- 用户体验优化
- 测试策略
- 发布流程
## 🔄 工作流设计
### 工作流结构
```
开始节点 (start)
需求理解与分析节点 (LLM)
需求分类节点 (Condition)
├─→ [代码生成需求] → 代码生成节点 (LLM/Template)
├─→ [架构设计需求] → 架构设计节点 (LLM)
├─→ [问题诊断需求] → 问题诊断节点 (LLM)
└─→ [性能优化需求] → 性能优化节点 (LLM)
↓ ↓ ↓ ↓
└─────────────────────────────────────────────────┘
结果整合节点 (Transform)
格式化输出节点 (LLM)
结束节点 (end)
```
### 详细节点配置
#### 1. 开始节点 (start-1)
```json
{
"id": "start-1",
"type": "start",
"data": {
"label": "开始",
"description": "接收用户输入的Android开发需求"
}
}
```
#### 2. 需求理解与分析节点 (llm-requirement-analysis)
```json
{
"id": "llm-requirement-analysis",
"type": "llm",
"data": {
"label": "需求理解与分析",
"model": "deepseek-chat",
"temperature": 0.3,
"max_tokens": 2000,
"prompt": "你是一个专业的Android开发顾问。请分析用户的需求提取以下信息\n1. 应用类型(工具类、社交类、电商类、游戏类等)\n2. 核心功能模块列表\n3. 目标用户群体\n4. 技术复杂度(简单/中等/复杂)\n5. 开发周期估算(周)\n6. 推荐的技术栈\n\n用户需求{{user_query}}\n\n请以JSON格式输出分析结果\n{\n \"app_type\": \"应用类型\",\n \"core_modules\": [\"模块1\", \"模块2\", ...],\n \"target_users\": \"目标用户\",\n \"complexity\": \"简单|中等|复杂\",\n \"estimated_weeks\": 数字,\n \"tech_stack\": [\"技术1\", \"技术2\", ...],\n \"summary\": \"需求摘要\"\n}"
}
}
```
#### 3. 需求分类节点 (condition-classify)
```json
{
"id": "condition-classify",
"type": "condition",
"data": {
"label": "需求分类",
"condition": "{{input.complexity}}",
"branches": [
{
"value": "代码生成",
"condition": "包含'生成'、'创建'、'写代码'等关键词"
},
{
"value": "架构设计",
"condition": "包含'架构'、'设计'、'结构'等关键词"
},
{
"value": "问题诊断",
"condition": "包含'错误'、'崩溃'、'问题'、'bug'等关键词"
},
{
"value": "性能优化",
"condition": "包含'优化'、'性能'、'速度'、'卡顿'等关键词"
}
]
}
}
```
#### 4. 代码生成节点 (llm-code-generation)
```json
{
"id": "llm-code-generation",
"type": "llm",
"data": {
"label": "代码生成",
"model": "deepseek-chat",
"temperature": 0.2,
"max_tokens": 4000,
"prompt": "你是一个专业的Android开发工程师。根据以下需求分析生成完整的Android代码。\n\n需求分析{{input}}\n\n请生成以下内容\n1. Java/Kotlin代码包含必要的注释\n2. 布局XML文件\n3. 资源文件配置\n4. 依赖配置build.gradle\n5. 使用说明\n\n代码要求\n- 遵循Android开发最佳实践\n- 使用现代Android架构推荐MVVM\n- 包含错误处理\n- 代码注释清晰\n- 支持Android API 24+\n\n请以Markdown格式输出包含代码块。"
}
}
```
#### 5. 架构设计节点 (llm-architecture)
```json
{
"id": "llm-architecture",
"type": "llm",
"data": {
"label": "架构设计",
"model": "deepseek-chat",
"temperature": 0.3,
"max_tokens": 3000,
"prompt": "你是一个Android架构师。根据需求分析设计一个合理的Android应用架构。\n\n需求分析{{input}}\n\n请提供\n1. 架构模式选择MVP/MVVM/MVI及理由\n2. 模块划分方案\n3. 技术栈选型(框架、库、工具)\n4. 目录结构设计\n5. 数据流设计\n6. 依赖关系图\n7. 扩展性考虑\n\n请以Markdown格式输出包含架构图和说明。"
}
}
```
#### 6. 问题诊断节点 (llm-diagnosis)
```json
{
"id": "llm-diagnosis",
"type": "llm",
"data": {
"label": "问题诊断",
"model": "deepseek-chat",
"temperature": 0.2,
"max_tokens": 3000,
"prompt": "你是一个Android问题诊断专家。分析用户提供的错误信息提供诊断和解决方案。\n\n错误信息{{user_query}}\n\n请提供\n1. 问题类型(崩溃/ANR/内存泄漏/网络错误等)\n2. 根本原因分析\n3. 解决方案(步骤清晰)\n4. 修复代码示例\n5. 预防措施\n6. 相关文档链接\n\n请以Markdown格式输出。"
}
}
```
#### 7. 性能优化节点 (llm-optimization)
```json
{
"id": "llm-optimization",
"type": "llm",
"data": {
"label": "性能优化",
"model": "deepseek-chat",
"temperature": 0.3,
"max_tokens": 3000,
"prompt": "你是一个Android性能优化专家。根据用户描述的性能问题提供优化方案。\n\n性能问题{{user_query}}\n需求分析{{input}}\n\n请提供\n1. 性能瓶颈分析\n2. 优化方案(按优先级排序)\n3. 具体优化代码\n4. 优化前后对比\n5. 性能测试建议\n6. 监控指标\n\n请以Markdown格式输出。"
}
}
```
#### 8. 结果整合节点 (transform-integration)
```json
{
"id": "transform-integration",
"type": "transform",
"data": {
"label": "结果整合",
"mode": "merge",
"mapping": {
"requirement_analysis": "{{input}}",
"solution": "{{code_generation|architecture|diagnosis|optimization}}",
"timestamp": "{{$timestamp}}",
"agent_type": "Android开发助手"
}
}
}
```
#### 9. 格式化输出节点 (llm-format)
```json
{
"id": "llm-format",
"type": "llm",
"data": {
"label": "格式化输出",
"model": "deepseek-chat",
"temperature": 0.1,
"max_tokens": 4000,
"prompt": "请将以下Android开发方案整理成专业的Markdown文档格式。\n\n方案内容{{input}}\n\n文档结构\n1. 需求分析摘要\n2. 解决方案\n3. 代码示例\n4. 实施步骤\n5. 注意事项\n6. 参考资料\n\n请确保格式清晰、代码高亮正确、结构完整。"
}
}
```
#### 10. 结束节点 (end-1)
```json
{
"id": "end-1",
"type": "end",
"data": {
"label": "结束",
"description": "返回最终结果"
}
}
```
## 📝 使用示例
### 示例1生成登录功能代码
**用户输入**
```
帮我生成一个Android登录功能的代码包括
1. 登录Activity
2. 登录ViewModel
3. 网络请求使用Retrofit
4. 登录布局XML
```
**Agent处理流程**
1. 需求理解 → 识别为"代码生成"需求
2. 代码生成节点 → 生成完整登录功能代码
3. 结果整合 → 整合需求分析和代码
4. 格式化输出 → 生成Markdown文档
**输出内容**
- 需求分析摘要
- MainActivity.java登录Activity
- LoginViewModel.java
- ApiService.javaRetrofit接口
- activity_login.xml布局文件
- 使用说明
### 示例2架构设计咨询
**用户输入**
```
我想开发一个电商类Android应用包含商品浏览、购物车、订单管理等功能。
请帮我设计应用架构。
```
**Agent处理流程**
1. 需求理解 → 分析电商应用需求
2. 需求分类 → 识别为"架构设计"需求
3. 架构设计节点 → 生成架构方案
4. 结果整合 → 整合需求分析和架构设计
5. 格式化输出 → 生成架构设计文档
**输出内容**
- 需求分析(应用类型、核心模块、复杂度)
- 架构模式选择推荐MVVM
- 模块划分(商品模块、购物车模块、订单模块等)
- 技术栈选型Retrofit、Room、Glide等
- 目录结构
- 数据流设计图
### 示例3问题诊断
**用户输入**
```
我的应用在启动时崩溃了,错误信息:
java.lang.RuntimeException: Unable to start activity ComponentInfo{...}:
android.view.InflateException: Binary XML file line #15: Error inflating class android.support.v7.widget.Toolbar
```
**Agent处理流程**
1. 需求理解 → 识别为"问题诊断"需求
2. 问题诊断节点 → 分析崩溃原因
3. 结果整合 → 整合诊断结果
4. 格式化输出 → 生成问题诊断报告
**输出内容**
- 问题类型XML布局解析错误
- 根本原因Toolbar类导入错误或主题配置问题
- 解决方案:
1. 检查依赖配置
2. 修改Toolbar导入
3. 检查主题配置
- 修复代码示例
- 预防措施
### 示例4性能优化
**用户输入**
```
我的应用列表页面滚动时很卡顿,特别是加载图片时。
请帮我优化性能。
```
**Agent处理流程**
1. 需求理解 → 识别为"性能优化"需求
2. 性能优化节点 → 分析性能瓶颈
3. 结果整合 → 整合优化方案
4. 格式化输出 → 生成优化指南
**输出内容**
- 性能瓶颈分析(图片加载、列表渲染)
- 优化方案:
1. 使用Glide/Picasso进行图片加载和缓存
2. RecyclerView优化ViewHolder复用、分页加载
3. 异步加载图片
- 优化代码示例
- 性能测试建议
## 🛠️ 技术实现要点
### 1. Prompt设计原则
- **明确角色定位**始终强调Agent是"专业的Android开发顾问/工程师"
- **结构化输出**要求以JSON或Markdown格式输出
- **上下文传递**:确保前一个节点的输出能正确传递给下一个节点
- **错误处理**在Prompt中包含错误处理要求
### 2. 条件判断逻辑
- 使用关键词匹配识别需求类型
- 支持多种需求类型的组合
- 提供默认分支处理未知需求
### 3. 代码生成质量
- 要求遵循Android开发最佳实践
- 包含必要的注释和文档
- 支持现代Android架构MVVM推荐
- 考虑兼容性API 24+
### 4. 输出格式统一
- 使用Markdown格式
- 代码块使用正确的语言标识java、kotlin、xml等
- 包含目录结构
- 提供使用说明
## 📊 测试用例
### 测试用例1简单代码生成
```
输入:生成一个显示"Hello World"的Activity
预期生成MainActivity.java和activity_main.xml
```
### 测试用例2复杂架构设计
```
输入:设计一个支持多用户的社交类应用架构
预期:包含用户模块、社交模块、消息模块等的架构设计
```
### 测试用例3问题诊断
```
输入应用在Android 12上崩溃错误是权限被拒绝
预期提供Android 12权限变更说明和解决方案
```
### 测试用例4性能优化
```
输入应用启动时间超过5秒如何优化
预期:提供启动优化方案(懒加载、异步初始化等)
```
## 🚀 部署与使用
### 1. 创建Agent
1. 登录Agent管理平台
2. 点击"创建Agent"
3. 输入Agent名称"Android应用开发助手"
4. 描述:"帮助开发者快速生成、优化和调试Android应用"
### 2. 配置工作流
1. 在工作流设计器中添加上述所有节点
2. 按照工作流结构连接节点
3. 配置每个节点的参数(参考节点配置部分)
4. 验证工作流逻辑
### 3. 测试Agent
1. 保存工作流
2. 部署Agent状态改为"已发布"
3. 使用测试工具或前端界面测试
4. 根据测试结果调整Prompt和节点配置
### 4. 优化建议
- **Prompt优化**根据实际输出结果调整Prompt使其更精确
- **温度参数**代码生成使用较低温度0.2创意设计使用较高温度0.7
- **Token限制**根据输出长度需求调整max_tokens
- **分支优化**:根据常见需求类型优化条件判断逻辑
## 📚 扩展功能建议
### 1. 代码审查功能
- 添加代码审查节点
- 分析代码质量、安全性、性能
- 提供改进建议
### 2. 测试用例生成
- 根据功能代码自动生成单元测试
- 生成UI测试用例
- 提供测试覆盖率建议
### 3. 依赖管理
- 分析项目依赖
- 检测过时依赖
- 推荐替代方案
- 生成依赖更新计划
### 4. 多语言支持
- 支持Kotlin代码生成
- 支持Flutter、React Native等跨平台框架建议
### 5. 版本适配
- 提供Android版本兼容性建议
- 检测API废弃警告
- 提供迁移方案
## ⚠️ 注意事项
1. **代码安全性**:生成的代码需要人工审查,特别是涉及用户数据和安全的部分
2. **最佳实践**Agent提供的建议应该结合项目实际情况不能盲目采用
3. **版本兼容性**确保生成的代码支持目标Android版本
4. **性能考虑**:代码生成时应该考虑性能影响
5. **法律合规**:确保生成的代码符合相关法律法规要求
## 🔗 相关资源
- [Android开发官方文档](https://developer.android.com/)
- [Android架构指南](https://developer.android.com/topic/architecture)
- [Material Design指南](https://material.io/design)
- [Android性能优化](https://developer.android.com/topic/performance)
---
**最后更新**2026-01-20
**版本**v1.0
**作者**Android开发智能体团队