无代码构建 AI 应用:先诊断系统,再要求修复

原标题A no-code AI app build: diagnose the system before asking for a fix

Devin Chasanoff 分阶段构建训练教练,用测试和上下文追踪修复 API 连接及计划被意外改动的问题。

DCDevin Chasanoff讲者 · Google Cloud
频道
Google Cloud Tech
发布
2026年11月14日
视频
55:11
阅读
7 分钟
幻灯片
6
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

Devin Chasanoff 使用分阶段验收计划和 Google Antigravity,构建带 AI 教练的训练记录应用。自动检查提供了帮助,但亲自测试暴露出未加载的密钥,以及训练修改波及无关内容的问题。他将后者追溯到缺少计划上下文,随后改为在请求中传入当前日程或待处理建议。本地原型在他的测试中可以工作;云端持久化、身份验证和部署仍未完成。

  1. 1浏览器控制台错误为智能体提供具体线索Chasanoff 分享错误并在修复后重新加载应用,然后测试真实训练交互。
  2. 2无害测试值揭示密钥没有加载他检查环境文件的读取路径,而不是反复要求 Gemini 修复失败请求,随后删除临时日志。
  3. 3单日修改后比较整周计划受控测试显示小改动可能影响无关训练,从而促使他调查教练获得的上下文。
  4. 4在请求中传入当前计划和待处理建议Chasanoff 选择改变数据流,并在智能体实施前要求概念层面的解释。
  5. 5先问功能现在是否应该工作测试动态记忆时,他先核对预期架构,追踪服务器响应如何进入本地状态,然后才接受修复。

要点建议

  1. 先问当前里程碑哪些功能应该工作,再要求智能体修复。
  2. 使用控制台日志和无害测试值,区分密钥无效和密钥没有被加载。
  3. 对 AI 定向修改,检查请求是否包含当前状态和尚未接受的建议。
  4. 本地原型并不等于已部署并具备云端持久化和身份验证的应用。
全文

按章节阅读整理后的全文

只看原始文稿
01

分阶段构建并检查每个里程碑

智能体依据已有计划搭建项目、服务器和训练界面。Chasanoff 检查自动化结果,随后打开应用亲自测试。

Devin Chasanoff 基于已有的原型、三份设计规格和分阶段验收的实施计划,构建一款智能私人教练应用。他使用 Google Antigravity 完成各个里程碑,并暂停检查结果。

第一个里程碑初始化版本控制和项目框架,添加 TypeScript 类型与 Firebase 工具,并填充动作目录。智能体运行编译、代码检查和构建检查后,Chasanoff 批准进入下一阶段。

第一个里程碑的设置摘要
幻灯片 1 / 6第一个里程碑的设置摘要智能体报告 Firebase 设置、动作目录和验证结果。

第二个里程碑构建后端服务器,运行计划中列出的验证用例。智能体总结测试结果并创建 Git 检查点,然后继续。

第三个里程碑添加应用框架、导航、客户端状态和训练记录器。Chasanoff 终于可以打开本地运行的应用,亲自测试界面,而不只依赖智能体报告。

02

首次构建失败时使用浏览器证据

控制台错误和过期浏览器缓存揭示了自动里程碑摘要未解决的问题。Chasanoff 提供证据,并在每次修复后复测。

页面首次加载失败。他打开浏览器开发者控制台,截取错误并交给 Gemini。智能体修复后,他重新加载,确认训练页面和计时器出现。

单个占位动作不足以测试记录器。他要求生成同时包含普通组和超级组的真实训练计划,以检查界面如何处理不同训练块。

尽管数据已更新,页面仍显示旧训练。智能体将原因追溯到浏览器缓存,并修改处理机制;Chasanoff 重新加载,确认更丰富的新计划出现。

03

连接并测试教练

重复出现的备用回复引出了 API 密钥加载问题。连接后,教练能生成和修改建议,但状态处理尚未完成。

