DataWorks AI 助理支持按照团队内部的代码评审规范,对代码评审单进行自动化检查、决策和结果写回。您只需提供团队评审规范,AI 助理即可替代人工完成重复性的代码审查工作。
文档内容较多,可先打开右侧目录了解全文结构。
注意事项
- 已创建 DataWorks AI 助理实例。如未创建,请参见 创建 AI 助理实例。
- 已开启官方 SKILL:
dataworks-governance-scenario。可在 AI 助理实例详情页>SKILL管理页面开启。 - 本示例需要上传文件,建议在 AI 助理实例的 WEB 端对话功能中操作。
DataWorks 管理控制台:https://dataworks.console.aliyun.com/overview
选择模式
AI 自动代码评审支持两种使用模式:
对比项 |
主动发起评审 |
定时自动巡检 |
触发方式 |
用户主动发起 |
定时自动触发 |
执行模式 |
人机协作 |
全自动执行(可变更) |
Critical 违规处理 |
暂停执行,等待人工确认 |
AI 直接驳回 |
适用场景 |
首次使用、调试规范、少量评审 |
日常运营、大量评审单 |
是否需要先沉淀 SKILL |
否(可直接上传规范) |
是(需要先创建 SKILL) |
推荐路径:如果您是首次使用,建议先通过"主动发起评审"验证规范效果,满意后再沉淀为 SKILL 并配置定时巡检。
准备评审规范 → 主动发起评审(验证效果) ↓ 效果满意?→ 沉淀为 SKILL → 配置定时自动巡检
场景与效果
典型应用场景:
- 团队有明确的代码评审规范(如命名规范、分层依赖规范),但人工逐条检查耗时且容易遗漏。
- 代码评审单量大,希望 AI 自动完成初筛,仅将严重违规提交人工确认。
- 希望定时巡检新的评审单,实现"代码提交即评审"。
本示例最终效果:
- 主动发起评审模式:您只需对 AI 助理说"帮我评审 xx 空间的 CR",AI 助理自动完成代码评审:
- 拉取评审单:AI 助理自动读取待您评审的代码评审单。
- 逐条检查:按照团队编码规范对代码进行逐条审查,生成评审结果。
- 自动决策:
- 无 Critical 违规 → AI 助理自动通过评审,并写入评审记录。
- 有 Critical 违规 → AI 助理暂停执行,列出所有违规详情(含规则编号、问题描述、修复建议),等待您逐条确认。
- 人工确认:您根据 AI 助理的建议,回复"确认通过"或"确认驳回",AI 助理随即在 DataWorks 中执行对应操作并写入评审记录。
上传团队代码评审规范 |
AI 获取评审单并进行评审 |
人工确认 Critical 违规 |
|
|
|
- 定时自动巡检模式:配置定时任务后,AI 助理自动扫描待评审单并执行评审,通过巡检报告告知您哪些单子通过、哪些驳回及原因。
在WEB端对话中创建定时任务 |
在IM端确认定时报告 |
|
|
一、环境准备
1.1 准备代码评审规范
- 目标:编写一份结构化的代码评审规范文档,作为 AI 助理的审查依据。
AI 助理的审查能力取决于规范质量。建议包含以下要素: - 规范设计建议:
- 明确严重等级:本示例将规则划分为
Critical(严重违规,建议驳回)和Suggestion(建议优化,可通过但需关注)两个等级。 - 提供检查方法与示例:每条规则需要说明 AI 应该"怎么查"以及"什么是错的",让 AI 有明确的判断依据。
本实例验证所用规则:
本实践使用以下 3 条分层依赖规则进行测试:
# |
规则 |
严重等级 |
检查方法 |
R1 |
ADS 不能直接依赖 ODS |
Critical |
SQL 中 FROM/JOIN 引用 |
R2 |
ADS 之间禁止相互依赖 |
Critical |
SQL 中 FROM/JOIN 引用其他 |
R3 |
ADS 避免直接引用 DWD |
Suggestion |
应优先使用 DWS/DIM 层数据 |
完整的评审规范示例见文末《附录:零售电商团队内部代码审查规范示例》。
本示例验证结果:
节点名 |
是否满足团队代码评审规范 |
规范影响情况 |
预期是否自动评审通过 |
待评审单截图 |
主动发起评审模式实际是否自动评审通过 |
AI评审结果截图 |
AI评审记录 |
地区交易排行分析 |
否 |
Critical:ADS依赖ODS |
否,需要人工确认 |
|
否,已人工确认 |
|
【纯净版 CR(用户自定义规则)】检查规则:零售电商团队内部代码审查规范(11条)。检查结果:发现 1 条 Critical 违规。🔴 R1(Critical):ADS 节点 ads_ec_trd_area_rank 直接引用了 2 张 ODS 表(ods_trade_order、ods_t_area),违反"ADS 不能直接依赖 ODS"规则。修复建议:将 ODS 表替换为 DWS/DWD 层表,确保依赖链路符合 ODS→DWD/DIM→DWS→ADS。决策:驳回。 |
消费者购物旅程分析日报 |
否 |
Suggestion:ADS依赖DWD |
是 |
|
是 |
|
【纯净版 CR(用户自定义规则)】检查规则:零售电商团队内部代码审查规范(11条)。检查结果:无 Critical 违规。Suggestion: R3-ADS 直接引用 3 张 DWD 表(dwd_ec_log_search_di, dwd_ec_collect_di, dwd_ec_trd_create_ord_di),建议后续优化为 DWS 层汇总表。决策:通过。 |
品类交易大盘 |
否 |
Critical:ADS依赖ADS |
否,需要人工确认 |
|
否,已人工确认 |
|
【纯净版 CR(用户自定义规则)】检查规则:零售电商团队内部代码审查规范(11条)。检查结果:发现 1 条 Critical 违规。🔴 R2(Critical):ADS 节点 ads_ec_trd_category_dashboard 引用了 2 张其他 ADS 表(ads_ec_itm_hot_rank、ads_ec_trd_gmv_kpi),违反"ADS 之间禁止相互依赖"规则。此外使用了 CROSS JOIN,可能导致数据膨胀。修复建议:将依赖下沉到 DWS 层,将 CROSS JOIN 改为带关联条件的 JOIN。决策:驳回。 |
1.2 准备代码评审单
在 DataWorks 控制台进入目标工作空间,开启强制代码评审开关,然后提交代码变更并发起评审。本实践中,评审人设置为 AI 助理的执行身份。
本实践准备了 3 张评审单用于验证:
节点名 |
是否满足规范 |
违反规范的等级 |
预期结果 |
截图 |
地区交易排行分析 |
否 |
Critical:ADS 依赖 ODS |
驳回,需人工确认 |
|
消费者购物旅程分析日报 |
否 |
Suggestion:ADS 依赖 DWD |
通过 |
|
品类交易大盘 |
否 |
Critical:ADS 依赖 ADS |
驳回,需人工确认 |
|
二、主动发起评审(人机协作模式)
此模式下,AI 助理会按团队代码评审规范检查代码评审单,对于 Critical 违规会暂停执行并等待您确认。
预期行为:
节点名 |
是否满足规范 |
违反规范的等级 |
预期是否自动通过 |
地区交易排行分析 |
否 |
Critical:ADS 依赖 ODS |
否,需要人工确认 |
消费者购物旅程分析日报 |
否 |
Suggestion:ADS 依赖 DWD |
是 |
品类交易大盘 |
否 |
Critical:ADS 依赖 ADS |
否,需要人工确认 |
2.1 拉取代码评审单
在 DataWorks 管控台 > AI 助理实例 > 对话,进入 AI 助理 WEB 端对话页。点击左侧对话,在对话框中输入指令
- 本实践指令示例:
查看 959211 空间下有哪些待我评审的代码评审单
- 效果解读:AI 助理返回当前待评审的评审单列表,表示 AI 助理已成功获取评审对象。
2.2 下发代码评审指令
- 目标:向 AI 助理下发评审指令,明确评审依据、通过/驳回条件和人工介入规则。
- 解决的问题:AI 助理需要知道"按什么标准审"以及"审完后怎么处理"。如果不明确通过/驳回条件,AI 可能无法正确执行自动决策;如果不明确人工介入条件,AI 可能对严重违规也直接放行。
在对话框中输入评审指令。指令需要包含三个要素
要素 |
说明 |
本示例值 |
评审依据 |
告诉 AI 按照哪份规范进行检查 |
《零售电商团队内部代码审查规范.md》 |
通过条件 |
满足什么条件时 AI 可以自动通过 |
无 Critical 违规 → 写入评审记录,并自动通过评审 |
驳回条件 |
满足什么条件时 AI 需要暂停并等待人工确认 |
有 Critical 违规 → 暂停执行,不做任何写操作。列出所有 Critical findings(含规则编号、问题描述、修复建议),等待用户逐条确认后再按指示执行通过或驳回,并写入评审记录 |
- 本实践完整指令:
按照《零售电商团队内部代码审查规范.md》进行代码评审,并输出评审结果。
【注意事项】(重要!) 通过/驳回条件:
- 无 Critical 违规 → 写入评审记录,并自动通过评审。
- 有 Critical 违规 → 写入评审记录后,暂停执行。列出所有 Critical findings(含规则编号、问题描述、修复建议),等待我逐条确认后再按我的指示执行通过或驳回。
您也强化指令如:
- 禁止跳过团队规范任何章节(必须全部输出);
- 禁止跳过任何规则(每条都要判定,不适用标"➖")
操作过程截图:
上传团队代码评审规范 |
AI 获取评审单并进行评审 |
人工确认 Critical 违规处置方案 |
|
|
|
效果解读:
- 对于无 Critical 违规的评审单(如"消费者购物旅程分析日报"),AI 助理自动通过并写入评审记录。
- 对于有 Critical 违规的评审单(如"地区交易排行分析""品类交易大盘"),AI 助理暂停执行,列出违规详情,等待用户逐条确认后再执行通过或驳回。
2.3 验证代码评审结果
对比 AI 评审结果与预期结果,确认 AI 助理的评审准确性。如果结果与预期不符,您可以调整规范描述或评审指令。
评审单 |
违规等级 |
预期结果 |
实际结果 |
是否符合预期 |
地区交易排行分析 |
Critical:ADS 依赖 ODS |
驳回,需人工确认 |
驳回,已人工确认 |
✅ |
消费者购物旅程分析日报 |
Suggestion:ADS 依赖 DWD |
通过 |
通过 |
✅ |
品类交易大盘 |
Critical:ADS 依赖 ADS |
驳回,需人工确认 |
驳回,已人工确认 |
✅ |
3 张评审单均符合预期。AI 评审记录可在 DataWorks 代码评审页面查看。
评审详情(以"地区交易排行分析"为例):
项目 |
内容 |
是否满足规范 |
否 |
违规情况 |
Critical:ADS 依赖 ODS |
预期结果 |
不通过,需要人工确认 |
实际结果 |
不通过,已人工确认 |
AI 评审记录:
【纯净版 CR(用户自定义规则)】检查规则:零售电商团队内部代码审查规范(11 条)。检查结果:发现 1 条 Critical 违规。🔴 R1(Critical):ADS 节点 ads_ec_trd_area_rank 直接引用了 2 张 ODS 表(ods_trade_order、ods_t_area),违反"ADS 不能直接依赖 ODS"规则。修复建议:将 ODS 表替换为 DWS/DWD 层表,确保依赖链路符合 ODS→DWD/DIM→DWS→ADS。决策:驳回。
AI助理评审前 |
AI助理评审后 |
|
|
三、将评审流程沉淀为 SKILL
完成一次手动评审后,您可以将整个评审流程沉淀为一个 SKILL(技能),让 AI 助理在后续使用中自动识别评审场景并加载对应的团队规范,无需每次重复上传规范和编写指令。
3.1 创建代码评审 SKILL
- 目标:将评审流程打包为一个名为
dataworks-ai-code-review的 SKILL,供后续复用和分发。 - 操作说明:在 AI 助理对话框中输入以下指令,AI 助理会自动将评审流程整理为 SKILL:
将上述过程复盘整理为一个名为 dataworks-ai-code-review 的 AI 自动代码评审 SKILL,后续当指令要求使用自定义的团队代码评审规范进行代码评审时,均使用该 SKILL。
注意:
- 《零售电商团队内部代码审查规范.md》需要单独维护为一个文档,作为 SKILL 的知识库。
- 创建完成后,检查下 SKILL 是否打包并安装成功
- SKILL 优化建议:
您可以在指令中补充以下要求,提升 SKILL 的执行质量:
- 禁止跳过团队规范任何章节(必须全部输出);
- 禁止跳过任何规则(每条都要判定,不适用的规则标注"➖");
- 报告包含基本信息、代码 Diff、规范逐条检查结果和评审建议。
创建过程截图:
3.2 确认 SKILL 注册情况
如果管控台未显示 SKILL,您可以通过对话让 AI 助理确认安装情况并手动注册,确保可以通过界面可视化启停SKILL
- 本实践指令示例:
将 dataworks-ai-code-review SKILL 注册到管控页。
- 操作过程截图:
注册到管控页 |
管控页查看SKILL |
|
|
效果解读:SKILL 注册成功后,DataWorks 管控台的 SKILL 管理页面中可以看到创建的SKILL,本示例为 dataworks-ai-code-review。
3.3 使用 SKILL 进行评审
沉淀 SKILL 后,您可以通过简单指令触发评审,无需重复上传规范和编写指令:
本实践指令示例:
用
dataworks-ai-code-reviewSKILL帮我评审 959211 空间的 CR。
预期效果:AI 助理会自动加载团队规范、拉取评审单、执行逐条检查并输出评审报告。
四、定时自动巡检(全自动模式)
如果您希望 AI 助理自动巡检新的评审单(而非每次手动触发),可以配置自定义定时巡检任务。
在本实践中,此模式下,AI 助理会全自动执行评审:自动通过合规的评审单,自动驳回违规的评审单,并通过巡检报告告知您结果。
条件:此模式依赖 SKILL,必须先完成第三章"将评审流程沉淀为 SKILL"。
4.1 创建定时巡检任务(WEB端操作)
- 目标:创建一个定时任务,让 AI 助理周期性扫描工作空间中的待评审单并自动执行评审。
- 解决的问题:手动触发评审需要用户每次主动发起指令。配置定时巡检后,AI 助理自动扫描待评审单并执行评审,实现"代码提交即评审"。
- 操作说明:在DataWorks管控台> AI 助理实例>对话进入AI助理WEB端对话页,点击左侧IM,在已经存在的对话中输入创建定时任务的指令。
在IM如钉钉的对话会同步在AI 助理WEB端对话>IM界面。
- 本实践完整指令:
创建一个每 5 分钟执行一次的代码评审巡检任务,自动拉取 959211 空间下待我评审的代码评审单并完成评审,评审结果按照推送模板《ai-code-review-report-template.md》推送到当前窗口。
【注意事项】
• 使用 dataworks-ai-code-review skill,按照零售电商团队规范自动完成评审,无需人工确认。
【通过/驳回条件】(重要!)
• 无 Critical 违规 → 写入评审记录,并自动通过评审。
• 有 Critical 违规 → 写入评审记录,并自动驳回评审。
说明:
- 定时代码评审巡检情况下,如果您希望 Critical 违规需要人工确认,可以在指令说明。
- 定时代码评审巡检报告模板《ai-code-review-report-template.md》示例见文末《附录:定时代码评审巡检报告模板示例》。
在WEB端对话中创建定时任务 |
在IM端确认定时报告 |
|
|
效果解读:配置完成后,AI 助理每 5 分钟扫描一次工作空间 959211。一旦发现指派给您的新评审单,AI 助理自动触发 dataworks-ai-code-review SKILL 完成审查,并将评审报告推送到WEB对话窗口对应IM通道。
附录:本示例指令集合
【指令1】拉取评审单 查看 959211 空间下有哪些待我评审的代码评审单。 【指令2】按要求评审(含人工确认机制) 按照《零售电商团队内部代码审查规范.md》进行代码评审,并输出评审结果。 【注意事项】(重要!) 通过/驳回条件: • 无 Critical 违规 → 写入评审记录,并自动通过评审 • 有 Critical 违规 → 写入评审记录后,暂停执行。列出所有 Critical findings(含规则编号、问题描述、修复建议),等待我逐条确认后再按我的指示执行通过或驳回。 【指令3】创建 SKILL 将上述过程复盘整理为一个名为 dataworks-ai-code-review 的 AI 自动代码评审 SKILL,后续当指令要求使用自定义的团队规范进行代码评审时,均使用该 SKILL。 注意: • 《零售电商团队内部代码审查规范.md》需要单独维护为一个文档,作为 SKILL 的知识库。 • 创建完成后,检查下 SKILL 是否打包并安装成功。 【指令4】注册到控制台 将 dataworks-ai-code-review SKILL 注册到管控页。 【指令5】验证 SKILL 用 dataworks-ai-code-review SKILL 帮我评审 959211 空间的 CR。 【指令6】创建定时代码评审巡检任务 创建一个每 5 分钟执行一次的代码评审巡检任务,自动拉取 959211 空间下待我评审的代码评审单并完成评审,评审结果按照推送模板《ai-code-review-report-template.md》推送到当前窗口。 【注意事项】 • 使用 dataworks-ai-code-review skill,按照零售电商团队规范自动完成评审,无需人工确认。 【通过/驳回条件】(重要!) • 无 Critical 违规 → 写入评审记录,并自动通过评审。 • 有 Critical 违规 → 写入评审记录,并自动驳回评审。
附录:零售电商团队内部代码审查规范示例
# 零售电商团队内部代码审查规范 > 适用于工作空间 959211(零售电商业务域 ec),AI 代码评审时必须检查以下规则。 --- ## 一、建表与命名规范 > 表命名模板(强制) | 分层 | 命名模板 | 示例 | |---|---|---| | ODS | `ods_ec_{业务域}_{源表名}_{刷新周期}` | `ods_ec_trd_trade_order_di` | | ADS | `ads_ec_{数据域}_{集市}_{主题}_{粒度}_{统计周期}` | `ads_ec_ec360_gmv_kpi_overview` | **检查要点**: - 所有表名必须包含 `_ec_`(零售电商业务域标识) - 禁止双下划线 `__` ## 二、数仓分层依赖规范 ### 2.1 合法依赖链路 ODS → DWD → DWS → ADS ODS → DIM → DWD / DWS / ADS ### 2.2 依赖规则 | # | 规则 | 严重等级 | 检查方法 | |---|------|---------|---------| | R1 | **ADS 不能直接依赖 ODS** | Critical | SQL 中 FROM/JOIN 引用 `ods_` 开头的表 | | R2 | **ADS 之间禁止相互依赖** | Critical | SQL 中 FROM/JOIN 引用其他 `ads_` 开头的表 | | R3 | **ADS 避免直接引用 DWD** | Suggestion | 应优先使用 DWS/DIM 层数据 | ## 三、变更合理性规范 > 检查本次代码变更本身的合理性和完整性,不依赖规范文件中的其他章节。 | # | 规则 | 严重等级 | 检查方法 | |---|------|---------|----------| | C2 | **变更说明充分** | Suggestion | requestDesc 过于简略(如"ceshi"、"测试"、"fix")→ 标注⚠️ | | C3 | **DDL 与 DML 不混合** | Suggestion | 同一节点同时包含 DDL(CREATE/ALTER/DROP)和 DML(INSERT/SELECT),建议拆分为独立节点 |
附录:定时代码评审巡检报告模板示例
# AI 代码评审巡检报告 · 推送模板 --- ## 模板示例 ``` ⚠️ AI 代码评审巡检 · 工作空间 {workspaceId} {total} 个待审 CR · {passed} 通过 · {rejected} 驳回 · {ruleSetName} | 节点 | 版本 | 违规 | 决策 | |------|------|------|------| | {nodeName} | {version} | 🚫 {ruleId} · {ruleDesc}({detail}) | ❌ 驳回 | | {nodeName} | {version} | ⚠️ {ruleId} · {ruleDesc}({detail}) | ✅ 通过 | 驳回原因: • {nodeName}:{finding}。{suggestion} 已执行操作:{total} 个 CR 的评审记录已写入 DataStudio,状态均已更新。 以上内容由 AI 生成 ``` --- ## 完整示例 ``` ⚠️ AI 代码评审巡检 · 工作空间 959211 2 个待审 CR · 0 通过 · 2 驳回 · 零售电商团队规范 | 节点 | 版本 | 违规 | 决策 | |------|------|------|------| | 地区交易排行分析 | v29 | 🚫 R1 · ADS 直接依赖 ODS(ods_trade_order、ods_t_area) | ❌ 驳回 | | 品类交易大盘 | v19 | 🚫 R2 · ADS 之间相互依赖(ads_ec_trd_gmv_kpi、ads_ec_itm_hot_rank) | ❌ 驳回 | | 消费者购物旅程分析日报 | v19 | ⚠️ R3 · ADS 引用 DWD(Suggestion 级别) | ✅ 通过 | 驳回原因: • 地区交易排行分析:SQL 直接写入 ADS 表但数据源来自 ODS 层的 ods_trade_order 和 ods_t_area,跳过 DWD/DWS 层,违反 R1 命名与分层规范。建议补充中间层逻辑后再提交 • 品类交易大盘:新节点 JOIN 了两张 ADS 表(GMV KPI 表 + 热销商品榜),违反 R2 ADS 禁止相互依赖规则,建议将共用逻辑下沉至 DWS 层后重新提交 • 消费者购物旅程分析日报:引用了 3 张 DWD 明细表,建议后续优化为 DWS 层汇总表 已执行操作:3 个 CR 的评审记录已写入 DataStudio,状态均已更新。 以上内容由 AI 生成 ```
加入官方交流群
您需要先单击申请链接加入"阿里云大数据AI平台"组织,再扫描下方二维码加入AI助理服务产品钉钉交流群,加入后,即可获得专属产品技术支持!
钉钉群号: 149605034971
钉钉群二维码: