公司动态

转做智能分析Agent后,我花两个月才搞懂权限日志

📅 2026/7/31 23:36:29
转做智能分析Agent后,我花两个月才搞懂权限日志
这篇我按“先跑起来、再讲取舍”的方式写《数据分析转大模型实战第一道门槛可能不是算法》。概念会讲但重点放在代码怎么组织、哪里容易踩坑。摘要 从报表开发到智能分析我以为最大的门槛是模型能力结果上线第一天就崩了——权限没兜住日志没记全。---目录数据分析的新机会自然语言BI的幻觉指标解释Agent的坑数据工具调用的边界项目案例一个上线即崩的复盘总结权限日志比Prompt重要---数据分析的新机会2024年开始我明显感觉到业务方对智能分析的需求在涨。以前做报表需求是加个字段换个维度现在问的是为什么Q3指标跌了能不能预测下季度趋势。这种问题传统ETL报表工具答不了得靠Agent。我的转型路径是从数据工程师切到Agent开发。说实话技术栈变化不大——SQL、数据管道、指标体系这些底子还在真正要补的是模型调用、工具编排、权限控制。但很多人低估了后者。我见过不少团队Prompt调优花了几周模型选了一堆上线第一周就出问题数据越权查询、敏感指标泄露、调用链断了没人知道。这些不是模型能力问题是工程化问题。---自然语言BI的幻觉自然语言BI是数据分析转大模型最常见的切入点。用户问上个月华东区的销售额系统返回图表。听起来很美好但实际做起来坑比想象的多。第一个坑是意图识别。用户说帮我看看业绩业绩在你们公司是指营收还是利润不同部门定义不一样。我最初的做法是让模型自己猜结果同一个问题不同人问出不同答案报表还互相矛盾。后来改成了先澄清再执行——模型遇到模糊意图先反问用户确认了再查数据。第二个坑是SQL生成准确率。GPT-4生成SQL简单查询能到90%但涉及多表关联、子查询、窗口函数准确率骤降到60%以下。我当时的解法是不直接让模型生成SQL而是先生成查询计划查哪些表、用什么字段、什么过滤条件再让模型补全SQL。这样把复杂问题拆成两步准确率能提到80%左右。代码上大概是这样# 错误做法直接让模型生成完整SQL prompt f 用户问题{user_question} 表结构{schema} 请生成SQL查询。 # 正确做法先生成查询计划再补全SQL plan_prompt f 用户问题{user_question} 请分析需要查询的表、字段、过滤条件和聚合方式。 只输出计划不要生成SQL。 plan call_llm(plan_prompt) sql_prompt f 查询计划{plan} 表结构{schema} 请根据计划生成SQL。 sql call_llm(sql_prompt)---指标解释Agent的坑自然语言BI解决的是查数据指标解释解决的是懂数据。用户问为什么销售额跌了Agent要能给出原因分析。我的第一个版本是让模型直接读数据自己分析。结果模型经常幻觉——明明数据没跌它硬说跌了明明原因是A它编出个原因B。后来我换了思路不让模型自己算让它解释我算好的结果。具体做法是1. 预计算好指标趋势、同比环比、下钻维度2. 模型只负责读这些计算结果做自然语言解释3. 关键数字必须来自预计算模型不能自己算这样虽然架构复杂了但准确性有保障。模型变成了翻译器把结构化数据翻译成自然语言而不是算数器。---数据工具调用的边界Agent要能调用工具这是常识。但能调用和安全地调用是两回事。我踩过的最大坑是权限越界。我的Agent可以调SQL、调API、还能写数据库。一开始没有限制模型在测试环境跑得挺好。上线后有个用户问了句帮我导出所有用户数据模型直接执行了全量导出把生产库拖慢了30秒。这个问题不是模型傻是权限没兜住。后来我加了三层限制1. 查询权限只能查自己部门的数据不能跨部门2. 操作权限只读不写除非明确授权3. 结果权限敏感字段脱敏比如手机号中间四位打码代码层面我在工具调用前加了一个权限校验中间件def safe_tool_call(tool_name, params, user_id): # 权限校验 if not check_permission(user_id, tool_name, params): return {error: 权限不足, tool: tool_name} # 记录日志 log_call(user_id, tool_name, params) # 执行工具 result call_tool(tool_name, params) # 结果脱敏 return sanitize_result(result, user_id)---项目案例一个上线即崩的复盘去年我负责一个智能分析Agent项目目标是让业务方能用自然语言查数据、看趋势、找原因。Demo阶段一切顺利。模型能回答上个月销售额多少哪个渠道贡献最大为什么华东区跌了。业务方很满意以为能直接上线。结果上线第一天就崩了。问题出在两个地方1. 权限失控模型被问帮我看看其他部门的业绩它真的去查了而且返回了详细数据2. 日志缺失出问题后我们不知道是模型幻觉还是权限配置错误排查花了半天复盘后我们做了三件事1. 权限最小化每个Agent实例绑定固定数据权限不能动态切换2. 操作可追溯每次工具调用记录用户、时间、输入、输出、耗时3. 失败兜底模型不确定时返回我无法回答而不是瞎编改完之后系统稳定了。但说实话这些工作比Prompt调优花的时间多三倍。---总结权限日志比Prompt重要从数据分析转大模型我以为最大的门槛是模型能力、Prompt工程、Agent编排。做了两个项目后我发现真正的门槛是权限控制和日志可观测。模型能力决定了Agent能做什么权限日志决定了Agent能做多久。我的建议是别一上来就调Prompt先把权限模型和日志体系搭好Demo和上线是两回事Demo能跑通不代表能扛住生产环境失败时谁在兜底比成功时多智能更重要这些不是理论是我花两个月、崩了三次才搞懂的。希望你的转型路径能少踩几个坑。资料展示下面是我整理的AI大模型学习资料和工具包预览适合收藏后按主题逐步学习。如果你想看完整资料目录可以在评论区留言「资料」也欢迎告诉我你更关注AI大模型里的哪类内容。