当前位置: 首页 > news >正文

Agentforce Prompt Builder 程序化访问与批处理指南

程序化访问 Prompt Template

Prompt Builder 让你创建和管理能整合 CRM 数据的提示模板(merge fields、flows、related lists、Apex)。有三种程序化访问方式:

方式适用场景关键接口
Connect REST API外部 Web 应用集成Prompt Template Generations Resource。请求:指定模板 + 输入参数。响应:生成文本 + 引用(citations)
Connect in Apex组织内 Apex 代码集成ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate()。传入开发者名称 + 输入参数,获取生成文本和可选引用(citationMode: 'post_generation'
Invocable Actions平台级集成(Flow Builder 等)Generate Prompt Response Invocable Action。从 Flow Builder、Process Builder 或其他可调用上下文中调用

跨组织部署:使用 Metadata API 的 GenAiPromptTemplate(模板定义)和 GenAiPromptTemplateActv(激活状态)在 Sandbox 和 Production 组织之间部署。

Prompt Template 批处理(Batch Processing)

使用AiJobRunAiJobRunItem对象异步生成大规模响应。典型用例:夜间总结 Case 积压、批量内容生成、批量翻译、大规模记录充实。

三步批处理模式

步骤 1 — 创建 AiJobRun:

AiJobRun jobRun = new AiJobRun( JobType = 'PromptTemplate', Target = 'Summarize_Case', // DeveloperName 推荐用于跨组织可移植性 Status = 'New' ); insert as user jobRun;

步骤 2 — 创建 AiJobRunItem 记录(每个输入记录一条):

Map<String, Object> payload = new Map<String, Object>{ 'Input:Case' => new Map<String, Object>{ 'id' => c.Id } }; items.add(new AiJobRunItem( AiJobRunId = jobRun.Id, Status = 'Ready', Input = JSON.serialize(payload) )); insert as user items; // Input 格式: {"Input:Case":{"id":"<CaseId>"}} // Response 格式: {"promptResponse":"<LLM text>"}

步骤 3 — 翻转为 ReadyToStart:

jobRun.Status = 'ReadyToStart'; update as user jobRun; // 此后不可更改(不可变性规则生效)

关键约束

约束说明
不可变性一旦进入 InProgress,AiJobRunId/Input 字段不可更改,不能删除
状态变更InProgress、Completed、Failed —— 用户无法更改
速率限制标准:1,000 条/AiJobRun;原生批处理模型:10,000 条/AiJobRun;Apex:最多 5 个 AiJobRun/24 小时
处理顺序多个 ReadyToStart 作业按 CreatedDate 排列;如秒级内更新,精确顺序不保证

作业监控和平台事件

使用AiJobRunStatusEvent平台事件监控作业完成状态。事件在每个状态转换时触发:InProgress → Completed → Failed。

事件 Schema

AiJobRunIdentifier(父 Id)、StatusJobTypeTarget

Trigger — 过滤 Completed 事件

trigger AiJobRunStatusEventTrigger on AiJobRunStatusEvent (after insert) { Set<Id> completedJobRunIds = new Set<Id>(); for (AiJobRunStatusEvent e : Trigger.new) { if (e.Status == 'Completed' && String.isNotBlank(e.AiJobRunIdentifier)) { completedJobRunIds.add((Id) e.AiJobRunIdentifier); } } // 调用 Handler }

Handler — 处理已完成项目

  1. 查询 AiJobRunItem WHERE AiJobRunId IN :completedJobRunIds AND Status = 'Completed'
  2. 提取 Input JSON → 解析 caseId:{"Input:Case":{"id":"<CaseId>"}}
  3. 提取 Response JSON → 解包 promptText:{"promptResponse":"<LLM text>"}
  4. 将结果写回(如作为 CaseComment)

生产环境注意事项

  • 去重:平台事件可能被重新投递 —— 按 AiJobRunId + ParentId 去重
  • 失败处理:项目可能以 Status='Failed' 结束 —— 与成功记录一起查询
  • 异步写回:对接近 10,000 条的限制,将写回操作转移到 Database.Batchable 或 Queueable
  • 异常处理:始终捕获异常 —— 未捕获异常会导致事件批次失败;9 次重试后平台会禁用订阅

完整模式

  1. 创建 AiJobRun (New) → 2. 创建 AiJobRunItem 列表 (Ready) → 3. 更新为 ReadyToStart
  2. 订阅 AiJobRunStatusEvent (Completed) → 5. 处理结果:解析 Input 获取源记录 Id → 解析 Response 获取 LLM 文本 → 写回

Prompt Builder 从单个模板调用到数千条记录的批量处理,为你提供了强大、受管控的方式将生成式 AI 整合到 Salesforce 工作流中。

发布来源:Agentforce Prompt Builder 程序化访问与批处理指南 | Salesforce CRM 中文站

http://www.jsqmd.com/news/1221784/

相关文章:

  • 蜀山区婚钻闲置变现避坑指南,2026 易奢福合肥无损检测不拆石 - 奢侈品回收实体店
  • 免费开源!Win11Debloat:一键清理Windows系统的终极指南
  • C++构建高性能客服质检与话术推荐系统:架构、核心模块与工程实践
  • Android App Bundle技术解析与优化实践
  • 编写程序记录每次不敢提出想法的场景,设定小额试错机制,循环渐进克服表达顾虑。
  • Unity 2D CinemachineConfiner2D失效全解析:从原理到实战解决方案
  • UE VR双目立体天空盒:原理、实现与性能优化实战
  • 《我的世界》服务器危险维度生存指南:从集体沦陷到安全回归
  • 长沙芙蓉区高价回收旧手表行情,2026 专业鉴定机构易奢福报价公道 - 肉松卷
  • 机器学习生产化:从模型部署到系统级可靠性工程
  • Burp Suite实战:Web安全测试入门与CSRF漏洞检测
  • KMP 全栈开发:从 Android 到 AI Agent(二) KMP全栈进阶:端侧离线Gemini Nano AI Agent工程实战(脱离云端API)
  • 2016年Android开发工具链与架构演进深度解析
  • Vue3渐进式框架实战与核心原理解析
  • 前端水印技术实现与防护方案详解
  • Android 10.0 UI开发环境搭建与实战指南
  • 游广州:大佛寺,六榕寺,光孝寺
  • 金融AI落地:在技术债废墟上构建可解释、可运维的机器学习系统
  • 【Bug已解决】Subagent 活动在主线程列表不可见 解决方案
  • 2026 年更新:温州正规的运输小轿车批发厂家深度解析与优选指南,别再租车了!揭秘高效运输的秘密 - 行业推荐官【官方】
  • React Native实战:电商App性能优化与测试全攻略
  • Android高级工程师面试核心要点与系统设计解析
  • 高效简历写作:一分钟搞定技术岗位的精准信息传递
  • AI生成YouTube视频效果翻车?揭秘Top 3模型真实渲染精度对比:Whisper+Pika+Sora实测帧率与版权风险预警
  • 上海杨浦区电路维修哪家好?2026 年四家服务商深度对比 - 匠心24小时快修
  • 破除黄金回收行业潜规则:郑州合规门店统一执行大盘计价,无任何附加扣费 - 生活商业速报
  • TI GPMC与16位NAND Flash交互:硬件ECC、时序与驱动配置全解析
  • SpringBoot+Vue超市管理系统实战:前后端分离架构与业务设计
  • 漫水填充算法
  • 高速USB OTG控制器架构解析:从协议原理到SoC集成与调试实践