1. 简介

在此 Codelab 中,您将使用 Antigravity 中的并行多智能体编排构建一个多语言代码质量审核和自动修正系统。您将部署专门的 AI 子智能体来并行检查不同的语言堆栈,而不是对多个单独的服务目录进行传统的手动线性审核。
您将创建一个协调器 智能体来发现项目布局、管理子智能体以执行单元测试、构建审核计划、扫描合规性、创建审核报告,并自主重构代码库中的高优先级编码问题。
学习内容
- 项目发现 :了解如何部署协调器智能体,以在复杂的微服务架构中绘制目录并检测编程语言。
- 编排的并行性 :了解如何将代码审核和单元测试同时分发给独立的特定于语言的 AI 子智能体。
- 人工监督 :了解如何引导协调器智能体构建审核计划,并在执行前安全地暂停以供您审核和批准。
- 自动修正 :了解如何部署专门的开发者子智能体,以自主重构和解决高优先级的编码和合规性问题。
- 验证循环 :了解如何通过自动重新运行测试套件来验证 AI 生成的代码更改,以确保没有引入回归。
所需条件
对于此 Codelab,您需要在本地安装以下工具:
- Google Antigravity
- Git
- 您的环境中设置的一种或多种以下语言:Go、Python、C# / .NET、NodeJS、Java
让我们开始吧!
2. 环境设置
首先,请确保您已安装 Antigravity。
其次,克隆 Online Boutique,这是一个云微服务演示应用:
git clone https://github.com/GoogleCloudPlatform/microservices-demo.git
使用代码在 Antigravity 中创建一个新项目。在 Antigravity 中,选择左侧的 Projects 下的 Create New Project:

选择代码库文件夹:

您可以为 Agent Security Settings 选择 Default 模式,也可以为项目使用相同的名称 microservices-demo。
3. 发现
在微服务架构中,代码库通常涉及跨多个文件夹或代码库和编程堆栈的多个服务。Online Boutique 演示应用也是如此。
在启动智能体之前,让我们先发现项目布局。在第一步中,您将使用 Antigravity 部署一个协调器 智能体,该智能体将发现 src/ 下不同语言的各种微服务,并协调特定于语言的子智能体在后续步骤中处理每个微服务。
首先,让我们要求协调器智能体探索代码库,并绘制出哪些服务存在于哪些目录中以及它们使用哪些语言。
在 Antigravity 中,在您之前创建的 microservices-demo 项目中开始新的对话。对于模型,您可以选择最新的 Gemini 模型,并使用中等思考水平:

请尝试以下提示:
Identify all the microservices located under the src/ directory,
detect which programming language each service is written in, and
output the list as a clean markdown table showing: Service Name,
Directory, and Primary Language.
最后,Antigravity 应返回一个包含服务及其主要语言的精美表格,类似于以下内容:

