文章摘要
【关 键 词】 LLM开发、代码解释器、企业架构、安全控制、DSL封装
随着Anthropic开源skills仓库,”Code Interpreter”模式成为Agent开发的热门方向。许多开发者尝试赋予大型语言模型(LLM)联网和Python执行权限,让其现场编写代码解决问题。但在构建企业级”智能文档分析Agent”的实践中,这种”全托管”模式在稳定性、安全性和可控性上暴露出严重隐患。通过实际项目经验,开发团队探索出一条混合架构路线,在保留LLM灵活性的同时确保工业级稳定性。
文档分析场景面临的核心挑战在于”复杂生成”需求。典型场景要求系统能够对比多份经营数据报表的DAU和营收同比增长率,生成Excel表格,并将总结报告导出为PDF。这类需求同时涉及逻辑计算和文件IO操作,暴露了LLM的两大短板:精确算术能力和物理文件生成能力。初期采用”纯Skills”路线时,团队遭遇了三大问题:输入端对非结构化数据处理脆弱,输出端文件生成质量失控,以及安全防护缺失导致的数据流闭环风险。
重构后的混合架构采用”Java主控+DSL Skills”模式,核心思想是收回LLM的底层操作权,仅保留其逻辑调度权。系统划分为四个层级:ETL层(Java)负责确定性数据流转与安检,Brain层(LLM)专注意图理解与代码组装,Skills层(Python沙箱)执行受控计算,Delivery层(Java)处理文件渲染。这种分工使每个组件专注于最擅长的领域,形成互补优势。
输入侧通过Java流水线实现数据标准化处理。所有输入文件先经过DocPipeline,利用Apache Tika进行精准解析,并执行敏感词检测和文本截断,确保喂给LLM的数据是干净、安全、标准化的纯文本。中间层采用DSL封装模式,严格限制LLM直接操作底层API。预置的excel_tool库封装了pandas复杂操作,自动处理格式、列宽等工程细节,有效屏蔽LLM的幻觉风险。Skill说明书通过接口契约明确约束LLM行为,建立核心决策树规则。
输出侧实施差异化交付策略。对于Excel等结构化数据,采用Skills路线:LLM组装数据后调用封装函数生成文件。对于Word/PDF等富文本,则采用渲染路线:LLM仅输出Markdown文本并添加转换标签,由Java后端通过OpenHTMLtoPDF或Pandoc实现高质量格式转换。技术实现上,Spring AI框架下的SkillManager支持动态技能注入,并设计会话级防抖机制避免重复IO。业务处理器实现意图分流,根据输出内容类型自动选择交付路径。
安全防护贯穿整个处理流程。除输入侧的初检外,沙箱工具会在输出侧执行二次安检,防止LLM通过代码计算出违规内容绕过检查。系统还实施超长截断机制,避免LLM上下文爆炸。架构演进的核心经验在于合理界定各组件边界:Java负责标准化与安全,LLM专注推理,Python执行DSL封装的计算,最终由Java完成渲染交付。这种分层设计既保留了Agent处理动态需求的能力,又确保了企业级应用必需的稳定性与合规性。
原文和模型
【原文链接】 阅读原文 [ 2725字 | 11分钟 ]
【原文作者】 AI前线
【摘要模型】 deepseek/deepseek-v3-0324
【摘要评分】 ★★★★★



