Agentforce Vibes — AI 驱动的代码排查与重构搭档

RPG 主题实操项目:启用 Agentforce Vibes IDE、配置 Plan/Act 模式、检索 Adventure Tools 源代码,然后用自然语言指挥 Agentforce 格式化 Apex(Prettier)、诊断并修复 DiceRollService 的 undefined sum Bug(分屏审查+接受/拒绝)、SFDX 部署修复,最后重构 diceRoller LWC 移除已弃用的 @track 装饰器为现代响应模式。...

📅 2025/12/12 ✍️ ponybai 🏷️ agentforce, salesforce, developer

一、创建开发环境

欢迎来到 Quick Start: Troubleshoot Code with Agentforce Vibes。本项目以 RPG 冒险为主题,介绍 Agentforce Vibes——VS Code 和基于 Web 的 IDE 中的 AI 驱动扩展,让您能用自然语言生成 Apex、获取内联代码建议、排查 Bug。

Agentforce Vibes — 您的 AI 编程搭档

Agentforce Vibes 的核心能力:从自然语言描述生成 Apex 代码、在 Apex 和 LWC 中提供内联代码建议、快速创建单元测试达成覆盖率目标、帮助代码生成和文档编写、内联自动补全加速开发。在本项目中,您将用 Agentforce 修复 Apex 控制器、更新 LWC 对齐现代最佳实践、学习 Agentic Chat 和工具执行如何简化开发。

⚠️ 注意:Agentforce 由 AI 驱动——它并非完美。请始终仔细审查输出,运用自己的判断力,并在依赖解决方案之前进行测试。

二、设置开发环境

启用并配置 Agentforce Vibes IDE

  1. Playground → Setup 齿轮 → Agentforce Vibes → 接受条款 → 等待加载(首次启动运行设置过程)
  2. 点击 Activity Bar 中的 Agentforce 图标 → 勾选同意 → Enable & Start Building

🔹 Plan Mode vs Act Mode

Plan Mode:对话式的、代码安全空间——用于探索需求、评估架构、定义实施方案。不修改任何代码。

Act Mode(本项目使用):Agentforce 拥有完整访问权限——编写代码、部署元数据、运行测试、执行计划。切换为 Act,取消勾选 "Edit project files" 的自动批准(手动批准更改)。

测试基本功能:Prompt: List all Lightning Web Components in my local project and in this repository. → 应报告未找到 LWC(此阶段符合预期)。

三、使用 Agentforce 修复应用

Agentforce 冒险工具 — 任务开始

Quick Dice Roller 应用让冒险者掷骰子、添加修正值、检测暴击(天然 20!)。底层架构:Apex 控制器(DiceRollService)+ LWC(diceRoller)

Bug 现象:最近代码更新后骰子应用损坏——Toast 显示骰子已保存,但总和显示为 UNDEFINED、数值格式不正确、最终总和未计算或显示。

🔹 检索源代码

  1. 创建 manifest/package.xml(如缺失)
  2. Prompt: Please retrieve the source from my default org based on the manifest file
  3. 验证 force-app/main/default/classes/DiceRollServicelwc/diceRoller 目录存在

格式化代码并修复 Bug

🔹 格式化 Apex 代码

Prompt: Please format the DiceRollService class using prettier-plugin-apex. If the plugin is not installed, install it using npm and then use the npx prettier --write command. → Agentforce 安装 Prettier(如需)并格式化 → 审查更改 → Save。

🔹 修复 Bug

描述问题(总和显示 undefined、格式错误、最终总和不计算)→ Agentforce 分析 DiceRollService.cls → 在分屏视图中提出修改建议 → 仔细审查建议 → 如果准确则 Accept + Save,否则 Reject 让 Agentforce 重试。

🔹 部署并测试

Prompt: Deploy the DiceRollService.cls class to my default org → 批准 SFDX 部署命令 → 刷新 Adventure Tools 页面 → 添加修正值、掷骰子 → 验证总和正确显示、暴击标记、结果保存到 Dice Rolls 对象。胜利!骰子应用已恢复。

重构 LWC — 用现代模式替换 @track

在现代 LWC 中,字段默认是响应式的——@track 仅在需要追踪对象属性或数组元素的深度变化时才需要。您发现 tileResults 变量使用了不必要的 @track 装饰器。

  1. 打开 diceRoller.js → Prompt Agentforce 描述移除 @track 并使用现代响应模式
  2. Agentforce 在分屏视图中提出更改 → Review → Accept → Save
  3. Deploy: Deploy the diceRoller LWC to my default org → 重测 Quick Dice Roller

Agentforce 就像在冒险中召唤了一位乐于助人的巫师——有时手动运行命令更快,但使用 Agentforce 帮您学习技巧、发现隐藏的知识。您与它合作得越多,它的代码技艺就越强大!

资源


文章来源:Trailhead - Quick Start: Troubleshoot Code with Agentforce Vibes