用 Agent 构建阅读清单应用

从明确需求、审阅计划到检查代码,通过一个小应用走完开发和验收流程。

资料核验 / 更新于 · 10 分钟阅读

练习目标

制作一个本地阅读清单:输入标题和网址,标记已读,筛选未读,删除条目,并通过浏览器存储保留刷新后的数据。这是本站设计的练习需求,不是官方示例的转载。预计练习 30–45 分钟,生成的实现会因项目而异。

前提:已完成安装入门。使用一个新的练习目录,或在已能正常运行的前端项目中建立独立分支。

1. 先让 Agent 提交计划

Antigravity 的实施计划 Artifact支持审阅方案和提交评论。是否等待审阅与当前策略有关,所以本次练习明确要求先暂停。

在当前工作区构建一个本地阅读清单。
用户可以添加标题和 http/https 网址、标记已读、筛选未读、删除条目。
使用 localStorage 保留数据。
复用已有技术栈;如果目录为空,先提出最小搭建方案。
不需要登录、服务端数据库、外部 API 或部署。
修改前列出涉及的文件和验收项目,等我审阅计划后再开始。
Antigravity 官方实施计划卡片,包含 Proceed 按钮

先打开计划再决定是否继续。官方截图使用 Flask 待办应用,本教程练习的是仅用浏览器存储的阅读清单。

官方示例截图(原图未修改) · 来源:Google Codelabs · CC BY 4.0 · 点击图片放大

把数据结构也写进计划

在讨论组件之前,让 Agent 先给出一个条目示例。本练习可以采用下面的原创示例:

{
  "id": "example-item-1",
  "title": "浏览器验收笔记",
  "url": "https://example.com/notes",
  "isRead": false
}

排序或筛选后,条目的标识符应保持不变。若把界面行号当成条目身份,筛选后删除时可能删错数据。筛选只应改变显示的子集,持久化保存的集合仍应包含全部条目。

2. 确认范围和边界情况

检查计划是否同时覆盖输入表单和已保存的列表。要求拒绝空标题、去掉首尾空格、验证网址,并说明存储数据损坏时如何处理。

如果方案加入了账号系统或后端,直接评论:第一版只在浏览器保存数据。计划符合需求后,再让 Agent 开始实现。

把意见写成可执行的修改

比起“再简单一点”,可以直接提交以下评论:

表单、列表和存储逻辑都沿用现有前端技术栈。
拒绝只有空格的标题,以及没有 http 或 https 协议的网址。
每个条目使用稳定 ID,筛选不能覆盖保存的完整集合。
如果已存数据无法读取,请在计划中说明恢复行为。
更新计划,并列出哪些验收项目覆盖了这些决定。

提交评论后,再读一遍修订后的计划;停留在输入框里的草稿不会引导下一步。小应用通常只需少量组件和存储逻辑,具体文件组织仍应遵循项目已有习惯,不必强行套用复杂目录。

3. 检查实际改动

重点阅读表单验证和数据保存的代码。新增依赖时,让 Agent 解释必要性。执行项目已有的构建或测试命令,并要求报告实际执行的命令、结果与失败信息。

构建成功只是其中一项检查,还不能证明“保存—筛选—刷新”这一整条流程可用。

官方待办应用示例的 Task 产物,列出完成中与尚未完成的任务

任务列表有助于发现遗漏;“实现完成”的勾选还需要对应的操作验收来支持。

官方示例截图(原图未修改) · 来源:Google Codelabs · CC BY 4.0 · 点击图片放大

分开检查三类结果

  1. 代码变更: 是否符合约定范围,重点看输入验证、稳定 ID 和存储读写。
  2. 命令结果: 记录真实的构建或测试命令、退出状态与尚未解决的错误。
  3. 用户行为: 在浏览器执行下方流程,不能用任务列表全部打勾来替代。

存储不可用时,界面应明确提示,而不是让人以为数据已保存。对于已存数据损坏的情况,先选定并写明恢复方式,再在可丢弃的练习项目中验证。

4. 按场景验收

操作预期结果
输入有效标题和网址列表新增一个条目
提交空标题显示清晰的错误提示
提交非 http(s) 网址拒绝添加
标记已读后切到未读列表该条目不再显示
刷新页面条目及已读状态保留
两个条目中删除一个只删除选中的条目

浏览器存储属于特定浏览器配置和站点地址。更换浏览器配置或端口后,列表可能显示为空;清除存储会移除数据。本练习没有账号同步功能。

用固定的两个条目重复验收

添加 Alpha 文章https://example.com/alpha)和 Beta 文章https://example.com/beta)。将 Alpha 标记已读,切到未读视图,此时应只看到 Beta。保持相同站点地址刷新,再回到全部列表,确认两个条目仍在且 Alpha 保持已读。接着从未读视图删除 Beta,最后确认全部列表中的 Alpha 仍然存在。

这组操作能发现简单“添加后删除”演示遗漏的问题。再试一次长标题、键盘提交和空列表状态。标题搜索、未读计数等扩展留到第二轮添加,便于定位每次改动带来的影响。

一次修复一个失败场景

把“输入内容、实际结果、预期结果”一起交给 Agent,要求最小修改。修复后重测该场景,再检查一个相邻流程。下一篇:浏览器验收