- 提示工程
【免费下载链接】GPTs
leaked prompts of GPTs
导读:本文以 GPTs 仓库中泄露的 Android Studio GPT 系统提示词 为绝对核心,逐条拆解其角色定位与七条行为准则,深入讲解 MVVM/MVP 架构、ViewModel/LiveData 状态管理、Coroutines 并发、Hilt 依赖注入、SOLID 编码红线、JUnit/Espresso 测试与 Android Profiler 性能分析等 Android 工程实践要素,并给出将这份提示词完整复刻到 GPT Builder 的落地方法。读完本文,你将既理解"一个合格 Android 开发专家 GPT 应当如何被设定",也掌握其背后每一条准则对应的真实技术栈与可运行的代码范式。
一、文档背景:一份面向 Android 开发者的 GPT 系统提示词
该文档位于仓库的prompts/目录下,文件名为Android Studio GPT.md,由 Rhonal Alonso Delgado Padilla 创建。文档自述定位为:
- 一句话描述:
GPT expert in Kotlin & Java——一个精通 Kotlin 与 Java 的 Android 开发专家 GPT; - 原始链接标识:官方 GPT 的 ID 为
g-JpKzMqNXU-android-studio-gpt; - 内容形态:文档主体是包裹在 Markdown 代码块中的一段完整系统提示词(System Prompt),以西班牙语撰写,供复制进 GPT 的 Instructions 字段使用。
从仓库层面看,README.md 明确说明本仓库用于收集 GPTs 的泄露提示词(leaked prompts),其中prompts/目录收纳了包括本文件在内的数百份各领域 GPT 提示词。因此,本文解读的对象本质上是"一份真实投放于 ChatGPT GPT 市场的 Android 开发专家提示词",属于提示词工程(Prompt Engineering)领域的一手材料,其内容结构本身即是一份高质量的"角色设定 + 行为准则"范本。
二、角色定位:从一句西班牙语指令说起
系统提示词以一句完整的角色定义开场(原文西班牙语):
Imagina que eres un desarrollador móvil nativo experto en Java y Kotlin, con un profundo conocimiento en la creación de aplicaciones móviles para Android. Tu objetivo es proporcionar soluciones en código para cualquier pregunta teórica o práctica relacionada con el desarrollo móvil, manteniendo siempre las mejores prácticas de programación.
翻译为中文即:"设想你是一位精通 Java 和 Kotlin 的原生移动开发专家,对 Android 移动应用开发有深厚造诣。你的目标是为任何与移动开发相关的理论或实践问题提供代码解决方案,并始终遵循最佳编程实践。"
这一段看似简单,实际埋了四个关键约束,直接决定 GPT 的整个行为基调:
| 关键词 | 含义 | 对行为的影响 |
|---|---|---|
| nativo(原生) | 限定 Android 原生开发领域 | 自动排除跨平台框架(如 Flutter/RN)优先输出的倾向 |
| experto en Java y Kotlin | 双语言专家 | 回答需同时兼顾 Java 与 Kotlin 两种语言习惯 |
| soluciones en código | 输出形态必须是代码 | 任何回答都不能停留在纯理论,必须落到可运行代码 |
| mejores prácticas | 最佳实践约束 | 代码质量、架构、可维护性成为硬性评价标准 |
紧接着,提示词用Directrices(准则)列举了七条行为指令。下文逐条拆解,每条给出技术背景、落地要点与可参考的代码范式。
三、七大准则逐条拆解
准则一:高级知识(Conocimiento Avanzado)
原文要点:Domina tanto Java como Kotlin para desarrollo Android. Comprende profundamente el ciclo de vida de una aplicación Android, la arquitectura de componentes, la gestión de dependencias, y las mejores prácticas para mantener un código limpio, eficiente y mantenible.
即:精通 Java 与 Kotlin 双语言;深刻理解 Android 应用生命周期、组件架构、依赖管理,以及保持代码干净、高效、可维护的最佳实践。
这条准则定义了 GPT 的知识底座,包含四个可量化的能力域:
- 双语言能力:同一问题应能给出 Kotlin 与 Java 两种实现(或至少指出差异),例如协程 vs
RxJava/线程、data classvs POJO、空安全 vs@Nullable注解; - 生命周期知识:Activity 的
onCreate → onStart → onResume → onPause → onStop → onDestroy流转,Fragment 生命周期及其与 Activity 生命周期的协作关系,旋转屏幕时的重建与状态保存; - 组件架构:四大组件(Activity、Service、BroadcastReceiver、ContentProvider)的职责边界,以及现代 Android 的组件化/模块化拆分思路;
- 依赖管理:Gradle 依赖声明、版本目录(Version Catalog)、
implementation/api关键字差异、依赖冲突解决。
从实现层面看,这条准则要求 GPT 的回答天然具备"知识分层":先给结论,再给理论依据,最后给代码验证,这也与准则三"理论与实践"形成呼应。
准则二:代码解决方案(Soluciones de Código)
原文要点:Para cualquier pregunta, ofrece una solución en código que demuestre el uso de buenas prácticas como el uso de patrones de diseño (MVVM, MVP), manejo adecuado de hilos y concurrencia, así como el uso correcto de APIs de Android (ViewModel, LiveData, Coroutines, etc.).
即:对任何问题都给出代码解决方案,并展示设计模式(MVVM、MVP)、线程与并发管理,以及 Android API(ViewModel、LiveData、Coroutines 等)的正确用法。
这是提示词最核心的"输出契约"——没有代码的回答就是不合格回答。展开来看包含三层要求:
(1)架构模式:MVVM 与 MVP
- MVVM(Model-View-ViewModel):官方推荐的现代架构。View 只负责渲染,ViewModel 持有可观察状态(LiveData/StateFlow),Model 层承载数据源(Repository → 网络/数据库)。依赖单向数据流,可测试性最好;
- MVP(Model-View-Presenter):Presenter 持有 View 接口引用,适合历史项目迁移场景,但存在接口爆炸与内存泄漏风险。
(2)并发模型:线程、协程与生命周期安全
正确做法是"主线程只做 UI,耗时操作一律切后台,任务结果按生命周期安全地回到主线程"。以 Coroutines 为例,标准范式是:
class MainViewModel(private val repo: Repository) : ViewModel() { private val _uiState = MutableStateFlow<UiState>(UiState.Loading) val uiState: StateFlow<UiState> = _uiState.asStateFlow() fun load() { viewModelScope.launch { _uiState.value = UiState.Loading try { // 自动切到 Dispatchers.IO 执行网络/IO val data = withContext(Dispatchers.IO) { repo.fetchData() } _uiState.value = UiState.Success(data) } catch (e: Exception) { _uiState.value = UiState.Error(e) } } } }要点:viewModelScope会在 ViewModel 清空时自动取消协程,避免泄漏;withContext(Dispatchers.IO)用于耗时任务,而不是在主线程launch后阻塞。
(3)状态管理:ViewModel + LiveData
ViewModel 负责在配置变更(如旋转屏幕)时保留状态,LiveData 负责生命周期感知地分发数据——只有处于STARTED/RESUMED状态的观察者才会收到更新,从根源上规避"后台更新 UI"类崩溃。
准则三:理论与实践(Teoría y Práctica)
原文要点:Explica conceptos teóricos como la gestión del ciclo de vida de una actividad o fragmento, diferencias entre Kotlin y Java, y cómo elegir la mejor herramienta o enfoque para un problema específico. Complementa estas explicaciones con ejemplos prácticos de código.
即:解释理论概念(Activity/Fragment 生命周期管理、Kotlin 与 Java 的差异、如何为特定问题选择最佳工具或方案),并用实用代码示例补充这些解释。
这条准则定义了"回答的节奏":先讲清为什么,再演示怎么做。几个高频主题及回答要点:
- Activity/Fragment 生命周期:需要解释每个回调的用途(如
onSaveInstanceState保存临时状态、onStop释放不可见资源),并结合"旋转屏幕场景"给出 ViewModel +SavedStateHandle的正确解法; - Kotlin vs Java 差异:空安全(
?/!!)、扩展函数、data class、协程 vs 线程池、默认参数、when表达式、不可变集合等,并给出两者互相迁移的对应关系; - 工具选型:给出"决策树"式建议,例如:异步任务选 Coroutines 而非
AsyncTask(后者已废弃);简单列表用LazyColumn(Compose)或 RecyclerView;缓存优先 Room 而非 SharedPreferences。
准则四:最佳实践(Buenas Prácticas)——五项硬性工程红线
原文给出了五条必须贯穿所有解决方案的硬性实践,这也是整个提示词中最可操作、最具可复制价值的部分:
Uso adecuado de RecyclerView para listas. Implementación de dependencias inyectadas con Dagger/Hilt. Gestión de estado con LiveData y ViewModel. Uso de Coroutines para operaciones asíncronas. Limpieza de código con principios SOLID.
即五条红线:
- 列表使用 RecyclerView;
- 依赖注入使用 Dagger/Hilt;
- 状态管理使用 LiveData + ViewModel;
- 异步操作用 Coroutines;
- 代码整洁遵循 SOLID 原则。
逐条展开:
红线 1:RecyclerView 的正确用法
RecyclerView 负责高效回收与复用 ViewHolder,正确的工程化写法还包含DiffUtil(增量更新列表,避免notifyDataSetChanged()全量刷新):
class ItemDiffCallback : DiffUtil.ItemCallback<Item>() { override fun areItemsTheSame(old: Item, new: Item) = old.id == new.id override fun areContentsTheSame(old: Item, new: Item) = old == new } // Adapter 中使用 adapter.submitList(newList) // ListAdapter 内部自动执行 Diff 计算同时应提示配合ListAdapter、ViewBinding、以及避免在onBindViewHolder中做耗时操作等细节。
红线 2:Dagger/Hilt 依赖注入
Hilt 是 Dagger 的官方 Android 封装,通过编译期生成代码完成依赖注入。最小范式:
@HiltAndroidApp class App : Application() @Module @InstallIn(SingletonComponent::class) object NetworkModule { @Provides @Singleton fun provideRetrofit(): Retrofit = Retrofit.Builder() .baseUrl("https://api.example.com") .build() } @AndroidEntryPoint class MainActivity : AppCompatActivity() { @Inject lateinit var repository: Repository }要点:Hilt 在编译期进行依赖图校验,配置错误会直接编译失败(fail-fast),这是它相比手动 DI 的核心优势。
红线 3:LiveData + ViewModel 状态管理
ViewModel 中维护 UI 状态,LiveData 生命周期感知分发,配合MutableLiveData/LiveData的封装暴露。现代写法可进一步升级为 Kotlin 协程流(StateFlow),但提示词明确要求 LiveData + ViewModel 组合,回答时应以该组合为主、以 Flow 为扩展补充。
红线 4:Coroutines 异步
并发场景统一用协程:viewModelScope(UI 层)、Dispatchers.IO(IO 层)、withContext切换上下文、Flow做数据流。应避免裸线程(Thread {})、AsyncTask等过时方案。
红线 5:SOLID 原则
- S(单一职责):一个类只做一件事,ViewModel 不直接写网络;
- O(开闭原则):通过接口/抽象扩展,例如 Repository 接口隔离数据源;
- L(里氏替换):子类可替换父类而不破坏行为;
- I(接口隔离):小而专的接口,例如
LoginDataSource与ProfileDataSource分开; - D(依赖倒置):依赖抽象而非具体实现,通过 Hilt 注入接口实现。
准则五:优化(Optimización)——布局、内存与加载时间
原文要点:Proporciona consejos sobre optimización de rendimiento, tanto a nivel de código como en la experiencia de usuario, como la optimización de layouts, uso eficiente de la memoria, y reducción de tiempos de carga.
即:从代码层面与用户体验层面给出性能优化建议,包括布局优化、内存高效使用与加载时间缩减。
三个维度及其落地手段:
| 维度 | 典型手段 |
|---|---|
| 布局优化 | 使用ConstraintLayout减少嵌套层级;<merge>消除冗余根布局;ViewStub延迟加载低频视图;避免过度重绘(overdraw) |
| 内存优化 | 警惕 Activity 泄漏(匿名内部类持有外部引用);图片使用Glide/Coil并配置尺寸裁剪;onTrimMemory/onLowMemory释放缓存;使用Profiler的 Memory 面板定位大对象 |
| 加载时间 | 冷启动优化:Application中避免同步初始化、延迟初始化第三方 SDK;列表分页加载;WorkManager将非关键任务移到后台执行 |
准则六:工具与测试(Herramientas y Testing)
原文要点:Incorpora prácticas de testing en las respuestas, mostrando cómo escribir tests unitarios con JUnit y tests de interfaz con Espresso. También, ofrece tips sobre cómo utilizar herramientas de Android Studio, como el profiler, para identificar y resolver problemas de rendimiento.
即:在回答中融入测试实践:用 JUnit 写单元测试、用 Espresso 写界面测试;同时给出 Android Studio 工具(如 Profiler)用于定位与解决性能问题的技巧。
这是提示词中非常少见的一条——它要求 GPT 把"测试"作为回答的标准组成部分,而非可选项:
- JUnit 单元测试:测试 ViewModel 与业务逻辑,配合
kotlinx-coroutines-test的runTest控制协程调度:
@OptIn(ExperimentalCoroutinesApi::class) class MainViewModelTest { @Test fun `load 成功后状态为 Success`() = runTest { val vm = MainViewModel(FakeRepository()) vm.load() assertEquals(UiState.Success(...), vm.uiState.value) } }- Espresso 界面测试:验证 UI 行为,例如:
@RunWith(AndroidJUnit4::class) class MainActivityTest { @Test fun clickButton_showsResult() { ActivityScenario.launch(MainActivity::class.java) onView(withId(R.id.btn_submit)).perform(click()) onView(withId(R.id.tv_result)).check(matches(withText("Done"))) } }- Profiler 使用技巧:CPU Profiler 定位卡顿方法、Memory Profiler 抓内存泄漏(配合
LeakCanary验证)、Energy Profiler 分析耗电;提示词还要求 GPT 在给出优化建议时,主动指导用户"先测量再优化",避免盲改。
准则七:持续更新(Actualización Constante)——拥抱 Jetpack 生态
原文要点:Mantén tus conocimientos actualizados con las últimas versiones de Android y las nuevas bibliotecas recomendadas por Google, como Jetpack, Room, y WorkManager. Proporciona soluciones utilizando las tecnologías más recientes.
即:保持与最新 Android 版本及 Google 推荐新库(Jetpack、Room、WorkManager 等)同步,用最新技术提供解决方案。
这条准则要求 GPT 在回答时做到"技术版本自省":优先输出当前稳定版本生态中的推荐方案,而非陈旧写法。其背后代表的具体技术栈:
- Jetpack:官方组件库全集,覆盖 UI(Compose)、生命周期、导航(Navigation)、分页(Paging)、偏好设置(DataStore)等;
- Room:SQLite 的官方 ORM 封装,编译期校验 SQL 正确性,配合 Flow/Kotlin 协程支持响应式查询:
@Database(entities = [User::class], version = 1) abstract class AppDatabase : RoomDatabase() { abstract fun userDao(): UserDao } @Dao interface UserDao { @Query("SELECT * FROM users WHERE id = :id") fun observeUser(id: Long): Flow<User?> }- WorkManager:用于"保证可执行、可延迟、可持久化"的后台任务(如数据同步、日志上传),兼容 Doze 省电模式;
- Compose 与 View 体系的取舍:新版项目优先 Jetpack Compose,但存量 View 项目仍需 RecyclerView/XML 技能——这正好与准则四中 RecyclerView 的要求形成"新旧并重"的完整知识面。
四、技术要点速查表
为便于检索与引用,将提示词核心要素汇总如下:
| 要素 | 提示词要求 | 对应技术/工具 |
|---|---|---|
| 角色 | 精通 Java & Kotlin 的原生 Android 开发专家 | 双语言、原生栈 |
| 输出契约 | 任何回答必须包含代码解决方案 | MVVM/MVP 模式 |
| 并发 | 正确的线程与并发管理 | Coroutines、Dispatchers |
| 状态管理 | LiveData + ViewModel | 生命周期感知分发 |
| 列表 | RecyclerView 正确使用 | ListAdapter、DiffUtil |
| 依赖注入 | Dagger/Hilt | 编译期 DI、fail-fast |
| 代码质量 | SOLID 原则 | 单一职责、依赖倒置等 |
| 测试 | JUnit + Espresso | 单元测试、UI 测试 |
| 性能 | 布局、内存、加载时间优化 | Profiler、ViewStub、Glide/Coil |
| 知识保鲜 | 最新 Android 版本与 Jetpack 生态 | Room、WorkManager、Compose |
五、如何复刻一个同款 Android 开发 GPT
这份提示词可以直接作为自定义 GPT 的 Instructions 使用。结合仓库中 World Class Software Engineer 提示词 对 GPT Builder 配置结构的描述(Name、Description、Instructions、Knowledge、Capabilities、Actions),落地步骤如下:
- Name(名称):填入
Android Studio GPT或自定义名称; - Description(描述):沿用文档的
GPT expert in Kotlin & Java一句话定位,便于用户进入前理解能力边界; - Instructions(指令):将本文所解读文档的代码块内全部西班牙语提示词原文粘贴至此——角色定义 + 七条准则是一个完整闭环,不建议拆分或删减;
- Knowledge(知识库,可选):可上传 Android 官方文档摘要、公司内部架构规范、代码风格指南等,强化准则七"知识保鲜"的落地;
- Capabilities(能力):该 GPT 主要面向代码问答,通常无需开启 Web Browsing 与 DALL·E,保持纯文本/代码输出即可;如需读取用户粘贴的崩溃日志或工程文件,可开启 Code Interpreter 辅助分析。
复刻后即可获得一个行为可预期的 Android 开发助手:任何问题都会收到"理论解释 + 最佳实践代码 + 测试建议"三段式回答。这也从侧面说明:该提示词的价值不仅在于"内容正确",更在于它把回答的结构、质量门槛与更新机制全部写进了指令,这正是提示词工程的核心手法。
六、仓库相关资源与延伸阅读
- 本文依据的原始文档:prompts/Android Studio GPT.md——完整西班牙语系统提示词原文,可直接复制使用;
- 仓库总览:README.md——GPTs 泄露提示词集合的索引与说明;
- 同仓库开发者向提示词参考:prompts/Code Explainer.md、prompts/World Class Software Engineer.md——可对比学习"开发专家型 GPT"在角色设定、安全约束与工具集成上的不同侧重。
需要说明的是,本仓库为只读的提示词收藏库,不包含 Android 工程源码;本文中的代码片段均为对提示词所涉技术栈(ViewModel、Coroutines、Hilt、Room、JUnit/Espresso 等)的通用范式演示,用于帮助理解每一条准则的落地形态,而非仓库内的项目代码。该提示词文档来自公开渠道的泄露收集,建议将其作为提示词工程与 Android 技术问答设计的参考素材使用。
- 提示工程
【免费下载链接】GPTs
leaked prompts of GPTs
相关推荐
如何利用Code-Graph-RAG实现智能代码分析与知识图谱查询?
如何利用Code Graph RAG实现智能代码分析与知识图谱查询? 你是否曾面对庞大的代码库感到迷茫?当需要理解复杂的函数调用关系、查找特定功能的实现代码,或
人工智能RAG知识图谱MCP 服务开发者工具GPTs 仓库实战解析:Breakdown: Outline Any Topic 任意主题拆解 GPT 的提示词架构与复刻指南
GPTs 仓库实战解析:Breakdown: Outline Any Topic 任意主题拆解 GPT 的提示词架构与复刻指南 本篇以 GPTs 提示词仓库 h
提示工程从 Code Explainer 泄漏提示词看代码解释类 GPT 的系统提示词设计(GitHub GPTs 仓库实战解析)
从 Code Explainer 泄漏提示词看代码解释类 GPT 的系统提示词设计(GitHub GPTs 仓库实战解析) 本文以 prompts/Code E
提示工程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考