使用 A2UI、Gemini 和 Google Apps Script 构建自适应学习代理
Source: Dev.to
摘要
本文演示了如何使用 Agent‑to‑User Interface (A2UI)、Gemini 和 Google Apps Script 构建自适应学习代理。我们探讨了一个系统,该系统能够生成个性化测验、在 Google 表格中跟踪表现,并动态调整难度,以在 Google Workspace 生态系统中最大化学习效率。
介绍
A2UI(Agent‑to‑User Interface)代表了用户与生成式 AI 交互方式的范式转变。最初由 Google 开源并使用 TypeScript 与 Python 实现 — Ref — 当 A2UI 与 Google Apps Script(GAS)结合时,其威力更为强大。这种组合能够无缝访问 Google Workspace 生态系统,将静态文档转化为智能、具备代理能力的应用。
为了探索这一潜力,我此前已发表了多篇文章,详细阐述了技术基础:
- A2UI for Google Apps Script
- Bringing A2UI to Google Workspace with Gemini
- Beyond Chatbots: Building Task‑Driven Agentic Interfaces in Google Workspace with A2UI and Gemini
在这些出版物奠定的基础上,本文介绍了一个由 A2UI 和 Google Apps Script 驱动的 教育支持框架。在该系统中,AI 不仅仅是回答问题,而是充当积极的导师角色。
示例: 当用户提供诸如
I want to study Google Apps Script的提示时,Gemini 会在后端生成专门的问题。随后 A2UI 将这些问题渲染为前端的交互式测验。系统使用 Google Sheets 作为持久化记忆存储;通过分析历史表现数据,代理会为后续会话生成难度逐步提升的内容,从而实现个性化且高效的学习进阶。
自适应学习引擎
该应用的核心价值在于通过 “Feedback‑Loop Architecture.” 提高学习效率。不同于静态测验应用,此代理使用 Google Sheets 作为持久记忆存储,以跟踪认知成长。
Source: …
工作流与架构
- 目标定义 – 用户打开侧边栏并设定学习目标(例如,“精通 Google Apps Script”)。
- 上下文检索 – 系统扫描当前 Spreadsheet,获取过去的表现数据,识别已回答的问题、成功率以及特定主题的薄弱环节(例如,“批量操作”)。
- 生成逻辑(Gemini) – 基于上下文,Gemini 生成结构化的 JSON 响应,包含新的、针对性的题目以及渲染这些题目所需的具体 UI 组件(单选按钮、代码块)。
- 动态渲染(A2UI) – 前端即时构建界面;无需硬编码 HTML。
- 即时反馈与持久化 – 当用户交互时,结果实时校验并立即写回 Spreadsheet,进而为下一轮会话细化数据集。
详细的工作流如下所示:
在 官方 A2UI 示例脚本(Restaurant finder) 中,客户端通过 A2A(Agent2Agent)协议与服务器通信。本文对 GAS 的架构进行优化:客户端(HTML)直接使用 goo 与基于 Google Apps Script 构建的 AI 代理进行交互。
Source: …
演示:AI 导师实战
视频演示突出了两项不同的能力:深度学习支持 和 通用多功能性。它在 Google 表格中使用对话来展示与 Google Apps Script 的集成,但相同的应用也可以部署为独立的 Web 应用。将项目部署为 Web 应用后,doGet 函数可以捕获请求,使界面能够独立于电子表格 UI 运行。
1. 最大化学习效率
提示
Create a quiz about Google Apps Script basics. Especially, I want to manage Google Sheets using Google Apps Script.
-
针对性的问题生成 – AI 生成从基础范围选择(
sheet.getRange())到高级数据处理(sheet.getValues())的技术问题。 -
主动回忆 – 系统提供关于 批量操作(
SpreadsheetApp.flush())的挑战性问题,以测试知识深度。 -
全面的绩效分析 – A2UI 渲染一个 “绩效分析” 仪表盘。
- 已识别的优势: 在 范围与数据操作 方面的掌握。
- 弱点评估: 本次会话未检测到当前弱点。
- 战略性后续步骤: 建议转向 自定义菜单 或 简单触发器,有效引导用户的学习路径。
注意: 完成初始测验后,使用相同的提示会触发新会话,问题将基于已细化的历史数据生成。
过去的数据存储在 Google 表格中,如下所示:
2. 多功能性验证:餐厅查找
提示
Find 3 Chinese restaurants in New York
- 多模态 UI – 代理为 Han Dynasty 和 RedFarm 渲染带图片的丰富卡片。
- 复杂动作处理 – 用户点击 “立即预订”,触发包含多个字段的表单(人数、日期、饮食要求)。
- 意义 – 演示了 GAS 上的 A2UI 协议能够像处理教育逻辑一样轻松处理复杂的事务流程。
仓库
完整的源代码和示例实现可在此处获取:
https://github.com/tanaikech/A2UI-for-Google-Apps-Script/tree/master/samples/A2UI-Lerning-Agent
应用设置指南
1. 获取 API 密钥
您必须拥有有效的 Gemini API 密钥。在此获取。
2. 复制示例脚本
复制包含 A2UI 引擎的预配置电子表格:
3. 配置脚本
- 打开脚本编辑器(
Extensions > Apps Script)。 - 打开
main.gs。 - 将您的 API 密钥粘贴到
apiKey变量中。 - 保存脚本并重新加载电子表格。
重要说明
本项目作为构建 Agentic UIs 的基础方法论。在生产环境中实施时,请确保对脚本进行修改,以满足您的特定安全需求和工作流约束。
用户还可以同时学习多个学科。切换主题时,Gemini 会通过分析该上下文的历史数据趋势生成新问题,从而实现跨领域的同步进展。
摘要
- 自适应学习循环: Google Sheets 存储用户历史,使 Gemini 能根据识别出的强项和弱项定制未来的问题。
- 动态 UI 生成: A2UI 消除静态 HTML 模板,允许 AI 根据上下文即时生成测验、图表和预订表单。
- 详细的绩效分析: 代理提供定性反馈——不仅是分数——提供具体的“下一步”以高效引导用户的学习路径。
- 跨领域通用性: 该架构能够同等流畅地处理教育代码测验和餐厅预订事务。
- 无缝工作区集成: 将 GAS 与 Gemini 结合,将标准 Google Sheets 转变为智能、持久的数据库,驱动代理行为。


