0. 先和大家打个招呼吧 
大家好,我是一名常年跟业务数据打交道的开发者。日常工作里我见得最多的场景是:运营、财务、人事同事抱着一堆命名混乱、口径不一的 Excel 来问我"这个能不能帮我合并一下、把有问题的挑出来"。这类活儿不难,但极其耗时、又容易出错。
我是怎么用 TRAE 把它做出来的:
这个项目我几乎是"讲"出来的。一开始我只跟 TRAE 说了一句话——“我想做一个能把脏乱业务数据自动清洗、匹配、挑异常并生成结果报告的 Agent”。TRAE 帮我把这个模糊的想法拆成了清晰的两层架构:AI 负责理解目标,确定性引擎负责真正处理数据。
过程中有几个"原来这么简单"的瞬间:
- 我一直担心"让大模型直接改数据会不会乱来",TRAE 直接帮我落地了 白名单 + Schema 校验 + 引用校验 + 确定性回退 的机制——LLM 只出规划草案,真正动数据的永远是可验证的代码。这个坎它帮我跨过去了。
- 有一次我发现交付给业务的表里混进了 doc_rule_amount_min_value 这种内部技术名,我只说了句"这些名字业务同事看不懂",TRAE 就帮我把它统一映射成了"amount 小于允许的最小值"这样的中文说明。
- 最让我惊讶的是一次性能优化:模糊匹配原本很慢,我描述了下卡顿场景,TRAE 定位到 O(n×m) 的比对逻辑,用去重 + 剪枝重写后 实测提速约 50 倍 ,而且输出结果和原来逐字节一致。
真诚地说,TRAE 更像一个能听懂"业务话"的资深搭档,而不是一个代码补全工具。
1. Demo 简介
- 是什么 :一个面向真实办公场景的 智能数据处理系统 ,提供 Web 控制台 + CLI 批处理 + API 三种入口。
- 面向谁 :运营、财务、人事、销售、项目管理等 经常要整理业务数据、但没有专职数据工程师 的同学和中小团队。
- 主要功能 (3 个核心):
- 一句话驱动 :上传 Excel / CSV / 说明文档 / 导入模板,再输入一句业务目标(如"清洗库存数据,按 category_code 合并分类名称,输出可直接使用的数据和需复核的问题"),系统自动完成理解→规划→执行→交付。
- 确定性数据底座 :多表 lookup 匹配、公式计算、从文档抽取规则、异常识别、质量评分,全部由可追溯的代码执行,不是黑盒改数。
- 业务可读交付 :直接产出业务结论报告( business_answer.html )、可导入结果表、异常复核清单、图表和审计包——不给业务用户看一堆过程 sheet。
Web 控制台结果看板:质量评分、关键指标、目标识别结果
异常复核页:逐条异常记录 + 复核状态回写
业务结论报告 `business_answer.html`:结论、评分、异常影响
图表分析:异常分布 Top10 条形图 / SVG 版本
2. Demo 创作思路
- 灵感来源 :真实工作里同事反复来找我"帮忙处理一下数据"。这类需求不是标准分析题,而是"文件很乱、规则不清、目标很急、结果必须能交付"。
- 想解决的问题 :业务岗位处理数据靠人工写公式、做 VLOOKUP、查异常、整理报告,慢且易错;业务规则又散落在文档、模板、口径说明里,很难沉淀。
- 为什么做这个方向 :我的判断是——数据处理最大的门槛不在算法,而在"理解业务目标"和"交付能用的结果"。所以我坚持 两层架构 :让 AI 做理解与规划(它擅长),让工程化引擎做可验证执行(它可靠)。这样既有 Agent 的灵活,又不牺牲数据处理的确定性。
3. Demo
数据炼金师_Demo.zip (13.2 KB)
体验地址
采用**交互式可体验的 HTML 文件(Zip 打包)**方式提交:
数据炼金师_Demo.zip (已随帖上传,解压后打开 数据炼金师_Demo.html 即可在浏览器中体验完整交互流程:模拟上传 → 输入业务目标 → 动态处理步骤 → 结果预览与下载)
4. TRAE 实践过程
我用 TRAE 完成了从架构设计到落地的完整开发,核心流程如下:
- 需求拆解与架构设计 :把"数据处理 Agent"的模糊想法拆成"AI 理解层 + 确定性执行层"两层架构。
- 确定性底座实现 :多格式读取、数据画像、lookup、公式、规则校验、异常识别、质量评分、图表与报告生成。
- 可插拔 LLM 理解层 :接入 OpenAI 兼容协议,LLM 只出规划草案,经白名单/Schema/引用校验后由确定性引擎执行,不可用时自动回退。
- 交付可读性打磨 :内部技术规则名中文化、过滤技术派生列、异常占比封顶、导入视图字段映射修复。
- 前后端接通与性能优化 :控制台 7 个页面接入真实 API、复核结果可回写持久化;模糊匹配提速约 50 倍;大文件 CSV 走 DuckDB 加速。
- Session 1(架构设计与确定性底座):`6a3e41c852298364ec5140d4`
- Session 2(可插拔 LLM 理解层 + 领域解耦重构):`6a4729a410630e9339f36e15`
- Session 3(前后端接通 + 模糊匹配性能优化):`6a4722da8759e5464e107664`






