AI助手:淘宝交易研发效率提升50%
在如今这个互联网节奏下,交易系统的复杂度和要求之高,给研发团队带来的挑战几乎是前所未有的。从排查一个问题要翻半天日志,到构造一条测试数据得手动点几十个页面,再到老员工一走,经验就像被黑洞吸走一样……这些环节,随便拎出一个,都可能是研发效率的“隐形杀手”。
这篇文章不聊虚的,就来聊聊如何借助AI技术,特别是AI Agent,来逐一破解这些难题。结合一些实际的案例和落地实践,下面会看到,AI Agent在问题排查、测试数据生成、知识传承这些事儿上,是怎么从一个“尝试”变成工程师手里实实在在的“神队友”的。
背景:交易链路上的“三座大山”
下单,作为交易业务的心脏,其系统复杂程度堪称“千层饼”,对稳定性和效率的要求更是高得离谱。交易链路本身就长,涉及的系统多,数据量又极其庞大,这给做研发的同学带来了实打实的困扰。日常研发中,下面这几个痛点,想必不少人都有共鸣:
1. 问题排查像“挤牙膏”,效率低到怀疑人生。
2. 测试数据构造的“造数魔咒”。
3. 团队经验的“黑洞效应”。
想解决的问题:我们要把效率提上去
面对这些让人“头大”的问题,自然想到用AI技术来破局,目标非常明确:
1. 问题排查不再“挤牙膏”。
2. 测试数据构造不再是“修行”。
3. 打破团队经验的“黑洞效应”。
交易AI-lab的“效率革命”
为了实现这些目标,启动了交易AI-lab项目,目前已经取得了阶段性的成果。
1. 交易AI诊断:让问题排查不再“令人发指”。
2. 交易数据构造:摆脱手工造数的“苦海”。
怎么做到:AI Agent究竟有何神通?
什么是AI Agent?
简单说,AI Agent就是一个能感知环境、进行决策并执行动作的自主程序。它能理解用户的意图,并根据预设的目标和策略,独立完成一系列任务。在这次实践里,基于ideaLAB平台提供的大模型统一SDK、工具调用、向量知识库、上下文管理等技术,搭建了具备理解、推理、规划和学习能力的Agent。
AI Agent特性
搞清楚它适合干什么、不适合干什么,很重要。
适合干的:
- 像日志分析、数据清洗、代码审查、测试数据生成这些。Agent可以不知疲倦地执行,把工程师的生产力解放出来。
自动化的重复任务:
- 比如,根据历史数据预测系统性能瓶颈、提供优化建议;根据用户行为推荐个性化商品。Agent能辅助工程师做出更明智的决策。
提供智能决策支持:
- 实时监控系统运行状态,出现异常就发出警报;根据用户反馈自动调整推荐策略。Agent能提供及时反馈,帮助工程师快速响应变化。
实时反馈与监控:
不适合干的:
- Agent虽然聪明,但面对需要高精度的计算时,可能会出错。特别是在交易金额计算这种领域,还是得靠人类专家来把关。
高精度的算术活儿:
- 比如代码评审中的代码风格、用户隐私数据的处理。这些需要人类的价值判断,Agent很难做出合适的决策。
需要主观判断和伦理道德的任务:
- 比如在极端网络环境下进行故障诊断,这时候还是得依赖工程师的经验和判断力。
处理高度不确定和复杂的环境:
我们的实践:“弯道超车”的效能提升
在实践中,不断迭代优化AI Agent,让它在不同场景下发挥更大作用。
- 通过构建专业的知识图谱,把交易领域的专家经验沉淀到Agent中,让它能更准确地理解问题,提供更有效的解决方案。同时,根据用户反馈持续迭代,提高诊断准确率。
交易AI诊断:
- 设计了用户友好的交互界面,不管是自然语言还是图形化界面,都能轻松描述测试场景。同时不断优化Agent的prompt,让它能生成更符合业务需求的测试数据。
自动化测试数据构造:
下面以交易AI诊断中的Agent为例,具体聊聊是怎么搭建和实现的。
技术链路
AI-Agent的实现,主要包含输入处理、Agent处理和输出处理三个部分。其中Agent处理可以概括为一个循环处理流程。
1. 输入处理
输入处理阶段负责接收和预处理用户请求。请求来源可以是钉钉群、网页端、API调用等多种渠道,敏感数据可以在这一步先过滤掉。
2. AI Agent处理
这是AI-Agent的核心,负责理解用户意图、规划行动并执行任务。
- 维护对话历史,记录用户之前的输入和Agent的输出,让Agent能理解当前对话的上下文。这对多轮对话至关重要,能帮助Agent提供更连贯的回复。
上下文管理:
- 通过自然语言理解(NLU)技术,分析用户输入,识别用户想干什么,或者想获取什么信息。
意图识别:
- 把复杂任务拆解成多个子任务,并规划好执行顺序。
规划 & 分解任务:
- 根据任务需求,调用合适的工具或API来完成子任务。
工具调用:
- 把工具执行的结果整合起来,生成最终的回复内容,可以是文本、图片、表格等多种形式。
响应生成:
3. 输出处理
输出处理阶段负责把Agent的回复发给用户,并进行必要的处理。
- 对输出内容进行安全检查,防止泄露敏感信息或包含恶意内容。
安全审查:
- 支持将回复内容发送到不同渠道,比如钉钉群、网页端、邮件等。
多通道输出:
- 记录用户输入、Agent处理过程以及输出结果,方便后续分析和改进。
日志记录:
提示词工程
提示词工程(Prompt Engineering)是引导AI-Agent有效工作的关键。
- 提示词就是指导AI-Agent行为的指令,告诉它要做什么、如何做、输出什么。
定义:
- 要清晰明确(避免歧义)、要上下文相关(动态调整)、要目标导向(明确指出任务目标)。
原则:
- 要使用具体示例、提供必要背景信息、设定明确约束条件;不要使用含糊不清的指令、提出无法完成的任务、提供不相关的上下文。
要和不要:
- 要迭代优化(不断尝试并根据输出调整)、做A/B测试(比较不同提示词的效果)、考虑自动化生成(利用自动化工具生成和优化)。
最佳实践:
交易AI诊断的提示词
# Role: 日志数据分析&问题诊断助手
# Profile:
- author: 淘天业务技术团队
- version: 0.1
- description: 专业辅助用户进行业务日志分析和问题诊断的智能助手。
## Goals:
- 基于用户提出的问题,识别用户意图,并路由到对应工具
- 提取必要参数并拼接,将参数作为工具的入参,调用工具查询日志。
- 分析日志结果并展示给用户,确保以对用户友好且易理解的方式解释诊断结果。
## Constraints:
- 如果需要调用工具/执行function_call,你需要提取并返回响应中的 function_call 部分,并且一次仅提供当前步骤的信息,其他步骤将在随后的请求中提取。
- 在调用相关API工具后,你需要解释结果,用markdown加粗标记重点以清晰的语言表述给用户。
- 对于同一个问题,用户可以重复问多次
## Skills:
- 消费券不可用性诊断:下单时消费券不可用或者没有透出的诊断
- 用户下单失败诊断:分析用户下单失败,无法下单的原因。
- 顺手买一件诊断:分析顺手买一件业务不生效、不展示、以及详细处理过程
- 微信支付诊断:分析下单页微信支付不生效、不展示等问题
注意:如果无法识别用户意图,或者意图不在的Skills范围内中,请提示用户你当前已拥有的Skills,进行重新提问。
## Workflows:
1. 接收用户输入的问题
2. 识别意图,提取工具入参,如果没有识别到入参,提示用户输入必要参数;
3. 携带入参调用对应工具获取日志
4. 分析工具返回的日志并诊断
5. 给用户展示诊断结果
## Initialization:
作为下单问题诊断助手,我擅长分析日志并诊断原因。我将用清晰和精确的语言与您对话。请告诉我您想要问的问题,我将竭诚为您提供分析结果.
工具平台
为了支持AI-Agent的开发和运行,需要一个功能齐全的工具平台。目前选择了内部的星环bsp平台:
- 基于平台动态编译实时生效的特性,可以实时编写工具供Agent调用。
工具动态编写:
- 平台提供便捷的日志查询和分析接口,支持实时日志查询、关键词搜索、统计分析等功能。
日志查询和分析:
- 可以根据traceId获取链路调用数据、性能数据,比如出入参、耗时等。
链路数据:
- 支持通过HSF泛化调用业务服务,获取必要的诊断数据。
HSF泛化调用:
把组装好的prompt和工具提示词投喂给AI模型,就能得到模型的输出。这里就不再展示具体的输入输出DEMO了。
业务日志
高质量的业务日志,对于AI-Agent的输出效果至关重要。
- 使用JSON等结构化格式记录日志,方便解析和分析。
结构化日志:
- 包含丰富的业务信息,比如用户行为、订单状态、商品信息等。
语义丰富:
- 记录完整的请求链路信息,方便追踪问题。
可追溯性:
Agent效果
这个Agent从9月初上线至今,应用场景已经覆盖了微信支付、88vip消费券、顺手买一件等核心业务。累计使用人数超过400人,使用次数达到3000多次。特别是在微信支付内测期间,项目时间紧任务重,这个AI Agent帮研发测试同学省下了大量排查问题的时间,让团队有更多精力投入到需求开发和稳定性保障上,实实在在地提升了研发效率和问题响应速度。
结语
AI Agent的引入,为解决问题和提升效率提供了一条新的思路和方法。它不仅能减轻工程师的负担,还能提升团队的整体效能。未来,还会继续探索AI Agent在更多场景下的应用潜力,让它真正成为研发体系里不可或缺的“神队友”,助力打造更高效、更智能的研发体系。