单独调整界面后,他进入 AI 教练里程碑:建立聊天界面,让用户获得训练建议,并接受或修改建议。

教练的第一次回复快得异常,而且总是重复同一份计划。他没有把成功显示回复等同于模型已连接,而是询问 Gemini 已实现哪些部分,发现有些行为仍来自备用响应。

智能体列出已完成和未完成的内容:聊天界面和建议流程已有,但服务端持久化及部分展示功能尚未完成。Chasanoff 询问添加 API 密钥能否启用真正的模型调用。

他在本地环境文件中私下加入 Gemini API 密钥和模型名,没有在镜头前展示密钥。智能体运行连接测试,但应用仍返回固定回复。

Chasanoff 检查应用日志,将问题缩小到两种可能:密钥无效,或应用没有加载密钥。他用无害的测试值检查程序是否读取了环境文件。

删除临时密钥日志
幻灯片 2 / 6删除临时密钥日志Chasanoff 用无害测试值诊断加载问题,然后在恢复真实密钥前删除日志。

测试显示应用没有读取预期值。Gemini 修复加载问题;Chasanoff 删除临时日志,在镜头外恢复真实密钥,并重启开发服务器。

此时模型回复能够到达,但建议的训练计划为空。他把截图交给智能体;后者报告应用不同部分的命名不一致并予以修复。随后他再次测试完整请求。

教练生成了四天的计划。Chasanoff 测试修改训练、提出只应得到文字回答而非建议卡片的问题,以及用语音转文字发出请求。

他注意到,如果输入新请求时没有附上先前的建议,系统可能生成一份新计划,而不是修改原计划。这显示请求携带的上下文十分重要。

他检查从某一天的训练进入教练界面并应用建议的流程。本地训练得到更新,但他希望单日修改返回当天的卡片,而不是整周预览。

本地更新后的训练
幻灯片 3 / 6本地更新后的训练接受教练建议后,单日视图显示修改后的训练。
04

找出为何小修改会影响更大范围的计划

对单日和整周的比较暴露出上下文不一致。由于数据库连接尚未完成,Chasanoff 选择在每次请求中传入当前计划或待处理建议。

Chasanoff 请求 Gemini 添加单日建议卡片。测试时卡片出现了,但建议的训练与屏幕上已有计划并不总是一致。

他创建并接受新的周计划,再要求在某一天增加核心训练。结果与原训练不同。接下来的修改看起来更接近,因此他继续测试,没有把一次成功当作充分证明。

他怀疑不一致与计划的存储方式有关。应用已有浏览器本地数据,并计划持久保存到 Firebase,但数据库尚未连接完成。

为了更容易比较差异,他要求加入周视图。然后他设计受控测试:只为周二增加一个动作,或在周三添加训练,并比较修改前后一周其余部分。

这次修改影响了超出要求的计划内容。Chasanoff 向智能体描述观察到的不匹配,并调查教练如何获取现有日程,而不是只要求修补界面。

他询问服务器是否从 Firestore 读取当前计划。Gemini 回答,预期架构确实如此,但数据库尚未连接,所以教练没有得到所需上下文。

他还询问用户修改尚未接受的建议时会发生什么。如果建议还没存入数据库,仅获取已存计划可能遗漏当前状态。

Chasanoff 比较两个选项:连接 Firestore,或在每次请求时传入当前计划和待处理建议。他先要求智能体用通俗语言解释改动,再写代码。

将当前计划作为上下文传入
幻灯片 4 / 6将当前计划作为上下文传入智能体概述如何在每次请求中附上当前周计划和待处理建议。

双方同意,由客户端在请求中附上当前周计划或待处理建议的快照。服务器使用这些上下文,并指示教练做定向修改时保留无关动作。

Gemini 实施并检查了改动。Chasanoff 强调,这次请求改变的是系统获取上下文的方式,而不是让模型针对一个错误输出打补丁。

他测试添加核心训练,再修改待处理建议以移除平板支撑。他检查结果卡片并接受,确认需要保留的动作仍然存在。

