正文

长任务 Agent 最吸引人的地方,是它终于能记住项目、接着上一次的工作继续推进。但“能记住”也改变了风险的形状:问题不再只是某一次 prompt 泄露了什么,而是这个环境在下一个任务里还带着什么。

TechRadar 在 2026-06-12 报道,OpenAI 计划收购 Ona,重点是让 Agent 拥有安全、持久的环境,以便访问工具、系统和上下文,并在较长时间内继续推进任务。参考:TechRadar 报道

这类变化对开发者很直接。Agent 现在可能在云端或本地环境里保存项目状态、记住仓库细节、继续执行计划、调用 MCP Server、复用缓存,并在你关闭电脑后继续工作。你需要先把隐私隔离规则写清楚,再把敏感项目交给长任务 Agent。

持久环境不是一个更大的聊天窗口

工作目录源码、配置、测试数据、临时输出
执行日志命令、错误、路径、API 响应片段
记忆项目规则、仓库结论、用户偏好
缓存依赖、上下文摘要、模型缓存
工具会话GitHub、Slack、Jira、数据库、云服务连接
MCP 状态Server 配置、session ID、授权记录
临时环境单次 PR、可重建依赖、测试输出、短期日志
持久环境项目规则、可审计任务状态、脱敏上下文、长期计划
Agent 可能会把哪些东西留在身后

“环境”需要被拆成几个可见的对象。 如果你不知道这些对象保留多久、谁能访问、怎么删除,就不要把生产数据、客户数据或长期凭据放进 Agent 环境。

临时环境与持久环境,本来就该是两种承诺

GitHub 文档说明,Copilot cloud agent 会在 GitHub Actions 支撑的临时开发环境中工作,可以探索代码、修改文件、执行测试和 lint。文档也提到,cloud agent 可以在后台完成任务、携带 Copilot Chat 上下文、使用 Copilot Memory、连接 MCP Server,并受 59 分钟 session 限制。参考:GitHub Copilot cloud agent 文档。 你可以把 Agent 环境分成两类: 临时环境的目标是任务完成后能清掉。持久环境的目标是跨任务继续工作。你不能把两者混成一个默认工作区。

记住得越多,先划边界就越重要

可公开开源代码、公开 README、公开 issue
项目内部私有源码、内部接口文档、测试用例
受限客户样本、合同、财务、员工信息
机密API Key、OAuth token、私钥、生产数据库 dump
GitHub单仓库、短期 token、只允许开分支和 PR
数据库只读副本、脱敏数据、禁止生产写入
云服务临时凭据、单项目、单动作范围
Slack / Teams限定频道、只读历史、禁止自动发敏感消息
Jira / Linear只读 issue 或只允许更新指定项目
MCP Server每个 Server 单独授权,禁止共享高权限 token
数据进入环境之前,应该先被分级

长任务 Agent 启动前,先给数据分级。不要等它读完仓库后再决定哪些东西敏感。 如果 Agent 必须理解受限数据,先做脱敏样本。让它看结构、字段和边界,不要直接给真实用户记录。

长期任务不该拿着长期权限

长任务 Agent 需要调用工具时,不要把人类账号的长期 token 交给它。持久环境一旦保存了 token,风险会跨越单次任务。 你可以按下面方式给权限: 凭据过期时间要短于任务周期。任务跑完后,自动撤销 token,比让 Agent 自己“记得不用”可靠。

真正难管理的,是那些看不见的记忆和缓存

  • 查看 Agent 记住的项目规则和结论。
  • 删除某个仓库、客户或任务的记忆。
  • 区分用户记忆、项目记忆和组织记忆。
  • 查看缓存是否跨任务复用。
  • 禁止把 secret、客户样本、日志片段写入长期记忆。
session ID 被重放session 绑定用户和 client,设置过期和轮换
token 被透传token 必须签发给 MCP Server,不能拿上游 token 直接转发
Server 越权访问每个 Server 单独 scope,禁止默认访问全部工具
如果看不到它记住了什么,就谈不上删除

Persistent agent 会保存文件,也可能保存记忆和缓存。2026 年 5 月的一项 persistent agent case study 记录了一个持续研究环境:96 个 active days、502 个 memory-related files、17 个 agent directories、57 个 skill files,并显示严格轨迹子集里 82.9% tokens 来自 cache reads。参考:Persistent AI Agents in Academic Research。 这个案例提醒开发者:长任务 Agent 的成本和风险可能从“每次调用”转向“长期环境”。你需要知道记忆里保存了什么。 你可以要求环境支持这些操作: 如果一个工具只说“它会记住你”,但不给查看和删除入口,不适合处理敏感代码库。

一段持久 session,可能把权限也一起留下

长任务 Agent 常常会通过 MCP Server 连接 GitHub、文件系统、数据库、浏览器或企业工具。MCP 官方安全建议列出了 confused deputy、token passthrough、SSRF、session hijacking、本地 MCP Server compromise、scope minimization 等风险。参考:MCP Security Best Practices。 其中最容易被忽略的是三类 MCP 状态: 长任务 Agent 会放大这些风险。一次短会话里的错误可能很快结束;持久环境里的错误 session 可能在后续任务继续可用。

信息流要跟着任务走,而不是跟着环境无限留下

规划 Agent 和执行 Agent规划只给需求和目录,执行只给目标文件
代码 Agent 和安全 Agent安全 Agent 读 diff 和日志,不拿业务全量数据
文档 Agent 和实现 Agent文档 Agent 读公开接口和脱敏示例
外部供应商 Agent 和内部 Agent外部 Agent 只拿最小任务包
每个长任务都该有自己的数据边界

