SAP 官方深坑合集:把 CAP 服务接进 Joule Studio 的四步完整链路
素材来源SAP Community 官方博客《SAP Generative AI Hub: Extending Joule with Custom Skills and AI Agents》Part 6/6原文链接https://community.sap.com/t5/artificial-intelligence-blogs-posts/sap-generative-ai-hub-extending-joule-with-custom-skills-amp-ai-agents-part/ba-p/14354559这是 SAP 官方「Generative AI Hub 扩展 Joule」系列的收官篇也是坑最密的一篇。前面五篇把 CAP 服务、HANA Vector、AI Core 都搭好了这一篇要把它们接进 Joule Studio——而 SAP 社区里 90% 的Joule Studio 连不上后端类问题根因都出在这一步。原文难得地把失败场景的排查方法也写进去了本文按 STEP 1-4 完整拆解并把原文标注的高频故障点单独拎出来。零、先理解整体链路CAP 服务部署在 CF暴露 OData action ↓ BTP Destination必须带 3 个额外属性 SAP Build / Joule Studio 能看到它 ↓ Action Project把 OData action 声明为 Joule 可调用的动作 ↓ Release Publish to Library Joule Skill Builder / Agent Builder 里可选 ↓ Joule Skill意图触发→ 调用 Action → 返回结构化结果每一个箭头都是一个可能断掉的地方下面逐个说。STEP 1Booster 与 Joule Studio 激活1.1 跑 “Setting Up Joule” Booster路径BTP Global Account → Boosters → 搜索 Setting Up Joule → 选择 Joule (das-application) plan → 选择你的 subaccount → Capability Packages 下拉选 SAP Build Process Automation → 确认 Formation Name 与 Build Process Automation 系统实例 → 执行 Booster确认出现成功提示原文给了一句分量很重的警告Without the Booster completing successfully, Joule Studio deployments will fail with Tenant Administration errors.1.2 Booster 失败怎么处理原文重点If the Joule Booster fails partway through, do not retry immediately. Check BTP → System Landscape → Formations to see if a partial Joule formation was created. Delete it before re-running the Booster — orphaned formations are the most common cause of repeated Booster failures.这段务必记住Booster 中途失败时不要立刻点重试。先去BTP → System Landscape → Formations看有没有产生半截的 formation有的话先删掉再重跑。孤儿 formation 是 Booster 反复失败的头号原因。这个坑很隐蔽因为重试时你看到的错误信息跟第一次一模一样很容易误判为网络问题再试一次结果越试越糟。1.3 激活 Joule Studio Capability PackageSAP Build Lobby → Settings → Joule Studio → Activate the Joule Studio capability package验证标准原文确认Skill Builder和Agent Builder两个 tile 出现在 SAP Build Lobby 里。没出现就是没激活成功。STEP 2BTP Destination 配置最容易漏的一步2.1 创建 DestinationBTP Cockpit → 你的 Joule subaccount → Connectivity → Destinations → New Destination配置项值原文示例NameAI_SAP_KNOWLEDGE_SERVICETypeHTTPURLhttps://ai-sap-service-srv.cfapps.region.hana.ondemand.comAuthenticationOAuth2ClientCredentialsClient ID / Client Secret你的 CAP 服务凭据Token Service URLhttps://tenant.authentication.region.hana.ondemand.com/oauth/token2.2 三个必填的 Additional Properties原文强调sap.processautomation.enabled true HTML5.DynamicDestination true WebIDEEnabled true原文对第一个属性的说明值得全文引用Thesap.processautomation.enabled trueproperty is the most commonly missed configuration step. Destinations without this property do not appear in the Joule Studio destination browser, and there is no error message — the destination is simply absent from the list.这是整篇最值钱的一句话。漏了这个属性Destination 在 Joule Studio 里静默消失——不报错、不告警、日志里也查不到你只会看到列表里没有它。排查建议原文遇到连通性问题时先确认这个属性在不在再去查别的。2.3 在 SAP Build Control Tower 注册SAP Build Lobby → Control Tower → Destinations → Open in BTP Cockpit确认 destination 在列表里 → Control Tower → Environments → 创建/选择部署环境 → 添加 destination AI_SAP_KNOWLEDGE_SERVICE → Check Connection必须看到绿色对勾才继续STEP 3Action Project —— 把 CAP 端点暴露给 JouleActions are the bridge between destinations and Joule Skills.3.1 创建 Action ProjectSAP Build Lobby → Connectors → Actions → Create → Choose an API Source → 选 SAP Cloud Application Programming Model → Browse OData Destinations → 选 AI_SAP_KNOWLEDGE_SERVICE → 命名如 AI Knowledge Service Actions 描述 → Create3.2 配置两个 Action原文示例①searchMasterData项目内容端点POST searchMasterDataInputquery(String)、maxResults(Integer)OutputmaterialNumber、description、similarity、aiSummary②askKnowledgeBase项目内容端点POST askKnowledgeBaseInputquestion(String)、category(String, 可选)Outputanswer、sources数组、modelUsed两个动作都要走Test 页签验证→ Save → Release →Publish to Library。3.3 又一个高频坑原文Both actions must be Published to Library before they are visible in the Joule Skill Builder. Released but unpublished actions do not appear in the Browse All Actions dialog. If your actions are missing from the skill builder, check their publication status inConnectors → Actions.Release ≠ Publish。只 Release 没 PublishAction 在 Skill Builder 的 “Browse All Actions” 里照样看不见。Action 找不到时第一件事是去Connectors → Actions查发布状态。STEP 4构建 Joule SkillJoule Skills are structured, deterministic capabilities — when Joule identifies a user intent that matches a skill’s description, it triggers that skill and calls the configured action.4.1 Skill 与 Agent 怎么选原文的定位Skills are ideal for focused, single-purpose tasks where the response structure is predictable.维度SkillAgent触发方式意图匹配确定性自主规划多轮推理适用场景单一目的、返回结构可预期复杂、需要多步拆解可控性高相对较低成本低高选型原则能用 Skill 解决的别上 Agent。查主数据、查知识库这类输入明确 → 调一次接口 → 返回结构化结果的需求Skill 完全够用而且行为可预期、成本低、好测试。4.2 Description 是最重要的字段原文强调The skill description is the most important field in the entire skill definition. Joule uses it to decide when to trigger this skill versus other skills or agents. A vague description produces inconsistent triggering. A precise description produces reliable triggering.没有之一原文写的是 “the most important field in the entire skill definition”。写 Description 的实操建议写清楚触发条件用户会怎么问写清楚不触发的情况减少误匹配带上领域词帮助 Joule 跟其他 Skill 区分必要时加显式激活短语如/CustomAgent做兜底。五、整条链路的故障排查清单按原文整理按从后往前排能省下大量时间现象首先查什么Action 在 Skill Builder 里找不到Connectors → Actions里的Publish状态Destination 在 Joule Studio 里不显示sap.processautomation.enabled true是否设置Joule Studio 部署报 Tenant Administration 错误Booster 是否成功完成Booster 反复失败System Landscape → Formations里的孤儿 formationSkill Builder / Agent Builder tile 不出现Joule Studio capability package 是否激活Check Connection 失败OAuth2ClientCredentials 的 Token Service URL 与凭据六、落地补充我的三点建议把 Destination 的三个属性做成模板。这类不报错但静默失效的配置靠人肉记忆一定会漏。建议在团队里固化一份 destination JSON 模板新建时直接改。Action 的 Output 字段要克制。原文示例的 output 字段都是精选过的similarity、aiSummary 这类。如果把整个业务对象的几十个字段全暴露出来Skill 的回复质量会下降token 成本也会上升。只暴露 Joule 需要的字段。给每个 Action 建回归用例。Action Project 的 Test 页签不只是配置时能用——后端 CAP 服务升级后应该回来跑一遍回归确认输入输出契约没被打破。这类契约断裂在集成场景里是最常见的生产事故。七、一句话总结这一篇提供的是Joule Studio 与外部后端集成的官方标准路径也是故障率最高的一段Booster环境→ Destination连接注意 3 个属性→ Action Project契约→ Skill意图三个必须刻在脑子里的点Booster 失败先删孤儿 formation再重试sap.processautomation.enabled true漏了会静默失效Action 必须Publish to Library只 Release 不够。参考链接原文Part 6/6https://community.sap.com/t5/artificial-intelligence-blogs-posts/sap-generative-ai-hub-extending-joule-with-custom-skills-amp-ai-agents-part/ba-p/14354559SAP Build Lobbyhttps://community.sap.com/SAP AI Core 文档https://help.sap.com/docs/sap-ai-core

