应用蓝图的效果和生成的代码的质量取决于提示的清晰度和详细程度。使用 App Prototyping agent 时,请考虑以下准则,以便在生成和调试应用时有效提示:
- 具体说明:明确定义应用的功能、用户互动和数据要求。请尽可能提供具体技术。例如,如果您尝试创建包含 3D 元素的 Web 应用,则可能需要让 Gemini 使用
three.js
。 - 询问设置服务的其他任务: Gemini 可以为您的应用编写代码,但实际上无法设置服务、启用 API 或预配资源(例如 Cloud Storage 存储分区或 Stripe 账号)。请务必告知 Gemini,如果它为特定服务编写代码,则还应告知您如何设置这些服务。
- 使用 Gemini 优化问题:使用 Google 的 Gemini、在 Code 视图中与 Gemini 聊天,或使用其他 Gemini 界面来优化问题。Firebase
- 提供背景信息:提供有关应用用途、目标受众群体和预期用户体验的背景信息。
- 使用示例:如果可能,请提供示例来说明用户应如何与应用互动或应显示哪些数据。
- 迭代和优化:迭代地进行开发。不妨先从基本请求开始,然后添加一项功能,对其进行测试和优化,然后再添加另一项功能。
遵循这些准则可以显著提高 Firebase Studio 生成的应用蓝图的质量和相关性,并提高调试应用的成功率。
使用其他提示来优化回答
如果初始结果不符合您的预期,您可以通过添加更多详细信息或提供具体说明来优化问题:
- 添加约束条件:针对界面、数据模型或功能指定约束条件。
- 提供示例:提供示例来说明用户应如何与应用互动以及应显示哪些数据。
- 使用关键字:使用关键字描述您希望 LLM 与所需输出类相关联的功能或特性。例如,您可以在提示中使用 Material Design,表明您希望应用遵循 Google 设计标准。
- 请求进行具体更改:请求对生成的代码或蓝图进行具体更改。请在单独的请求中添加每项功能请求。
- 让模型进行推理:如果您在获得所需结果时遇到问题,请尝试让模型根据提示进行推理。例如,你可以说“请分步思考。我想为我的任务应用创建一个输入框。该输入框应包含一个“添加任务”按钮和一个“取消”按钮。”
通过使用这些技巧,您可以迭代优化问题,以获得所需的结果。
应用蓝图有效提示示例
以下是适用于不同类型应用的有效提示示例:
简单的任务跟踪器:
Create a simple web app that displays a list of to-do items.
Users should be able to add new items to the list and mark items as complete.
Provide a way to delete items and export the list as a text file.
Use a clean and modern UI using Google Material Design principles.
预算应用:
A budgeting and expense tracking app with spending categories, charts, and
budget goals. Include a clean dashboard with key insights. It should include
spending categories, charts, and budget goals. The app should allow users to
manually add expenses or upload csv files. The app should also allow users to
upload receipts, then use AI to convert the receipt into an expense entry that
users can edit. Data should be stored in browser cache, with download and
delete options.
游戏应用提示,其中包含 Gemini 提供的帮助(Markdown):
Generate a delightful sliding number puzzle game (15-puzzle) with Javascript,
HTML, and CSS.
- **Setup:** Create a 4x4 grid with numbers 1-15 and one empty space. Use a
**solvable shuffling algorithm** to randomize the start.
- **Gameplay:** Allow clicking tiles **adjacent to the empty space** to slide
them. Count and display the number of moves.
- **Timer:** Include a **countdown timer** starting at **120 seconds**
(2 minutes).
- **End Conditions:**
- If solved (numbers 1-15 in order): Alert with an encouraging winning
statement generated by AI.
- If timer reaches 0: Alert with a funny retort generated by AI.
调试提示
您可以在 Firebase 中使用 Gemini,通过 Code 工作区或 App Prototyping agent 中的聊天功能调试代码。
虽然 Gemini 可以为您编写代码,但有时也可能会出错。当检测到错误时,它会尝试进行修复。如果您发现无法根据错误消息解决问题,可以尝试以下某些方法:
描述问题:在聊天界面中,尽可能清晰简洁地描述您遇到的问题。虽然 Gemini 可能有权访问错误消息和日志等上下文,但可能无法理解完整的上下文。描述行为以及错误消息有助于 Gemini 更快地修正错误。
提出具体问题:不要害怕直接询问代码相关问题。Gemini例如,“什么可能导致此函数中出现 null 指针异常?”或“如何防止这种竞态条件?”
将复杂问题分解:如果您要处理复杂的问题,请将其分解为更易于管理的较小部分。让 Gemini 帮助您分别调试每个部分,并逐步思考问题。
使用代码方括号:分享代码段时,请使用代码方括号以确保代码格式正确无误。这样可以让 Gemini 更轻松地读取和理解您的代码。
迭代和优化:Gemini 可能并不总能在第一次尝试时提供完美的解决方案。查看回答,提出澄清性问题,并根据需要提供更多信息。
避免提示循环:如果 Gemini 陷入循环或无法回答您的问题,请尝试换种说法重复提示或提供更多背景信息。有时,只需改换一下问题的措辞,就能帮助 Gemini 理解您想要询问的内容。
如果重新措辞提问无法解决循环问题,请尝试以下技巧:
发起新对话:如果您在 Code 工作区中使用 Gemini in Firebase 聊天功能,请发起新聊天会话以重置 Gemini 的上下文。这有助于消除 Gemini 在之前对话中可能犯下的任何错误观念或假设。
提供反例:如果 Gemini 做出了错误的假设,请提供反例来帮助它了解正确的行为。