携程数据工程面试:Agent ETL、数据口径与 Skill
本场面试题
- Agent 自动生成 ETL 链路,底层架构怎样组织?
- 怎样校验 Agent 调用的表和指标口径,定义模糊时怎么办?
- 怎样理解 Skill,怎样编写才有助于 Agent 完成任务?
面经与参考答法
携程数据工程面试:Agent ETL、数据口径与 Skill
作者自述参加携程数据仓库方向面试,开场问句称岗位为数据工程师;部门与轮次未披露。原文记为9月11日,没有注明年份。本页选取三组 Agent 应用工程问题。
以下经历未经独立核验。短答与例子由编辑补充,用于学习,不代表作者的现场作答或原项目实现。
(1)Agent 自动生成 ETL 链路,底层架构怎样组织?
先明确输入、目标数据和业务不变量,把读取元数据、生成候选转换、执行验证、发布分开。Agent 在受限范围内做语义规划或生成,工作流负责依赖、权限、重试和验收;保存数据、代码与决策版本,失败能定位并从安全边界恢复。框架名称本身不能证明链路可信。
教学示例(非原面试实现):候选转换先在隔离样本上运行,核对主键、行数和关键指标,再按发布规则提交;验证失败时返回诊断并限制修复次数,不允许 Agent 自行删掉质量门禁。
(2)怎样校验 Agent 调用的表和指标口径,定义模糊时怎么办?
先把字段含义、数据粒度、主键、过滤条件、时间口径与版本写成可审阅的数据契约,再记录实际选表、字段和转换逻辑,用经确认的样本与基线对账。结构合法不能证明业务语义正确;定义不清时由数据负责人和业务方澄清并留存版本,不能让模型自行补全口径。
教学示例(非原面试实现):“订单金额”需要先确认币种、元或分、是否扣除退款,以及按支付时间还是下单时间统计。表名相似或 SQL 能运行,都不能证明这些定义一致。
(3)怎样理解 Skill,怎样编写才有助于 Agent 完成任务?
Skill 将一类任务的做法与所需资源组织成可复用单元。写清适用与不适用场景、输入、步骤、工具边界、输出和验收条件,重资料按需读取;固定版本,用未参与编写的案例检查触发和执行效果。具体宿主格式各异,文字说明也不能授予应用尚未允许的数据库权限。
教学示例(非原面试实现):一份数据核验 Skill 可要求先读表结构、列出未确认口径、生成核验计划,再检查结果;缺定义时应停止并澄清,而非输出看似完整的指标结论。
原文还涉及 AI 脚本验收、Agent 测试、对账和数仓质量,本页未穷举。手写 SQL 仅记为 Top 10,缺少表结构与任务条件,不补写题目;也不推断实际 Agent 框架、模型、表结构或测试成绩。