相关新闻

3个实战案例拆解:怎么做卖花的网站才不被坑

3个实战案例拆解:怎么做卖花的网站才不被坑

3个实战案例拆解:怎么做卖花的网站才不被坑 找建站公司,最怕的就是报价单上写着“全包”,签完合同才发现服务器、域名、SSL证书全是加钱项。做过几个花店电商项目的实战案例后,我发现很多老板在起步阶段就掉进了信息差的大坑。今天不聊虚的,直接拆解怎么做卖花的网站,从需求梳理到最终上线,把每一分钱花在哪说得…

2026/9/18 20:33:19 阅读更多 →
Redis Cluster三主三从集群部署实战:Docker环境下的高可用架构

Redis Cluster三主三从集群部署实战:Docker环境下的高可用架构

1. 为什么是三台机器、三主三从:集群规模的起点不是拍脑袋在开始动手之前,得先说清楚一个很多人没想明白的问题:Redis Cluster 明明单机也能跑,为什么标准起步配置往往是三台机器、三主三从?这不是网上教程随便抄出来的…

2026/9/18 20:32:24 阅读更多 →
NocoBase 模板打印日期格式化器完全指南:formatD / addD / diffD 等 8 个日期格式化器实战详解

NocoBase 模板打印日期格式化器完全指南:formatD / addD / diffD 等 8 个日期格式化器实战详解