GAAP 论文提出一种 Agent 执行环境,用信息流控制跟踪私密数据在任务步骤之间、跨多个任务之间的访问和使用。论文强调,系统不能只信任模型或 prompt;它要按用户给出的权限规格,确定哪些私密数据可以披露给模型、工具或外部方。参考:An AI Agent Execution Environment to Safeguard User Data。 开发团队可以先用更简单的版本落地:让每个长任务都带上数据流记录。 这份记录能让 reviewer、管理员和安全同事知道 Agent 被允许读什么、不能碰什么、任务结束后该清什么。

多 Agent 协作时,不该共享一整个世界

Confidential computing survey 指出,LLM-driven agents 会规划、调用工具、维护 persistent memory,并通过 MCP、A2A 等协议委托给其它 Agent;这会带来 prompt injection、context exfiltration、credential theft 和 inter-agent message poisoning 等风险。参考:When Agents Handle Secrets。 如果你让多个 Agent 协作,不能让它们共享同一份全量上下文。 上游 Agent 的权限不应该自动传给下游 Agent。每次委托都要重新确认数据范围、工具范围和日志保留。

YAML
agent_data_boundary:
  task: "整理企业客户导入失败问题"
  allowed_data:
    - "脱敏后的失败样本"
    - "导入模块源码"
    - "测试环境日志"
  blocked_data:
    - "生产数据库 dump"
    - "客户原始手机号和邮箱"
    - "支付凭据"
  allowed_tools:
    - "read_repo"
    - "run_unit_tests"
    - "create_pull_request"
  blocked_tools:
    - "query_production_db"
    - "send_slack_message"
    - "write_cloud_config"
  retention:
    workspace_ttl_hours: 24
    memory_write_allowed: false
    logs_redact_secrets: true

任务完成并不等于环境已经收尾

  • 撤销临时 token 和 OAuth grant。
  • 删除临时工作目录、构建产物和下载文件。
  • 清理包含客户数据的日志和测试输出。
  • 检查 Agent memory 是否写入了敏感摘要。
  • 关闭不再使用的 MCP Server session。
  • 保存必要审计记录,不保存明文 secret。
  • 给每个 Agent 环境设置数据等级:公开、内部、受限、机密。
  • 给 workspace 设置 TTL:任务完成或超时后清理。
  • 禁止把 secret、生产 dump、客户原始数据写入 memory。
  • 给工具 token 设置短期、单任务、单 scope。
  • 给 MCP Server 设置 per-server 授权和 session 过期。
  • 要求每个长任务记录 allowed data、blocked data、allowed tools、retention。
  • 每周审计一次 memory、缓存、日志和活跃 session。
生产事故含客户数据人工先脱敏,再交给临时环境分析
权限系统重构Agent 可读设计文档和测试,不拿真实凭据
数据库迁移用测试库和样本数据,不连生产库
安全漏洞复现隔离沙箱,禁止联网和长期记忆
供应商合同、财务数据不放进 coding agent 环境
跨客户定制项目每个客户单独 workspace 和记忆边界
PR 合并以后,还要清掉什么

长任务完成后,别只看 PR 有没有合并。你还要收尾环境。 如果任务失败,也要执行这套清理。失败任务更容易留下调试日志、半成品文件和扩大权限后的工具连接。

有些东西本来就不该进入持久环境

有些任务不适合交给 persistent environment。 持久环境适合保存项目规则、任务状态和脱敏上下文。它不适合当作“什么都能放进去的开发电脑”。

从几条可执行的默认规则开始

已经在试长任务 Agent 的团队,往往从这些默认规则开始。 这些规则的作用,是让长任务 Agent 从“能继续干活”变成“能按边界继续干活”。

结语:持久环境要按数据边界验收

Persistent environment 让 Agent 能处理更长、更复杂的任务。它也让隐私风险跨越单次 prompt、单次 PR 和单次 session。

长任务 Agent 应被当作一个会保存状态的开发环境管理:它读过什么、记住什么、缓存什么、拿过哪些 token、连接过哪些工具、任务结束后清理了什么。只有这些边界清楚,它才适合进入真实团队工作流。

参考来源

OpenAI's latest acquisition could see big changes on the way for its Codex coding assistantTechRadarAbout GitHub Copilot cloud agentGitHub DocsAn AI Agent Execution Environment to Safeguard User DataarXivWhen Agents Handle Secrets: A Survey of Confidential Computing for Agentic AIarXivPersistent AI Agents in Academic Research: A Single-Investigator Implementation Case StudyarXivSecurity Best PracticesMCP 官方文档

相关文章

当 AI Agent 开始替人动手,企业最先缺的不是更强模型智能编程 / 约 9 分钟MCP Server 安装前怎么检查 tool poisoning 风险智能编程 / 约 12 分钟AI Coding 跑得越快,GitHub 和 CI 为什么先开始吃不消智能编程 / 约 10 分钟AI Agent 把 PR 写得更快以后,review 为什么反而更贵了智能编程 / 约 11 分钟AI Agent 权限怎么设:哪些命令能自动跑,哪些必须人工确认智能编程 / 约 13 分钟如何让 AI 只改该改的文件:保障代码安全与项目完整的策略智能编程 / 约 9 分钟装过 codexui-android 后,Codex 登录凭据可能泄露怎么办错误日志 / 约 8 分钟AI 编程开始按量计费后,团队终于得给每次 Agent 长跑算账了智能编程 / 约 11 分钟

作者信息