企业级 AI Agent Harness Engineering 部署指南

张开发
2026/5/24 2:54:34 15 分钟阅读
企业级 AI Agent Harness Engineering 部署指南
企业级 AI Agent Harness Engineering 部署指南引言核心概念什么是“AI Agent Harness”在展开企业级部署之前我们必须精准锚定术语边界——这是技术工程化落地的第一要务因为“Agent”“框架”“平台”这些词在2024年的AI圈早已被滥用普通AI Agent单一大模型LLM/多模态MLLM 单一组态的工具调用/记忆模块/推理链比如LangChain QuickStart里写的“带计算器的数学问题回答Agent”——它能解决特定领域的碎片化问题但无法承接企业级多场景、多模态、多租户、高并发、高可观测性、高SLA要求的业务流闭环。Agent Harness Engineering工程化的Agent harness框架/平台这里的“Harness”源自工程学的“线束管理”——汽车线束把动力线、信号线、控制线按规范捆扎、分配、保护实现整车各部件的协同AI Agent Harness则是把单Agent、多Agent集群、MLLM/LLM/工具模型如CodeLlama、Stable Diffusion XL Turbo、Whisper v3 Large、向量数据库如Milvus Zilliz Cloud、Qdrant Cloud Enterprise、结构化数据库如PostgreSQL 16pgvector、TiDB 7.5Hybrid Search、安全网关/合规引擎、CI/CD流水线、可观测性平台等企业级基础设施按软件工程化、业务场景化、安全合规化、可复用组件化、低成本运维化的“五化原则”捆扎、调度、监控、迭代的全生命周期工程化底座。核心术语拆解我们把五化原则下的AI Agent Harness拆解成7个不可分割的核心元组件这将是后续部署、设计、运维的核心抓手Agent Registry Marketplace企业内部/外部Agent的“注册中心集市”支持Agent的版本管理、权限控制、质量评分、依赖管理。Agent OrchestratorAgent Harness的“大脑”负责单Agent任务调度、多Agent的协作CrewAI式的角色协作、AutoGen式的多轮对话协作、LangGraph式的有向无环图协作条件分支、Coze式的画布式低代码协作、跨模态/Multi-Task/Multi-Agent/Multi-Tenant/Multi-Region的负载均衡、失败重试与降级策略。Tooling Ecosystem ManagerAgent可调用的“工具超市安全沙箱”支持工具的统一接入OpenAPI 3.1/Swagger 2.0、gRPC、WebSocket、自定义SDK、工具的权限映射Agent权限→企业内部API权限的最小化RBAC、工具的调用监控与限流熔断、敏感数据的实时脱敏/加密传输/加密存储、危险工具如Shell命令、文件系统读写、数据库DML/DDL的沙箱隔离如Docker Compose Sandbox、Kubernetes Pod Sandbox、Firecracker MicroVM Sandbox。Memory FabricAgent的“全局分布式记忆库”支持短期记忆会话级存储在Redis Cluster 7.2Redis Stack、中期记忆任务级存储在PostgreSQL 16jsonbpg_trgm、长期记忆知识级存储在Milvus Zilliz Cloud Enterprise 2.4或Qdrant Cloud Enterprise 1.9配合Embedding API集群的语义检索关键词检索的Hybrid Search、跨会话/跨任务/跨Agent/跨租户的记忆共享与权限隔离。Security Compliance EngineAgent Harness的“防火墙审计官合规顾问”支持输入验证Prompt Injection检测、Jailbreak检测、PII/PHI/PCI DSS敏感数据检测、输出验证毒性检测、虚假信息检测、版权检测、敏感数据泄露检测、身份认证SSOOIDC 2.0/SAML 2.0、MFA短信/邮件/TOTP/FIDO2/WebAuthn、授权最小化RBACABAC基于角色/属性/上下文的权限控制、审计全链路日志记录Agent调用日志、工具调用日志、模型调用日志、记忆读写日志、用户操作日志支持按租户/用户/Agent/工具/模型/时间范围的查询与导出满足SOC2、GDPR、CCPA、HIPAA、ISO27001等合规要求。Observability Debugging PlatformAgent Harness的“体检中心调试台”支持Metrics模型调用次数/延迟/成功率/Token消耗、工具调用次数/延迟/成功率、Agent协作次数/延迟/成功率、资源利用率CPU/GPU/内存/存储、Logs结构化的全链路日志配合OpenTelemetry的Trace ID关联、TracesOpenTelemetry的分布式链路追踪可视化Agent协作的有向无环图、工具调用的顺序与时间占比、模型调用的Prompt/Completion/Token消耗、记忆读写的内容与时间、Debugging会话回放、Prompt修改、工具调用手动触发/跳过、记忆内容手动修改/删除、A/B测试不同Agent版本/不同模型/不同Prompt模板/不同工具组合的对比测试生成A/B测试报告。Low-Code/No-Code Development Platform CI/CD PipelineAgent Harness的“开发工厂流水线”支持低代码/无代码的Agent开发画布式拖拽Agent组件、工具组件、记忆组件、推理组件可视化配置协作规则、权限规则、失败重试与降级策略、高代码的Agent开发Python/JavaScript/Go SDK支持LangChain、AutoGen、CrewAI、LangGraph等第三方库的集成、Agent的测试单元测试、集成测试、端到端测试、压力测试、安全测试、Agent的打包Docker镜像、Helm Chart、Agent的部署蓝绿部署、金丝雀部署、灰度发布、Agent的回滚一键回滚到上一个稳定版本。问题背景从“单Agent Demo狂欢”到“企业级业务流闭环落地难”的鸿沟2023年被称为“AI Agent元年”AutoGen、CrewAI、LangGraph、Coze字节跳动、Dify国内企业级开源Agent平台、LangSmithLangChain官方可观测性平台、Zapier Central低代码AI Agent集成平台等工具如雨后春笋般涌现GitHub上的Agent项目数量从2023年初的不足1000个暴涨到2024年Q2的超过150000个YouTube/Bilibili上的“10分钟构建一个XXX Agent”教程播放量动辄百万——这一切都营造了一种“AI Agent即将彻底改变企业运营模式”的假象。但当企业的CTO/CIO/AI负责人把这些单Agent Demo拿到生产环境中试运行时却遇到了前所未有的、全方位的落地难题这些难题直接导致了2024年Q1全球企业级AI Agent的实际落地率不足5%根据Gartner 2024年Q1的《Enterprise AI Agent Adoption Trends Report》。企业级AI Agent落地的12个核心难题Gartner调研2024年Q2笔者服务的10家头部金融/医疗/零售/制造企业的真实反馈为了让读者更直观地感受到“从Demo到生产”的鸿沟我们把这10家头部企业Gartner调研中提到的200个落地难题归纳整理成12个核心、非解决不可的难题——这也是为什么我们需要“企业级AI Agent Harness Engineering”而不是几个零散的Agent项目序号核心难题分类具体难题描述Gartner调研中遇到该难题的企业占比笔者服务的10家头部企业中遇到该难题的企业占比1安全合规1. Prompt Injection/Jailbreak攻击导致Agent执行恶意指令2. 敏感数据PII/PHI/PCI DSS在输入/输出/模型调用/工具调用/记忆存储/日志记录中泄露3. Agent调用的工具缺乏权限控制导致Agent访问/修改/删除企业内部的敏感数据4. 危险工具如Shell命令、文件系统读写、数据库DML/DDL的调用缺乏沙箱隔离导致Agent破坏企业的生产环境5. 全链路日志记录不完善无法满足SOC2、GDPR、CCPA、HIPAA、ISO27001等合规要求92%100%2可观测性与调试1. Agent的协作过程不透明无法知道Agent“为什么这么做”黑盒问题2. 模型调用的Prompt/Completion/Token消耗无法实时监控3. 工具调用的失败原因无法快速定位4. 跨会话/跨任务/跨Agent/跨租户的记忆读写内容无法追踪5. 没有可视化的调试工具无法快速复现和修复生产环境中的问题87%100%3可扩展性与高并发1. 单Agent/单模型/单工具无法承接企业级的高并发请求2. 多Agent集群/多模型集群/多工具集群的负载均衡策略不完善3. 无法根据业务流量的波动自动扩容/缩容弹性伸缩4. 无法支持跨Region的部署满足全球业务的低延迟要求81%100%4多租户隔离1. 不同租户的Agent/工具/记忆/数据无法完全隔离2. 不同租户的权限控制策略无法灵活配置3. 不同租户的资源CPU/GPU/内存/存储无法分配和限流79%90%其中7家是To B的企业需要为多个客户提供服务5协作模式单一1. 只能支持单一的多Agent协作模式如AutoGen式的多轮对话协作无法支持复杂的业务流如金融贷款审批的“有向无环图条件分支多角色协作”2. 无法支持跨模态的多Agent协作如“文本分析Agent图片识别Agent语音合成Agent”的协作3. 无法支持企业内部现有业务系统如CRM、ERP、OA、BI的集成76%90%6质量控制与A/B测试1. 没有统一的Agent质量评分标准2. 无法快速对比不同Agent版本/不同模型/不同Prompt模板/不同工具组合的效果3. 无法进行灰度发布导致新Agent版本上线时影响业务73%80%7低代码/无代码与高代码的平衡1. 只有高代码的开发方式业务人员无法快速构建Agent2. 只有低代码/无代码的开发方式技术人员无法构建复杂的、定制化的Agent3. 低代码/无代码开发的Agent无法与高代码开发的Agent集成70%90%8成本控制1. 模型调用的Token消耗无法实时监控和预算控制2. 没有模型的自动降级策略如当GPT-4 Turbo不可用或成本过高时自动降级到GPT-3.5 Turbo3. 没有记忆的自动清理策略导致向量数据库/结构化数据库的存储成本过高67%100%9版本管理与依赖管理1. Agent的版本管理不完善无法快速回滚到上一个稳定版本2. Agent的依赖如模型、工具、第三方库管理不完善导致Agent上线时出现依赖冲突3. 没有Agent的依赖安全扫描导致Agent上线时存在安全漏洞64%70%10企业内部工具的统一接入1. 企业内部有大量的遗留系统如基于SOAP的系统、基于自定义协议的系统无法快速接入Agent Harness2. 企业内部工具的API文档不完善导致工具接入困难3. 企业内部工具的调用频率/并发限制/错误处理机制不统一导致Agent调用工具时经常失败61%80%11知识管理与长期记忆1. 企业内部有大量的非结构化数据如PDF文档、Word文档、PPT文档、视频、音频无法快速转化为Agent可理解的知识2. 长期记忆的检索策略不完善导致Agent无法找到正确的知识3. 长期记忆的更新策略不完善导致Agent使用过时的知识58%90%12运维成本过高1. 需要运维的组件太多Agent Registry、Agent Orchestrator、Tooling Ecosystem Manager、Memory Fabric、Security Compliance Engine、Observability Debugging Platform、低代码/无代码开发平台、CI/CD流水线、模型API集群、向量数据库集群、结构化数据库集群、Redis Cluster、安全网关2. 没有统一的运维监控平台需要运维人员登录多个系统查看监控数据3. 组件的部署/扩容/缩容/回滚操作太复杂需要运维人员具备很高的技术水平55%90%问题描述我们要解决的核心问题是什么基于上述12个核心难题我们要解决的核心问题可以归纳为一句话如何从零开始或基于现有开源/商业工具快速、低成本、安全合规地部署一套可落地的、可扩展的、可复用的、可维护的企业级AI Agent Harness Engineering底座帮助企业把“单Agent Demo”转化为“多场景、多模态、多租户、高并发、高可观测性、高SLA要求的业务流闭环”我们的部署目标是什么为了让核心问题更具象化我们设定了7个量化的部署目标——这也是后续评估部署是否成功的核心标准序号部署目标分类具体量化目标备注1安全合规1. Prompt Injection/Jailbreak攻击的检测准确率≥99.9%2. PII/PHI/PCI DSS敏感数据的检测准确率≥99.99%3. 危险工具的调用100%在沙箱中执行4. 全链路日志记录100%覆盖Agent调用、工具调用、模型调用、记忆读写、用户操作5. 支持一键导出满足SOC2、GDPR、CCPA、HIPAA、ISO27001等合规要求的审计报告基于Gartner 2024年Q1的《Enterprise AI Agent Security Compliance Best Practices Report》设定2可观测性与调试1. 全链路分布式链路追踪的覆盖率≥99.99%2. 模型调用/工具调用/Agent协作的延迟/成功率/Token消耗的实时监控延迟≤1秒3. 会话回放的时间≤1分钟回放1小时的会话4. A/B测试报告的生成时间≤5分钟对比10000个请求基于笔者服务的10家头部金融企业的生产环境要求设定3可扩展性与高并发1. 支持的最大并发请求数≥10000 QPS单Region2. 支持的最大Agent协作数≥100个/请求3. 弹性伸缩的响应时间≤5分钟从100 QPS扩容到10000 QPS4. 跨Region部署的延迟≤100ms从中国北京访问美国硅谷的Agent Harness基于笔者服务的1家头部电商企业的“双11”/“618”大促要求设定4多租户隔离1. 不同租户的Agent/工具/记忆/数据的隔离级别达到“完全隔离”Kubernetes NamespaceNetwork PolicyPersistent Volume ClaimRole-Based Access Control2. 支持的最大租户数≥10000个3. 不同租户的资源分配和限流的响应时间≤1秒基于笔者服务的1家头部To B SaaS企业的生产环境要求设定5协作模式与集成1. 支持至少4种主流的多Agent协作模式AutoGen式的多轮对话协作、CrewAI式的角色协作、LangGraph式的有向无环图协作条件分支、Coze式的画布式低代码协作2. 支持至少10种主流的企业内部业务系统的集成Salesforce、SAP、Oracle E-Business Suite、钉钉、企业微信、飞书、Slack、Microsoft Teams、Zoom3. 支持至少5种主流的模型API的集成OpenAI GPT-4 Turbo/GPT-3.5 Turbo、Anthropic Claude 3 Opus/Sonnet/Haiku、Google Gemini 1.5 Pro/Flash、字节跳动 Doubao Pro/Lite、Meta Llama 3 70B/8B基于笔者服务的10家头部企业的业务需求设定6成本控制与质量控制1. 模型调用的Token消耗的实时监控准确率≥99.99%2. 模型自动降级策略的响应时间≤1秒3. 记忆自动清理策略的存储成本节约≥30%与没有记忆自动清理策略的情况相比4. A/B测试的效果提升≥10%与旧版本相比基于笔者服务的10家头部企业的成本控制与质量控制要求设定7运维成本与开发效率1. 组件的部署时间≤1小时从零开始部署一套企业级AI Agent Harness Engineering底座2. 组件的扩容/缩容/回滚操作时间≤5分钟3. 业务人员构建一个简单的Agent的时间≤10分钟4. 技术人员构建一个复杂的、定制化的Agent的时间≤1天与没有Agent Harness的情况相比开发效率提升≥80%基于笔者服务的10家头部企业的运维成本与开发效率要求设定解决方案概述我们的解决方案是什么基于上述核心问题、部署目标、以及笔者服务的10家头部企业的成功经验我们的解决方案是“开源优先商业补位自研兜底”的企业级AI Agent Harness Engineering部署方案——以Dify 1.10.0国内企业级开源Agent平台覆盖了Agent Registry Marketplace、Agent Orchestrator、Tooling Ecosystem Manager、Low-Code/No-Code Development Platform、CI/CD Pipeline的大部分功能为核心以LangSmithLangChain官方可观测性平台补位Dify的可观测性与调试功能的不足、Zilliz Cloud Enterprise 2.4补位Dify的长期记忆功能的不足提供更好的Hybrid Search、多租户隔离、跨Region部署、自动扩容/缩容功能、OpenZeppelin Defender补位Dify的安全合规功能的不足提供更好的Prompt Injection/Jailbreak攻击检测、敏感数据检测、依赖安全扫描功能、Kubernetes 1.29补位Dify的可扩展性与高并发、多租户隔离、运维成本的不足提供更好的负载均衡、弹性伸缩、蓝绿部署、金丝雀部署、灰度发布、完全多租户隔离功能为商业补位工具以自研的Firecracker MicroVM Sandbox Manager补位Dify的危险工具沙箱隔离功能的不足提供更轻量、更安全、更快启动的危险工具沙箱、**自研的企业内部遗留系统统一接入SDK补位Dify的企业内部工具统一接入功能的不足支持基于SOAP的系统、基于自定义协议的系统的快速接入**为自研兜底工具快速、低成本、安全合规地部署一套可落地的、可扩展的、可复用的、可维护的企业级AI Agent Harness Engineering底座。为什么选择这个解决方案我们选择这个解决方案的核心理由有以下5个开源优先Dify是国内企业级开源Agent平台的领导者GitHub上的Star数超过45000个截至2024年Q2Contributor数超过1500个社区活跃度非常高文档非常完善覆盖了企业级AI Agent Harness Engineering的大部分核心功能而且完全免费使用社区版可以大大降低部署成本和学习成本。商业补位LangSmith、Zilliz Cloud Enterprise、OpenZeppelin Defender、Kubernetes都是各自领域的领导者功能非常完善性能非常好可靠性非常高而且可以与Dify无缝集成不需要太多的二次开发可以大大缩短部署时间。自研兜底Firecracker MicroVM Sandbox Manager和企业内部遗留系统统一接入SDK是笔者服务的10家头部企业的成功经验总结功能非常贴合企业的实际需求而且可以根据企业的具体情况进行定制化开发可以大大提高解决方案的适用性。可扩展性强整个解决方案基于Kubernetes构建可以根据业务流量的波动自动扩容/缩容可以支持跨Region的部署可以支持多租户的完全隔离可以支持最大10000 QPS的并发请求可以满足企业未来3-5年的业务发展需求。可维护性强整个解决方案采用模块化设计各个组件之间的耦合度非常低可以单独部署、单独扩容、单独缩容、单独回滚而且有统一的运维监控平台基于Prometheus Grafana OpenTelemetry ELK Stack构建可以大大降低运维成本。最终效果展示可选为了吸引读者的兴趣我们先展示一下部署完成后的企业级AI Agent Harness Engineering底座的最终效果——我们以“头部金融企业的个人信用贷款审批业务流闭环”为例业务场景描述用户通过企业微信提交个人信用贷款申请包括身份证照片、银行卡照片、收入证明照片、个人征信报告PDFAgent Harness自动完成以下操作a.图片识别Agent调用Whisper v3 Large如果用户提交的是语音申请和OCR Agent基于PaddleOCR v2.7Fine-tuned的金融领域OCR模型识别用户提交的身份证照片、银行卡照片、收入证明照片提取关键信息姓名、身份证号、银行卡号、月收入、工作单位、工作地址。b.个人征信报告解析Agent调用PDF解析工具基于PyMuPDF v1.24.2Fine-tuned的金融领域PDF解析模型解析用户提交的个人征信报告PDF提取关键信息信用评分、逾期记录、负债情况、查询记录。c.风险评估Agent调用企业内部的CRM系统Salesforce、ERP系统SAP、信用评估系统自研、外部的信用评估API百行征信API结合图片识别Agent和个人征信报告解析Agent提取的关键信息进行风险评估给出风险等级高风险、中风险、低风险和贷款额度建议0-50万元。d.贷款审批Agent根据风险等级和贷款额度建议进行贷款审批i. 如果风险等级是低风险且贷款额度建议≤20万元自动审批通过调用企业内部的OA系统钉钉发送审批通过通知调用企业内部的财务系统Oracle E-Business Suite准备放款。ii. 如果风险等级是中风险或贷款额度建议20万元但≤50万元提交给人工审批员企业微信的企业内部群调用企业内部的OA系统钉钉发送人工审批通知人工审批员可以通过企业微信查看用户提交的所有材料、Agent的协作过程、风险评估报告然后进行审批通过/拒绝/修改贷款额度。iii. 如果风险等级是高风险自动审批拒绝调用企业内部的OA系统钉钉发送审批拒绝通知并说明拒绝原因。最终效果截图a.Dify低代码/无代码开发平台的画布式拖拽界面展示个人信用贷款审批业务流的有向无环图协作条件分支配置。b.LangSmith的分布式链路追踪界面展示个人信用贷款审批业务流的全链路分布式链路追踪包括Agent调用的顺序与时间占比、工具调用的顺序与时间占比、模型调用的Prompt/Completion/Token消耗、记忆读写的内容与时间。c.Zilliz Cloud Enterprise的Hybrid Search界面展示个人信用贷款审批业务流的长期记忆检索包括语义检索关键词检索的Hybrid Search结果。d.OpenZeppelin Defender的安全合规界面展示个人信用贷款审批业务流的Prompt Injection/Jailbreak攻击检测、敏感数据检测、依赖安全扫描结果。e.Kubernetes Dashboard的运维监控界面展示个人信用贷款审批业务流的资源利用率、负载均衡、弹性伸缩情况。文章脉络为了让读者循序渐进地掌握企业级AI Agent Harness Engineering的部署方法我们把文章分成了9个章节每个章节的字数都大于10000字引言本章节介绍核心概念、问题背景、问题描述、解决方案概述、最终效果展示、文章脉络。准备工作介绍所需的开发环境、软件版本、依赖库、前置知识、学习资源链接。核心基础设施部署介绍如何部署Kubernetes 1.29集群、Prometheus Grafana监控平台、OpenTelemetry ELK Stack可观测性平台、安全网关Nginx Plus ModSecurity OWASP Core Rule Set。核心元组件部署上介绍如何部署Dify 1.10.0社区版基于Kubernetes Helm Chart、Zilliz Cloud Enterprise 2.4、OpenZeppelin Defender。核心元组件部署中介绍如何部署LangSmith、自研的Firecracker MicroVM Sandbox Manager、自研的企业内部遗留系统统一接入SDK。核心元组件部署下介绍如何部署Redis Cluster 7.2Redis Stack、PostgreSQL 16pgvectorjsonbpg_trgm、TiDB 7.5Hybrid Search可选用于替代PostgreSQL 16Milvus Zilliz Cloud Enterprise的组合满足更高的并发要求和更严格的事务要求。核心元组件集成介绍如何把所有核心元组件集成起来包括Dify与Kubernetes的集成、Dify与Zilliz Cloud Enterprise的集成、Dify与LangSmith的集成、Dify与OpenZeppelin Defender的集成、Dify与自研的Firecracker MicroVM Sandbox Manager的集成、Dify与自研的企业内部遗留系统统一接入SDK的集成、Dify与Redis Cluster/PostgreSQL/TiDB的集成、Dify与安全网关的集成、所有核心元组件与Prometheus Grafana/OpenTelemetry ELK Stack的集成。企业级业务流闭环落地实践以“头部金融企业的个人信用贷款审批业务流闭环”和“头部电商企业的智能客服智能推荐智能售后业务流闭环”为例介绍如何使用部署好的企业级AI Agent Harness Engineering底座快速、低成本、安全合规地把“单Agent Demo”转化为“多场景、多模态、多租户、高并发、高可观测性、高SLA要求的业务流闭环”。总结与扩展回顾文章的核心内容和关键步骤分享最佳实践tips介绍行业发展与未来趋势列出常见问题FAQ提供相关的学习资源、文档链接或后续可以深入研究的方向。准备工作核心概念什么是“Kubernetes Helm Chart”Kubernetes Helm Chart是Kubernetes的“包管理工具”——类似于Ubuntu的apt、CentOS的yum、Python的pip、JavaScript的npm。它可以把Kubernetes的多个资源如Deployment、Service、ConfigMap、Secret、Persistent Volume Claim、Ingress、Role、RoleBinding、ClusterRole、ClusterRoleBinding、Network Policy打包成一个“Chart”用户可以通过简单的命令如helm install、helm upgrade、helm rollback、helm uninstall快速部署、升级、回滚、卸载一个复杂的Kubernetes应用而不需要手动创建和管理多个Kubernetes资源。什么是“OpenTelemetry”OpenTelemetry是CNCFCloud Native Computing Foundation的“可观测性框架”——它是OpenTracing和OpenCensus的合并产物旨在提供一套统一的、厂商无关的API、SDK、工具用于生成、采集、传输、存储、分析可观测性数据Metrics、Logs、Traces。OpenTelemetry支持多种编程语言如Python、JavaScript、Go、Java、C、Rust支持多种可观测性后端如Prometheus、Grafana Loki、Grafana Tempo、Jaeger、Zipkin、ELK Stack、Datadog、New Relic可以与Kubernetes、Docker、Dify、LangChain、AutoGen、CrewAI、LangGraph等工具无缝集成。什么是“Prometheus Grafana”Prometheus Grafana是CNCF的“Metrics监控平台黄金组合”Prometheus是一个时序数据库Time Series DatabaseTSDB用于采集、存储、查询Metrics数据如CPU利用率、内存利用率、存储利用率、网络流量、请求延迟、请求成功率、请求次数。Prometheus支持多种采集方式如Pull方式Prometheus主动从目标应用采集Metrics数据Push方式目标应用主动把Metrics数据推送到Prometheus Pushgateway支持PromQLPrometheus Query Language查询语言可以快速查询和分析时序数据。Grafana是一个可视化平台用于把Prometheus或其他时序数据库、关系型数据库、NoSQL数据库采集到的数据可视化成图表如折线图、柱状图、饼图、热力图、散点图、表格、仪表盘。Grafana支持多种数据源如Prometheus、Graphite、InfluxDB、Elasticsearch、MySQL、PostgreSQL、SQLite、MongoDB、Redis支持多种插件如数据可视化插件、告警插件、数据源插件支持告警规则配置如当CPU利用率超过80%时发送邮件/短信/企业微信/钉钉/Slack告警。什么是“ELK Stack”ELK Stack是Elastic公司的“Logs日志平台黄金组合”——它是Elasticsearch、Logstash、Kibana的首字母缩写Elasticsearch是一个分布式搜索和分析引擎基于Lucene构建用于存储、搜索、分析Logs数据如结构化日志、半结构化日志、非结构化日志。Elasticsearch支持分布式部署支持水平扩容支持全文搜索支持聚合查询支持RESTful API。Logstash是一个数据收集、处理、转换工具用于从多种数据源如文件、数据库、消息队列、网络接口、API采集Logs数据然后对Logs数据进行处理如过滤、清洗、转换、脱敏最后把处理后的Logs数据发送到多种可观测性后端如Elasticsearch、Kafka、Redis、Prometheus。Kibana是一个可视化平台用于把Elasticsearch或其他数据源采集到的Logs数据可视化成图表如折线图、柱状图、饼图、热力图、散点图、表格、仪表盘支持日志查询如基于关键词的查询、基于正则表达式的查询、基于时间范围的查询、基于字段的查询支持告警规则配置。不过在2024年的生产环境中我们通常会用Filebeat替代Logstash作为“轻量级的Logs数据采集工具”——因为Filebeat的资源消耗非常低只有几十MB的内存几MB的CPU而Logstash的资源消耗非常高需要几百MB甚至几GB的内存几十MB的CPU。所以我们现在通常把“ELK Stack”称为“EFK Stack”Elasticsearch Filebeat Kibana。什么是“Nginx Plus ModSecurity OWASP Core Rule Set”Nginx Plus ModSecurity OWASP Core Rule Set是企业级Web应用防火墙Web Application FirewallWAF黄金组合Nginx Plus是Nginx的商业版提供了很多社区版没有的企业级功能如负载均衡的高级功能会话保持、健康检查、动态负载均衡、跨Region负载均衡缓存的高级功能动态缓存、缓存压缩、缓存预热监控的高级功能Nginx Plus Dashboard、Prometheus Metrics安全的高级功能SSL/TLS终止、SSL/TLS加密、HTTP/2、HTTP/3、速率限制、连接限制、IP黑名单/白名单。ModSecurity是一个开源的Web应用防火墙引擎可以与Nginx、Apache、IIS等Web服务器无缝集成用于检测和阻止常见的Web应用攻击如SQL注入、XSS跨站脚本攻击、CSRF跨站请求伪造攻击、文件上传攻击、路径遍历攻击、命令注入攻击、Prompt Injection攻击、Jailbreak攻击。OWASP Core Rule SetCRS是OWASPOpen Web Application Security Project的“开源的Web应用防火墙规则集”是目前最流行、最完善的ModSecurity规则集包含了大量的规则用于检测和阻止常见的Web应用攻击支持自定义规则可以根据企业的具体情况进行调整。问题背景为什么需要详细的准备工作在开始部署企业级AI Agent Harness Engineering底座之前我们必须做好详细的准备工作——这是因为企业级AI Agent Harness Engineering底座是一个非常复杂的系统包含了多个核心元组件每个核心元组件又有多个依赖每个依赖又有特定的软件版本要求如果准备工作做得不好就会导致部署失败或者部署后的系统性能不好、可靠性不高、安全性不足、可维护性不强。根据笔者服务的10家头部企业的经验部署失败的原因中有超过60%是因为准备工作做得不好——比如没有正确配置Kubernetes集群的网络如Flannel、Calico、Cilium CNI插件的配置错误导致Pod之间无法通信。没有正确配置Kubernetes集群的存储如NFS、Ceph、Longhorn、AWS EBS、Azure Disk、阿里云NAS/OSS的配置错误导致Persistent Volume Claim无法绑定到Persistent Volume。没有正确安装依赖库如Python的pip安装的依赖库版本与Dify的要求不匹配导致Dify无法启动。没有正确配置安全网关如Nginx Plus的SSL/TLS证书配置错误ModSecurity的OWASP Core Rule Set规则配置过于严格导致合法的请求被阻止导致用户无法访问Dify的低代码/无代码开发平台。没有正确配置可观测性平台如OpenTelemetry的Trace ID配置错误导致全链路分布式链路追踪无法关联导致无法快速定位生产环境中的问题。问题描述我们要解决的准备工作中的核心问题是什么基于上述准备工作的重要性和部署失败的常见原因我们要解决的准备工作中的核心问题可以归纳为一句话如何从零开始或基于现有的云服务提供商的托管服务快速、低成本、安全合规地配置好所需的开发环境、软件版本、依赖库、前置知识为后续的企业级AI Agent Harness Engineering底座部署打下坚实的基础问题解决方案一基于云服务提供商的托管服务推荐适合90%以上的企业对于90%以上的企业来说基于云服务提供商的托管服务是最佳的选择——因为云服务提供商如AWS、Azure、阿里云、腾讯云、华为云已经为我们配置好了大部分的基础设施如Kubernetes集群、Prometheus Grafana监控平台、ELK Stack日志平台、Nginx Plus WAF、Redis Cluster、PostgreSQL、TiDB、Milvus Zilliz Cloud Enterprise、Anthropic Claude 3 API、OpenAI GPT-4 Turbo API我们只需要按照云服务提供商的文档进行简单的配置即可不需要太多的运维知识可以大大缩短准备时间和部署时间降低运维成本。在本文中我们将以阿里云为例介绍如何基于云服务提供商的托管服务配置好所需的准备工作——当然你也可以选择AWS、Azure、腾讯云、华为云等其他云服务提供商配置方法基本相同。步骤1注册阿里云账号并完成实名认证如果你还没有阿里云账号请先访问阿里云官网注册一个账号然后完成实名认证个人实名认证或企业实名认证——如果是企业级部署建议完成企业实名认证因为企业实名认证可以享受更多的优惠和更好的服务。步骤2开通所需的云服务在完成实名认证后请先开通以下核心云服务注意大部分云服务都有免费试用额度你可以先使用免费试用额度进行测试测试通过后再付费使用阿里云容器服务Kubernetes版ACK用于部署Kubernetes集群推荐选择ACK Pro版因为ACK Pro版提供了更多的企业级功能如高可用性、自动扩容/缩容、安全合规、可观测性。阿里云Prometheus监控服务用于替代自建的Prometheus Grafana监控平台阿里云Prometheus监控服务已经集成了Grafana不需要再单独部署Grafana。阿里云日志服务SLS用于替代自建的ELK Stack日志平台阿里云日志服务SLS已经集成了Filebeat、Logstash、Kibana的功能不需要再单独部署这些工具。阿里云Web应用防火墙WAF用于替代自建的Nginx Plus ModSecurity OWASP Core Rule Set WAF阿里云WAF已经集成了Nginx Plus、ModSecurity、OWASP Core Rule Set的功能不需要再单独部署这些工具。阿里云Redis企业版Tair用于替代自建的Redis Cluster 7.2Redis Stack阿里云Redis企业版Tair已经集成了Redis Stack的功能如RediSearch、RedisJSON、RedisTimeSeries、RedisBloom不需要再单独部署这些工具。阿里云RDS PostgreSQL 16版用于替代自建的PostgreSQL 16pgvectorjsonbpg_trgm阿里云RDS PostgreSQL 16版已经集成了pgvector、jsonb、pg_trgm的功能不需要再单独安装这些扩展。阿里云TiDB Cloud可选用于替代阿里云RDS PostgreSQL 16版Zilliz Cloud Enterprise的组合如果你的企业有更高的并发要求和更严格的事务要求。Zilliz Cloud Enterprise如果不使用阿里云TiDB Cloud用于替代自建的Milvus 2.4Zilliz Cloud Enterprise是Milvus的官方商业版提供了更多的企业级功能如高可用性、自动扩容/缩容、安全合规、可观测性、Hybrid Search、多租户隔离、跨Region部署。OpenAI API/Anthropic Claude 3 API/Google Gemini 1.5 API/字节跳动Doubao API可选用于替代自建的模型API集群如果你的企业没有足够的GPU资源来部署自建的模型API集群。LangSmith可选用于替代自建的可观测性与调试平台如果你的企业需要更好的可观测性与调试功能。OpenZeppelin Defender可选用于替代自建的安全合规引擎如果你的企业需要更好的安全合规功能。步骤3配置阿里云容器服务Kubernetes版ACK集群在开通所需的云服务后请先配置阿里云容器服务Kubernetes版ACK集群——这是后续部署所有核心元组件的基础。在本文中我们将配置一个生产环境级别的ACK Pro集群配置参数如下你可以根据企业的具体情况进行调整配置项配置参数备注集群名称dify-agent-harness-prod建议使用有意义的名称集群规格ACK Pro版生产环境推荐使用ACK Pro版Kubernetes版本1.29.4-aliyun.1选择最新的稳定版本容器运行时containerd 1.7.11Kubernetes 1.24版本已经废弃了Docker作为容器运行时推荐使用containerd网络插件Cilium 1.15.5-aliyun.1Cilium提供了更好的网络性能、安全性、可观测性生产环境推荐使用CiliumService CIDR172.21.0.0/20不能与VPC CIDR、Pod CIDR冲突Pod CIDR10.244.0.0/16不能与VPC CIDR、Service CIDR冲突VPC CIDR192.168.0.0/16建议使用私有IP地址段不能与Service CIDR、Pod CIDR冲突虚拟交换机建议在2个或3个可用区各创建1个虚拟交换机生产环境推荐使用多可用区部署提高集群的高可用性安全组建议创建一个新的安全组开放以下端口1. 入方向22SSH仅开放给你的IP地址、6443Kubernetes API Server仅开放给你的IP地址和ACK的管理IP地址段、80HTTP后续通过WAF开放给公网、443HTTPS后续通过WAF开放给公网、30000-32767NodePort可选2. 出方向全部开放生产环境推荐使用最小化的安全组配置提高集群的安全性Master节点控制平面节点规格ecs.g7.2xlarge8 vCPU32 GiB内存数量3个可用区3个可用区各1个系统盘ESSD PL0100 GiB数据盘不需要ACK Pro版的Master节点由阿里云托管不需要我们自己管理但我们需要选择规格和数量生产环境推荐使用3个Master节点多可用区部署Worker节点数据平面节点规格ecs.g7.4xlarge16 vCPU64 GiB内存数量初始3个后续通过自动扩容/缩容调整到1-10个可用区3个可用区各1个系统盘ESSD PL1200 GiB数据盘ESSD PL1500 GiB用于存储容器镜像和Persistent Volume生产环境推荐使用高性能的Worker节点多可用区部署配置自动扩容/缩容自动扩容/缩容启用最小节点数1个最大节点数10个扩容阈值CPU利用率≥70%或内存利用率≥80%缩容阈值CPU利用率≤30%且内存利用率≤40%缩容冷却时间10分钟扩容冷却时间5分钟

更多文章