NocoBase 模板打印日期格式化器完全指南:formatD / addD / diffD 等 8 个日期格式化器实战详解 【免费下载链接】nocobase NocoBase is an open-source AI no-code platform for building business systems fast. Instead of generating everything from scratch, …

2026/9/18 20:32:24 阅读更多 →

最新新闻

ascend-transformer-boost 中 Unpad 算子的源码路径导航与实现原理

ascend-transformer-boost 中 Unpad 算子的源码路径导航与实现原理

ascend-transformer-boost 中 Unpad 算子的源码路径导航与实现原理 【免费下载链接】ascend-transformer-boost 本项目是CANN提供的是一款高效、可靠的Transformer加速库,基于华为Ascend AI处理器,提供Transformer定制化场景的高性能融合算子。 项目地…

2026/9/18 21:20:46 阅读更多 →
ValidX校验库集成指南:Maven与Gradle完整配置与排错技巧

ValidX校验库集成指南:Maven与Gradle完整配置与排错技巧

做Java后端和Android开发的同学,最近多多少少应该都听过ValidX这个校验库。它和传统的JSR-303(javax.validation)用法完全不是一回事,不依赖一堆注解在实体类上东标西注,而是把校验逻辑收敛到链式API里,代码…

2026/9/18 21:20:46 阅读更多 →
工业旧上位机零停机接入声光语音终端的TCP字节帧桥接方案

工业旧上位机零停机接入声光语音终端的TCP字节帧桥接方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/18 21:20:46 阅读更多 →
嵌入式PID参数整定实战:从临界振荡到波形判据的四步法

嵌入式PID参数整定实战:从临界振荡到波形判据的四步法

简介:本资源是一份面向自动化控制、工业仪表及过程控制领域初学者与工程实践者的PID参数整定系统性学习资料,聚焦解决实际项目中控制器调试难、响应不稳、超调过大等典型问题。文件为单个PDF文档(493KB),内容结构清晰、…

2026/9/18 21:20:46 阅读更多 →
量子疤痕态与协同本体论:量子混沌系统的特殊现象

量子疤痕态与协同本体论:量子混沌系统的特殊现象

1. 量子疤痕态:一个令人着迷的物理现象量子疤痕态(Quantum Scarred States)是量子混沌系统中一种特殊的本征态,表现为经典不稳定周期轨道在量子波函数中的"痕迹"。这种现象最早由Heller在1984年研究体育场量子台球问题时…

2026/9/18 21:20:46 阅读更多 →
图像分辨率本质:PPI/DPI/PPCM与场景适配指南

图像分辨率本质:PPI/DPI/PPCM与场景适配指南

1. 图像分辨率到底在说什么:不是像素越多越好,而是“匹配场景”才对你打开手机相册,随手点开一张照片,右上角弹出“57603240”,再点开微信里朋友发来的截图,显示“10801920”——这两个数字看起来差不多&am…

2026/9/18 21:19:45 阅读更多 →

日新闻

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

Matlab手写逻辑回归:从数学原理到多变量概率预测模型实现

很多朋友第一次看到"逻辑回归"这四个字,第一反应就是——这玩意儿是个回归模型吧?我当年也是在Matlab里跑完一段代码,看着输出的0.73、0.86这种概率值,才回过神来:这家伙其实是披着回归外衣的分类神器&#…

2026/9/18 0:00:28 阅读更多 →
高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

高值医用耗材研报PDF:用Python完成字段抽取、清洗与趋势预测

简介:这份报告是2023-2028年高值医用耗材行业调研及发展前景趋势预测报告,面向医疗器械企业管理者、投资机构、行业研究人员及关注政策变化的从业者,用于把握行业监管动向、市场格局与未来趋势。报告以PDF格式呈现,共1个文件、整体…

2026/9/18 0:00:28 阅读更多 →
三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

三维高斯场赋能世界模型:几何语义蒸馏与机器人决策实战

先把我自己的背景交代一下:我之前在搞具身智能和机器人导航相关的项目,很长一段时间里都被“环境表示”这件事卡着。传统做法是用点云或者网格做几何建模,语义信息另外再跑分割模型,两套东西各管各的,时间一长就会发现…

2026/9/18 0:00:28 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/16 19:03:19 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/17 7:57:36 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/17 10:19:14 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/15 21:39:18 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →