电影行业智能数据洞察Agent
一、 项目概述
随着大语言模型(LLM)的发展,传统的数据分析工具逐渐向“对话式智能助理”演进。本项目旨在突破传统 BI 预设工具的边界,基于 DeepSeek 大模型构建一款具备自主思考、代码生成、动态检索与自我纠错能力的本地数据分析 Agent。系统底层基于 22 万条高质量电影数据,解决了大模型在代码执行中的越权安全漏洞、死循环问题,以及复杂长尾问题下的数据幻觉,最终交付为一个高可用的对话式前端应用。
二、 核心技术架构与模块拆解
本系统由五个核心模块构成,形成了“感知-推理-执行-反馈”的完整闭环。
模块 1:LangGraph 状态机编排(系统骨架)
- 设计痛点:传统
create_agent等黑盒代理难以控制长链路的复杂逻辑,模型极易陷入“反复调用工具”的死循环。 - 实现方案:基于 LangGraph 手工绘制有限状态图(
StateGraph)。将系统拆分为Agent(负责思考与路由)和Tools(负责实际执行)两个核心节点。 - 技术亮点:
- 自定义
AgentState维持多轮对话记忆。 - 引入
recursion_limit熔断机制,强行限制模型的最大思考步数(如 10 步),从根本上杜绝了系统卡死或 API 费用暴涨的风险。
- 自定义
模块 2:Hybrid RAG 混合检索(知识注入)
- 设计痛点:纯向量检索(Vector RAG)在处理“抽象概念”(如寻找“关于梦境、潜意识的电影”)时召回率极低,容易返回无关结果。
- 实现方案:引入 ChromaDB 构建本地向量库,使用
HuggingFace Embeddings对非结构化剧情文本进行向量化。 - 反思降级机制:当 Agent 发现向量库返回的结果与用户意图不符时,触发自我反思(Reflection)逻辑,自动降级调用后文的代码执行工具,使用
pandas正则对原始文本进行全量兜底匹配。
模块 3:Text-to-Pandas 动态执行引擎(核心能力)
- 设计痛点:预设的 API 工具只能回答固定的结构化问题(如“2015年有多少部电影”),无法应对“按类型计算 ROI”、“多条件交叉筛选”等未知长尾需求。
- 实现方案:开发
execute_pandas_code高阶工具。大模型会根据用户自然语言,自主编写复杂的 Pandas 数据清洗与聚合代码。 - 自我纠错闭环(Self-Correction):当代码执行发生异常时,系统捕获完整的异常栈(
Traceback),并作为上下文回传给大模型,驱动模型自我 Debug 并重写代码,直到成功跑通。
模块 4:零信任多进程安全沙箱(安全底座)
- 设计痛点:直接使用
exec()执行大模型生成的代码属于极高危操作,极易被恶意代码(如os.system("rm -rf"))攻击或因死循环拖垮宿主机。 - 实现方案:
- 进程隔离:利用
multiprocessing.Process将代码扔进独立的子进程执行。 - 白名单劫持:劫持 Python 底层的
__import__函数,仅允许pandas、numpy、math等库导入,直接抛出ImportError拦截os、sys等系统级模块。 - 超时物理熔断:结合
p.join(timeout=15)与p.terminate(),一旦超时强行强杀子进程,保障宿主机绝对安全。
- 进程隔离:利用
模块 5:Gradio 流式交互应用(前端交付)
- 设计痛点:Agent 的后台思考、写代码、纠错过程耗时较长,若无反馈,用户会产生“系统假死”的焦虑。
- 实现方案:基于 Gradio 开发对话界面,利用生成器(
yield)实现流式(Streaming)输出。 - 白盒化可解释性:在前端利用
<details>折叠面板技术,实时展示 Agent 的思考路径、调用的工具以及生成的 Python 代码,实现了推理过程的完全透明。
三、 业务成果与创新突破
- 自主数据质检(Emergent Behavior):在无人工预设的情况下,Agent 在调取演员数据时,自主交叉比对了多条记录,精准识别并报告了 Kaggle 数据集中
cast(演员)字段存在系统性错位的数据污染问题,展现了极强的自愈与逻辑推理潜力。 - 极端的容错交付:在一次寻找“梦境电影”的测试中,面对 RAG 召回失败、正则过重超时、变量作用域丢失等多重报错,Agent 连续执行了 5 次自我 Debug,最终自主优化出“粗筛+加权打分”的代码逻辑,从 22 万条数据中成功捞取并分类推荐了 18 部高分神作。
- 效率与安全并重:在保障 100% 拦截危险代码注入的前提下,系统成功处理了原本需要数据分析师写几十分钟 Python 脚本才能跑出的复杂聚合指标。
四、 总结
本项目成功将 LangGraph 编排、RAG 技术与本地安全沙箱结合,解决了 AI 动态代码生成在落地过程中的幻觉、死循环、越权三大痛点。不仅是一次大模型应用开发的深度实践,也为未来的“企业级自动化数据分析 Agent”提供了一套安全可控的工程化参考范式。
浙公网安备 33010602011771号