测试定向修改
幻灯片 5 / 6测试定向修改建议移除一个动作,同时保留训练的其他部分。

第二项测试交换周四和周五的训练。显示的周计划按要求变化,让他看到新上下文路径在这些例子中能够保留其余计划。

05

连接云端前先测试动态记忆

他先问当前哪些功能应该工作,追踪服务器到客户端的数据流,再复测器械和活动更新。云端持久化、身份验证和部署仍待完成。

下一个里程碑添加进度、设置和教练动态记忆视图。设计使用浏览器本地存储保证响应速度,并计划同步到 Firestore 以持久保存数据。

进度和设置页面出现后,Chasanoff 发现移动端布局和导航问题。他要求智能体调整布局,并列出下一验收阶段应执行的检查。

他测试告诉教练有关器械和即将到来的活动,能否更新设置与记忆。预期信息没有出现时,他先问这个阶段是否本来就应该工作。

由于 Firebase 尚未连接,他质疑 Gemini 提出的修复。进一步讨论揭示了内存中的备用存储,他接着询问服务器生成的信息如何到达浏览器本地状态。

他们同意在聊天响应中返回更新后的个人资料,更新客户端本地数据,之后再同步到 Firebase。Chasanoff 先要求概括方案,再同意实施。

第一次复测时,器械出现了,但活动仍未进入记忆。智能体再次修正,他继续测试,直到界面显示器械和有时效的记忆。

测试器械与动态记忆
幻灯片 6 / 6测试器械与动态记忆设置页面显示器械选择和教练记忆区域。

结束时,本地应用在他的测试中支持训练记录和教练修改,但云端持久化、身份验证、素材和部署仍是后续工作。Chasanoff 也计划进一步验证并调整界面。

同频道的其他文章

3 张幻灯片13:01EN → 简体中文
Google Cloud Tech· 2026年11月12日构建能检查每位客人需求的智能体评估Annie Wang · Google CloudAnnie Wang 构建自定义 ADK 指标,根据群组要求为餐厅计划评分,并在 CI/CD 中运行。评估智能体工程开发流程与测试+1
6 张幻灯片23:57EN → 简体中文
Google Cloud Tech· 2026年11月10日让 AI 构建的应用更容易调试的六个前端概念Devin Chasanoff · Google CloudDevin Chasanoff 用交互式游戏追踪器说明数据存放位置、计算值和组件之间的通信。Software engineering编程智能体开发流程与测试+1
4 张幻灯片41:04EN → 简体中文
Google Cloud Tech· 2026年11月9日Google 如何测试 Gemini 4,并用智能体维护代码Tulsee Doshi, Smitha, Rody Davis, Luke, Mollie, Billy, Annie · Google DeepMindTulsee Doshi 介绍分阶段发布和长时间任务;演示则用子智能体审查 Web、Android 和 iOS 代码。编程智能体Foundation ModelsAgent orchestration+2
8 张幻灯片17:27EN → 简体中文
Google Cloud Tech· 2026年11月9日修复混乱应用:先定义状态,再向智能体下指令Devin Chasanoff · GoogleDevin Chasanoff 先梳理健身界面的状态、转换和测试,再让智能体修改应用。开发流程与测试编程智能体产品与体验+1
3 张幻灯片11:59EN → 简体中文
Google Cloud Tech· 2026年11月3日用两个 AI 智能体把原型变成前端设计规范Devin Chasanoff · GoogleDevin Chasanoff 将规划和文档记录分开,让 Gemini 在应用开发前帮助用户完成设计。AI agentsSoftware engineering产品与体验
11:16EN → 简体中文
Google Cloud Tech· 2026年10月29日让 AI 智能体动工前,先核对规范并设置检查点Devin Chase · GoogleDevin 演示如何发现需求冲突、比较默认假设与建议,并制定分阶段实施计划。AI agentsSoftware engineering开发流程与测试