AI Agent从演示走向生产,最容易被低估的部分不是模型,而是运行时。模型只负责在某一刻生成计划或下一步动作,真正替它保存会话、读取文件、执行Shell、调用MCP、访问网络、压缩上下文并恢复长任务的,是模型之外的一整套Harness。
AWS开源Strands Harness,把文件读写、代码编辑、Shell、Web Search、长期记忆、上下文管理、Skills和MCP等能力预集成,并允许连接Anthropic、OpenAI、Amazon Bedrock、Google及本地Ollama模型。这意味着Agent基础设施正在像Web服务器、容器运行时一样成为独立产品层。但同一天受到关注的Z.ai ZCode事件也给出了另一面:一旦运行时默认索引整个代码库,并把内容交给云端服务,工程便利就可能直接穿透企业数据边界。
一、为什么Agent需要独立运行时
早期Agent通常是一个循环:把Prompt发给模型,解析工具调用,执行,再把结果放回上下文。原型阶段这很有效,但进入生产后,团队很快会遇到状态丢失、工具超时、权限过大、上下文爆炸、模型切换困难和日志不可追踪等问题。如果每个业务应用都自己实现这些能力,安全策略会散落在大量代码中,同一个Shell工具在不同团队甚至有完全不同的审批逻辑。
Harness的价值,是把模型与执行环境分离。上层模型可以更换,下层工具可以增减,而身份、会话、记忆、权限、预算、审计和失败恢复保持稳定。一个成熟运行时至少承担八项职责:模型路由、工具注册、身份传播、策略执行、状态持久化、上下文压缩、可观测性和异常恢复。
这种分层也改变了责任边界。模型提出“读取仓库并运行测试”,不代表它天然拥有读取全部目录和任意联网的权利。运行时应像操作系统内核一样,对每个动作做授权判断。模型是非确定性的计划生成器,Harness才是必须确定性执行规则的控制面。
AWS相关报道援引其测试称,Strands Harness在部分Terminal Bench 2.1任务中可提升约26%的执行效率,并在特定测试中以更低成本获得更高分数。这些属于厂商测试,仍需独立验证,但它说明运行时设计会直接影响Agent表现:更好的上下文管理、工具反馈和任务恢复,可能比单纯更换模型更能提高端到端成功率。
二、ZCode争议暴露的是“默认值即治理”
据Reuters相关报道,Z.ai关闭了ZCode部分功能,此前用户发现Codebase Indexing默认启用,并会将代码库内容上传至阿里云相关服务,引发未经明确同意的数据外传争议。公司随后表示已修复问题,为开发者和企业启用零数据保留策略并开源ZCode;相关机构参与独立评估,完整报告仍有待发布。
现有信息不能等同于“大规模代码泄漏已经发生”。部分早期说法后来被撤回或修正,事实应以完整安全报告和独立评估为准。但事件已经足以说明一个通用问题:开发者理解的“安装一个本地编码助手”,与产品实际执行的“扫描仓库、生成语义索引、向云端发送内容”可能不是同一件事。
在传统SaaS里,用户通常知道自己点击了上传。Coding Agent则会主动遍历目录、读取配置、分析依赖和建立索引,数据处理发生在后台,范围也远大于当前打开的文件。此时,隐私政策里一句笼统的“可能处理内容”无法替代产品内的明确选择。
默认值具有放大效应。若默认开启索引,绝大多数用户会保持开启;若默认允许网络,模型生成的一条命令就可能连接外部服务;若默认长期保存会话,密钥和代码片段就可能进入记忆库。安全不能依赖每位开发者在首次启动时读懂所有设置,企业版的合理起点应是“默认不外传、默认最小权限、默认可见、默认可撤销”。
三、Agent数据流必须被当成一等公民
企业评估Coding Agent时,不能只问“代码是否用于训练”,因为训练只是数据生命周期的一部分。完整问题应包括:哪些文件会被读取?索引在本地还是云端生成?原始内容、向量和摘要分别保存在哪里?会经过哪些第三方服务?保存多久?日志是否含代码?删除请求能否覆盖缓存、备份和派生索引?
代码语义索引尤其容易制造模糊地带。即使服务声称不保留原始文件,向量、符号表、摘要、依赖关系和检索缓存仍是由代码派生的数据,也可能泄露项目结构、内部API和业务名称。“零数据保留”需要明确适用对象、技术实现与例外情况,不能只作为营销标签。
建议企业建立Agent数据流清单,把输入按公开、内部、机密、受监管四级分类,并把处理位置分为终端、本地服务器、企业云账户和供应商账户。每一种工具调用都标注读取数据级别与可能出口。没有完成这张图之前,不宜让Agent接触生产仓库。
对于机密项目,可采用本地嵌入模型与本地向量库,云端模型只接收经过最小化的片段;更高敏感度场景则应全链路本地运行。数据最小化不是简单截断字符,而是先在可信环境中进行符号解析和检索,只把完成当前任务必需的函数、接口和错误信息交给模型。
四、生产级Harness需要四道强制安全边界
第一道是文件系统边界。Agent只能看到显式挂载的工作区,默认拒绝用户主目录、SSH密钥、云凭据、浏览器配置和其他项目目录。写操作限制在分支或临时工作树,删除、覆盖和大范围重构需要额外批准。.gitignore不能被当成安全策略,还应配置专门的Agent忽略规则与敏感文件扫描。
第二道是进程与Shell边界。命令在容器、虚拟机或受限沙箱中运行,设置CPU、内存、磁盘、时间和子进程数量上限。危险命令不能只靠字符串黑名单,因为同一效果可通过脚本、解释器或包管理器实现。更可靠的方法是能力白名单:测试Agent只拥有构建和测试能力,发布Agent才可能获得制品上传能力,而且身份不同。
第三道是网络边界。默认拒绝任意出网,只允许访问批准的软件源、模型端点和内部API。DNS、HTTP代理和防火墙日志应关联到会话ID。网页搜索结果、README、Issue和依赖包文本都属于不可信输入,不能因为被Agent读取就升级为指令。面对提示注入,网络响应必须与系统策略分层,外部内容无权改变工具权限。
第四道是凭据边界。不要把长期密钥写进环境变量后交给一个可执行任意Shell的Agent。运行时应通过凭据代理按任务签发短期、限域令牌,并禁止工具回显秘密。调用数据库、Git平台和云服务时,令牌要绑定具体仓库、操作类型和有效时间。高风险写操作采用双重条件:策略允许且用户批准。
五、审批机制不能变成“弹窗疲劳”
一种常见补救方式是让所有工具调用都请求用户确认,但几十次弹窗后,人会机械点击允许,审批失去意义。正确做法是按风险分级:只读工作区文件、运行既定测试等低风险动作可在会话授权范围内自动执行;安装依赖、访问网络、修改大量文件属于中风险,应展示目的、范围和命令;提交代码、发布制品、发送消息、修改生产系统属于高风险,必须逐次批准。
批准界面要展示实际将执行的动作,而不是模糊的“允许Agent继续”。如果命令包含管道、重定向、脚本下载或多条串联语句,应完整展示;若执行内容在批准后发生变化,授权自动失效。一次批准不能被后续任务复用,也不能从“允许读取一个文件”扩张为“允许读取整个仓库”。
同时需要预算型策略。例如单次任务最多读取多少文件、发起多少外部请求、消耗多少Token、运行多长时间。超过阈值时暂停并说明原因。资源预算既控制成本,也能限制失控循环与批量数据收集。
六、记忆和上下文压缩同样是安全系统
Strands Harness强调Session ID和长期任务状态,这对跨天编码非常重要,但记忆会把短暂暴露变成长期风险。Agent可能把访问令牌、客户名称、漏洞细节或尚未发布的代码摘要写入会话存储。企业必须区分任务状态、用户偏好和业务内容,三者采用不同保留期。
上下文压缩也不能只追求节省Token。摘要如果丢失“这段文本来自不可信网页”的标签,后续模型可能把恶意指令当成既定计划;如果丢失审批边界,恢复会话后的Agent可能误以为旧授权仍然有效。因此,安全标签、来源、权限和未完成审批必须作为结构化状态保存,不能只塞进自然语言摘要。
日志则要同时满足可审计和数据最小化。记录模型版本、策略版本、工具参数摘要、审批人、执行结果和数据目的地,但对密钥、代码正文和个人数据做脱敏。企业应能回答:某次提交由谁发起,Agent读取了哪些文件,调用了哪些外部端点,哪个策略允许了写操作,最终变更是否经过人审。
七、企业落地应先做“受限跑道”,再谈自主Agent
第一步,选取非生产、无敏感数据的仓库,建立20至50个真实任务,包括修复缺陷、补测试、升级依赖和解释代码。除任务成功率外,同时测量越权读取次数、无必要联网次数、错误写入、审批次数、回滚成功率和单任务成本。
第二步,把模型与Harness分开评测。同一运行时切换不同模型,观察计划质量;同一模型切换不同策略,观察安全与效率。否则团队很容易把运行时缺陷误判为模型能力不足,或用更强模型掩盖权限设计问题。
第三步,建立上线门槛:默认关闭云端索引;敏感仓库强制本地索引;出网采用白名单;凭据短期化;高风险动作逐次批准;会话和派生数据支持删除;供应商变更数据处理方式时必须重新告知并获得同意。
第四步,准备事故响应。管理员要能立即吊销Agent令牌、停止全部会话、导出审计记录、定位受影响文件和外部端点,并清除本地及云端索引。没有“紧急停止”和证据保全能力的Agent,不应获得生产写权限。
八、供应商和内部平台团队各自要交付什么
采购侧应要求供应商提供可机器读取的数据处理清单、子处理商列表、区域与保留策略,并允许管理员统一下发“禁止云端索引、禁止任意出网、禁止跨仓库读取”等组织策略。设置变化要有版本记录,不能在客户端升级后悄悄恢复默认值。对于所谓零保留模式,还应通过合同、技术文档和抽样审计交叉验证。
内部平台团队则不应把责任全部交给产品设置。它需要提供标准沙箱镜像、网络代理、短期凭据服务、统一审批组件和审计平台,让业务团队无需重复造轮子。最佳状态不是每个开发者研究几十个安全开关,而是企业策略在Agent启动前就已经生效,模型和插件都无法自行绕过。
结语:运行时决定Agent究竟是工具还是风险放大器
Strands Harness代表一个积极方向:把重复的工具、记忆、模型适配和上下文工程抽成可复用基础设施。ZCode争议则提醒行业,能力集中到运行时之后,错误默认值的影响也会被集中放大。开放源码有助于审查,但开源本身不等于安全;零数据保留值得欢迎,但不能替代明确同意、最小采集和可验证的数据流。
未来企业采购Agent平台,比较项不会只有Benchmark和模型价格,还会包括默认索引位置、沙箱强度、策略表达能力、日志完整性、数据删除范围和供应商链路。模型决定Agent“想做什么”,运行时决定它“被允许做什么”。后者才是企业能否放心把执行权交给AI的真正分水岭。
参考资料
- AWS / GitHub,Strands Harness SDK,2026-09-21:https://github.com/strands-agents/strands-harness
- SiliconANGLE,《AWS debuts Strands Harness, an open-source AI agent that can be deployed in any environment》,2026-09-21:https://siliconangle.com/2026/09/21/aws-debuts-strands-harness-open-source-ai-agent-deployed-environment/
- Reuters / StreetInsider,《China’s Z.ai disables AI coding assistant features after security issue》,2026-09-21:https://www.streetinsider.com/Reuters/China’s+Z.ai+disables+AI+coding+assistant+features+after+security+issue/25362524.html
- 2026年9月22日《AI技术每日分析:上下文、运行时与默认安全成为企业Agent新底座》:/2026/09/22/2026-09-22-AI技术每日分析-20260922/