15 KiB
15 KiB
多功能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)
{
"id": "start-1",
"type": "start",
"data": {
"label": "开始",
"description": "接收用户输入的Android开发需求"
}
}
2. 需求理解与分析节点 (llm-requirement-analysis)
{
"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)
{
"id": "condition-classify",
"type": "condition",
"data": {
"label": "需求分类",
"condition": "{{input.complexity}}",
"branches": [
{
"value": "代码生成",
"condition": "包含'生成'、'创建'、'写代码'等关键词"
},
{
"value": "架构设计",
"condition": "包含'架构'、'设计'、'结构'等关键词"
},
{
"value": "问题诊断",
"condition": "包含'错误'、'崩溃'、'问题'、'bug'等关键词"
},
{
"value": "性能优化",
"condition": "包含'优化'、'性能'、'速度'、'卡顿'等关键词"
}
]
}
}
4. 代码生成节点 (llm-code-generation)
{
"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)
{
"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)
{
"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)
{
"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)
{
"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)
{
"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)
{
"id": "end-1",
"type": "end",
"data": {
"label": "结束",
"description": "返回最终结果"
}
}
📝 使用示例
示例1:生成登录功能代码
用户输入:
帮我生成一个Android登录功能的代码,包括:
1. 登录Activity
2. 登录ViewModel
3. 网络请求(使用Retrofit)
4. 登录布局XML
Agent处理流程:
- 需求理解 → 识别为"代码生成"需求
- 代码生成节点 → 生成完整登录功能代码
- 结果整合 → 整合需求分析和代码
- 格式化输出 → 生成Markdown文档
输出内容:
- 需求分析摘要
- MainActivity.java(登录Activity)
- LoginViewModel.java
- ApiService.java(Retrofit接口)
- activity_login.xml(布局文件)
- 使用说明
示例2:架构设计咨询
用户输入:
我想开发一个电商类Android应用,包含商品浏览、购物车、订单管理等功能。
请帮我设计应用架构。
Agent处理流程:
- 需求理解 → 分析电商应用需求
- 需求分类 → 识别为"架构设计"需求
- 架构设计节点 → 生成架构方案
- 结果整合 → 整合需求分析和架构设计
- 格式化输出 → 生成架构设计文档
输出内容:
- 需求分析(应用类型、核心模块、复杂度)
- 架构模式选择(推荐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处理流程:
- 需求理解 → 识别为"问题诊断"需求
- 问题诊断节点 → 分析崩溃原因
- 结果整合 → 整合诊断结果
- 格式化输出 → 生成问题诊断报告
输出内容:
- 问题类型:XML布局解析错误
- 根本原因:Toolbar类导入错误或主题配置问题
- 解决方案:
- 检查依赖配置
- 修改Toolbar导入
- 检查主题配置
- 修复代码示例
- 预防措施
示例4:性能优化
用户输入:
我的应用列表页面滚动时很卡顿,特别是加载图片时。
请帮我优化性能。
Agent处理流程:
- 需求理解 → 识别为"性能优化"需求
- 性能优化节点 → 分析性能瓶颈
- 结果整合 → 整合优化方案
- 格式化输出 → 生成优化指南
输出内容:
- 性能瓶颈分析(图片加载、列表渲染)
- 优化方案:
- 使用Glide/Picasso进行图片加载和缓存
- RecyclerView优化(ViewHolder复用、分页加载)
- 异步加载图片
- 优化代码示例
- 性能测试建议
🛠️ 技术实现要点
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
- 登录Agent管理平台
- 点击"创建Agent"
- 输入Agent名称:"Android应用开发助手"
- 描述:"帮助开发者快速生成、优化和调试Android应用"
2. 配置工作流
- 在工作流设计器中添加上述所有节点
- 按照工作流结构连接节点
- 配置每个节点的参数(参考节点配置部分)
- 验证工作流逻辑
3. 测试Agent
- 保存工作流
- 部署Agent(状态改为"已发布")
- 使用测试工具或前端界面测试
- 根据测试结果调整Prompt和节点配置
4. 优化建议
- Prompt优化:根据实际输出结果调整Prompt,使其更精确
- 温度参数:代码生成使用较低温度(0.2),创意设计使用较高温度(0.7)
- Token限制:根据输出长度需求调整max_tokens
- 分支优化:根据常见需求类型优化条件判断逻辑
📚 扩展功能建议
1. 代码审查功能
- 添加代码审查节点
- 分析代码质量、安全性、性能
- 提供改进建议
2. 测试用例生成
- 根据功能代码自动生成单元测试
- 生成UI测试用例
- 提供测试覆盖率建议
3. 依赖管理
- 分析项目依赖
- 检测过时依赖
- 推荐替代方案
- 生成依赖更新计划
4. 多语言支持
- 支持Kotlin代码生成
- 支持Flutter、React Native等跨平台框架建议
5. 版本适配
- 提供Android版本兼容性建议
- 检测API废弃警告
- 提供迁移方案
⚠️ 注意事项
- 代码安全性:生成的代码需要人工审查,特别是涉及用户数据和安全的部分
- 最佳实践:Agent提供的建议应该结合项目实际情况,不能盲目采用
- 版本兼容性:确保生成的代码支持目标Android版本
- 性能考虑:代码生成时应该考虑性能影响
- 法律合规:确保生成的代码符合相关法律法规要求
🔗 相关资源
最后更新:2026-01-20
版本:v1.0
作者:Android开发智能体团队