返回博客

OpenViking:让研发上下文在不同 Agent 与工具之间持续在线

开发工具2026-09-19约 10 分钟OpenVikingAgent MemoryContext EngineeringSkills研发效率GPT88

换工具、换模型或换 Agent 时,研发团队最容易丢失的不是代码,而是上下文:项目背景、历史决策、工具能力、失败经验和个人工作习惯。OpenViking 的公开介绍将资源、记忆和技能放进统一的上下文文件系统,目标是让这些内容可以跨工具复用,而不是绑定在某个聊天窗口里。

本文根据字节跳动技术团队《换工具、换 Agent,不换上下文:OpenViking 让研发 Context 始终在线》的周刊摘要整理。摘要明确提到 L0/L1/L2 分层加载、会话结束后的长期记忆提取和检索轨迹保留;本文补充的是通用 Context Engineering 解释,不代表对 OpenViking 内部实现的完整复刻。

一、统一组织三类上下文

类型解决的问题典型内容
Resource项目和外部资料在哪里文档、代码、网页、数据、图片
MemoryAgent 过去知道什么决策、偏好、事件、经验和失败记录
SkillAgent 应该怎样做工作流、脚本、规则和验证方法

将三者分开很重要。资源是被读取的对象,记忆是经过筛选的长期信息,技能是可执行的方法。把所有内容都当作聊天历史,会导致检索、权限、更新和过期管理混在一起。

二、L0、L1、L2 为什么能降低上下文浪费

完整文档一开始不应全部塞入模型上下文。分层加载可以理解为:

L0:极短摘要,先判断是否相关
  → L1:目录或主题概览,决定读取哪些部分
    → L2:完整细节,只在需要时加载

这不是简单的摘要压缩,而是把“是否值得读取”提前到低成本层。一个大型代码库、长篇设计文档或技能目录,如果每次都加载全文,成本和噪声都会快速增长。

三、跨 Agent 复用上下文的前提

上下文要跨工具复用,至少需要:

  • 稳定的 URI、路径或资源 ID;
  • 明确的资源类型与来源;
  • 内容版本和更新时间;
  • 访问权限和敏感级别;
  • 摘要到详情的可追溯关系;
  • 检索命中原因和读取记录。

否则“统一上下文”只会变成另一个无法解释的黑盒搜索框。

四、会话结束后为什么要提取长期记忆

不是所有会话内容都值得保存。建议只沉淀:

  1. 已确认的决策;
  2. 可复用的解决方案;
  3. 反复出现的项目事实;
  4. 对未来任务有影响的失败经验;
  5. 用户明确要求保留的偏好或约束。

临时猜测、未验证的建议、一次性输出和包含秘密的日志不应自动进入长期记忆。记忆写入需要来源、时间、置信度和撤销方式。

五、检索轨迹比“命中结果”更重要

当 Agent 给出一个结论时,团队需要知道它为什么看到了某段上下文:查询是什么、命中了哪些资源、摘要如何展开成详情、哪条规则影响了结果。保留检索轨迹可以帮助排查:

  • 是知识缺失,还是检索错误;
  • 是读取层级太浅,还是上下文过多;
  • 是旧记忆压过了新事实,还是冲突没有治理;
  • 是技能触发错误,还是任务范围写得不清。

六、在 GPT88 Agent 工作流中落地

可以把项目接入拆成四步:资源登记、摘要索引、按需展开、会话归档。模型负责理解和选择,确定性系统负责权限、版本、脱敏、删除和审计。

来源与边界

原文:字节跳动技术团队|换工具、换 Agent,不换上下文:OpenViking 让研发 Context 始终在线。本文依据奇舞周刊第 597 期摘要整理,未取得原文全文和原文配图;OpenViking 的具体 API、协议和部署细节应以项目官方资料为准。