4. 选择语言
现在,您已绘制出代码库,需要选择要使用的语言。您需要确保拥有所选语言所需的编译器/工具(例如,C# 的 dotnet 工具、Java 的 javac 等)。
选择要使用的语言后,务必通过运行该语言的相应单元测试来验证当前代码库的运行状况。
您可以使用专门的并行子智能体 来运行每种语言的测试套件。这突出了多智能体工作流的核心功能:在单独的特定于语言的工作区中同时运行隔离的测试。
针对您的环境调整并运行以下提示:
I have [C#, Python, Go, Java, Node.js] setup locally.
Run the unit tests for services in these languages
in parallel subagents and report back in a clean markdown
on their pass/fail status.
您应该会看到多个智能体在每种语言中运行测试。请务必审核每个子智能体,因为它们会请求运行工具的权限,如下所示:

所有子智能体完成后,您应该会收到一份关于单元测试的精美报告,类似于以下内容:

5. 规划审核
方案
在复杂的工作流中,如果不制定计划就启动代码更改,可能会导致冲突。我们希望建立一个结构化、透明的蓝图,说明我们打算审核的内容。您将要求协调器智能体设计一个审核计划,其中包含代码质量检查、异常处理、查询卫生检查等。
为了确保人工监督(人工参与),协调器会将计划写入工件,并立即暂停以供您审核。
请尝试使用以下提示来制定审核计划:
We want to audit these microservices for code quality,
exception handling and database query formatting standards
for the languages I have set up locally. Design an audit plan
detailing what you will check and save it as an Audit Plan artifact.
Do not execute the audit yet. Stop after writing the plan and wait
for my instructions.
您应该会在聊天中看到“审核计划”工件:

查看
现在,您将检查生成的审核计划,以确保其以正确的文件和标准为目标。(可选)您可以添加自定义约束(例如检查内嵌注释或样式指南),然后再批准继续。
点击生成的审核计划,您应该会看到详细的计划:

可选:如果您希望进行更改,可以向计划添加注释(例如“确保所有公共方法都有完善的文档”),并对其进行迭代,直到您对计划满意为止。
6. 执行审核
执行
审核计划获得批准后,让我们执行审核。协调器智能体将为每个语言堆栈生成独立的并行子智能体。每个智能体都在自己的服务文件夹中同时运行,从而防止文件冲突,同时加快扫描过程。协调器智能体会将发现结果合并到统一的质量信息中心。
以下是接下来要尝试的提示:
Execute the audit plan by spawning the parallel language subagents.
Once they finish scanning, collect their findings into an audit
report artifact, sorted by language and then priority. Include the
file paths, line ranges, snippets, and explanation of why it is a
finding. Stop after writing the report.
您应该会再次看到多个智能体:

请务必观察每个子智能体,并向其授予运行审核所需的权限。最后,您应该会看到“审核报告”工件:

查看
打开审核报告后,您还应该会看到每种语言的详细发现结果。例如,以下是 C# 中 cartservice 的高优先级问题:

查看审核报告的其余部分,了解发现结果。
7. 修正
诊断代码质量问题只完成了一半的工作。现在,我们将使用智能体来解决这些问题。我们可以将重构工作委托给语言范围内的开发者子智能体,而不是手动编写代码,这些子智能体可以重写代码以符合最佳实践。
有多种方法可以尝试此操作:
- 您可以为每种语言生成一个智能体,并让所有智能体一次性修复所有问题。这可能有效,但也可能同时跟踪和审核太多内容。
- 您可以一次为一种语言生成一个智能体,并让其处理该语言的问题。这样更易于管理,但您仍然需要能够信任智能体对多个文件进行多次更改。
- 您可以让一个智能体一次处理一个问题,同时在处理下一个问题之前检查结果。这是一种更保守的方法,但它也能确保您了解每次更改的情况。
我们将采用更保守的方法 3,并使用以下提示:
Select the top high-priority finding in [pick a language, e.g., C#]
and remediate the finding. Show me the code changes once complete.
几秒钟后,您应该会看到智能体处理您所选语言中的最高优先级问题并修复它。
最后,您可能还会获得一个演练 工件,向您展示智能体更改的内容:

可选 :此时,您可以要求智能体更改实现,或者如果您对更改感到满意,可以要求智能体添加新的单元测试来涵盖这些更改。
8. 验证
在软件开发中,只有在修复经过验证后,修复才算完成。在最后一步中,我们可以要求智能体运行测试套件,以确保代码更改没有引入回归,并重新运行审核扫描器以验证问题是否已完全解决。
此步骤展示了规划、扫描、修复和验证的完整自动化反馈循环。
运行以下提示:
Rerun the unit tests for the changed language. If they pass, rerun
the relevant audit agent to check if the finding is resolved. If it
is resolved, mark the issue as resolved in the audit report.
您应该会看到 Test Runner 子智能体启动并运行测试,然后您应该会看到 Auditor 子智能体更新审核报告。最后,您应该会看到审核报告已更新为最新状态:

一个问题解决了!现在,您可以处理其余问题,这次可以采用不那么保守的方法,让智能体在您审核之前完成更多工作。
9. 恭喜
恭喜!您刚刚使用 Antigravity 完成了一个复杂的多语言代码审核和自动修正工作流。
通过利用 Antigravity 的多智能体架构,您不仅实现了静态检查的自动化,还编排了一个自动化的质量保证团队。在专门的语言智能体同时处理特定于语言的问题时,您的协调器智能体编译了一个集中式计划和报告,随后管理了有针对性的代码重构。
重点小结
- 编排的并行性:您了解了如何将审核和测试分发给并行运行的独立子智能体,从而避免线性审核瓶颈。
- Human-in-the-Loop:通过在执行前审核和注释生成的审核计划,您保持了对自主操作的监督。
- 自动修正和验证 :您了解了 AI 智能体不仅可以诊断代码质量差异,还可以重构代码并根据本地测试套件验证自己的更改。