MemoryLake
返回全部文章
Tutorial2026 年 7 月 30 日·7 分钟阅读

如何在不丢失上下文的情况下从 GitHub Copilot 迁移到 Claude Code (2026)

您已决定将日常编码工作从 GitHub Copilot 迁移到 Claude Code。安装只需几分钟。但没有人警告过您的是,Copilot 吸收的关于您代码库的一切——您的规范、三个架构决策背后的原因、哪些模块可以安全重构以及哪些绝对不能重构——都不会随之迁移。

直接的答案是:没有导出按钮,因为您试图迁移的大部分内容从未作为您拥有的数据进行存储。Copilot 的持久层是您仓库中的一小部分指令文件,这些文件在一个下午就能移植完毕。其余的内容则存在于您关闭后就会结束的聊天会话中。因此,一次干净的迁移意味着移植这些文件,刻意重写隐性知识,然后——真正能让您免于再次重复此操作的部分——将这些知识放在这两个工具都不拥有的地方。

本指南将按顺序涵盖这三个方面。

为什么切换编码智能体会丢失您的上下文

Copilot 的记忆比感觉上要浅薄得多

在使用数月后,Copilot 感觉就像了解您的项目。但实际上,它在每个会话中拥有的只是您打开的文件、它可以从仓库中检索的内容以及您的指令文件。仓库级别的自定义指令——.github/copilot-instructions.md 以及与之并存的每个范围的指令和提示文件——是真实、可移植且受版本控制的。其他一切都是重新进行的推理,外加一个只是记录而非知识库的聊天历史。开发人员经常会遇到这种局限性;其机制在为什么 GitHub Copilot 会忘记您的代码库上下文中有所涵盖。

有价值的部分从未被写下来

昂贵的知识是您只在对话中产生的那些:为什么支付模块容忍重复写入、哪个测试套件在说谎、之前提取身份验证服务的尝试为什么失败以及原因。您在聊天中向 Copilot 解释了这些事情。没有可以复制的文件,即使有,也没有可以捕获它们的导出格式。

Claude Code 也是无状态的

这是大多数迁移指南都会忽略的部分。Claude Code 在每个会话开始时都是一张白纸。它会读取项目根目录下的 CLAUDE.md 和用户级别的 ~/.claude/CLAUDE.md,并且可以访问您通过 MCP 连接的任何工具——但会话本身不会积累任何能够留存下来的内容。如果您在不改变上下文存储方式的情况下切换工具,您将面临同样的问题,只是界面不同,正如Claude Code 忘记项目上下文中所详细描述的那样。

切换工具只是改变了界面。只有改变上下文存放的地方,才能改变现状。

手动迁移

步骤 1:收集 Copilot 实际持有的内容

梳理您的仓库并收集可移植的部分:

  • .github/copilot-instructions.md —— 您的仓库级指令
  • 您积累的任何特定范围的指令文件和可重用的提示文件
  • 编码规范的编辑器设置,例如 lint 和格式化程序配置
  • 您在 wiki、ADR 文件夹或入职文档中固定的任何内容

然后进行更难的盘点。打开您过去两周的 Copilot 聊天记录,写下您不得不解释不止一次的每一处上下文。这种重复就是您的记忆审计:您不断重复输入的内容,恰恰是从未被存储的内容。

步骤 2:在 Claude Code 会读取的地方重建它

Claude Code 会读取 CLAUDE.md,所以从这里开始。移植指令内容,然后对其进行结构化,以便在项目增长时保持其有用性:

  • 项目形态:有哪些服务、它们之间如何通信、哪些已被弃用
  • 规范:命名、错误处理、测试预期、提交和评审规范
  • 带有原因的决策:不是“使用 Postgres”,而是“使用 Postgres,因为队列模式的工作线程破坏了进程内状态”
  • 陷阱:不稳定的测试套件、具有隐藏耦合的模块、必须按顺序运行的迁移

将用户级别的偏好保留在 ~/.claude/CLAUDE.md 中,将项目事实保留在仓库文件中,这样团队成员就可以继承项目部分,而不会混入您的个人偏好。

这可以为您提供一个可运行的 Claude Code 设置,这确实比从零开始要好。但它也有上限:单个 markdown 文件只是一个简报文档,而不是记忆。它不会自己增长,在经历了一次艰难的调试会话后没有人会去更新它,而且其中的任何内容都无法触及您用于事件审查的助手,或者您下个月路由到更便宜模型的智能体。六个月后,CLAUDE.md 要么过时,要么变得庞大无比。

更好的方法:统一的记忆层,适用于任何工具

避免重复这种迁移的解决方法是,停止将项目知识存储在您碰巧使用的任何智能体内部。MemoryLake 独立于您的工具之外:您的架构说明、决策和仓库上下文都存在于一个记忆层中,而 Claude Code 通过 MCP 从中读取。如果您以后添加 Codex、保留 Copilot 用于自动补全,或者将工作交给第二个智能体,它们都会读取相同的源,而不是各自重建私有副本。

步骤 1:创建 API 密钥

生成密钥并在大约 30 秒内发出您的第一次请求。

创建 MemoryLake API 密钥
创建 MemoryLake API 密钥

步骤 2:上传您的第一批记忆

放入承载您项目真实上下文的文档、图像和文件——您刚刚编写的 CLAUDE.md、架构图、ADR、操作手册、事件总结、API 规范。这些是以前只存在于聊天中的材料。

上传您的第一批记忆到 MemoryLake
上传您的第一批记忆到 MemoryLake

步骤 3:连接您的 AI 和智能体

让 Claude、Codex、OpenClaw 以及您的其他智能体通过 MCP 或 API 访问该记忆。有关 Claude Code 的具体细节,请参阅如何为 Claude Code 添加记忆。从那时起,新会话启动时您的项目就已经加载完毕,下一次工具更换只是配置修改,而不是迁移。

通过 MCP 连接您的 AI 和智能体
通过 MCP 连接您的 AI 和智能体

这次迁移的实际成本与节省

诚实地评估手动路径的成本。移植指令文件:不到一小时。将隐性知识重构到 CLAUDE.md 中:如果您做得彻底,需要半天时间。然后是经常性成本:假设您固定的项目上下文是 2,000 个 token,并且每天在不同的会话和智能体之间被重复陈述 20 次。这相当于每月花费大约 120 万个 token 来重复您自己,并且每次打开会话时都要花费四五分钟重新进行简报。

一次性写入共享记忆层可以取代这其中经常性的那一半成本。它还改变了您下一次评估工具时的情况:在今天,尝试 Codex 或新的智能体意味着要再次支付重建上下文的成本,这正是团队坚持使用已经无法满足需求的工具的原因。当记忆是外部的时,评估一个工具只需要一个下午,而不是一个月。

切换的最佳实践

迁移决策,而不是聊天记录

不要将聊天日志直接倾倒到您的新设置中。提取结论——选择、原因、日期——并存储这些内容。结论很容易检索;而聊天记录会掩盖关键信号,并且读取它们会消耗 token。

同时运行这两个工具两周

在 Claude Code 承担智能体工作的同时,保留 Copilot 的自动补全。重叠使用会暴露您忘记移植的上下文,因为您会注意到自己将某些事情解释了两次。

一次写入记忆,随处读取

每当您向智能体解释一些您以后还会需要的事情时——规范、约束、事后分析结果——请将其放入共享层,而不是会话中。这种习惯正是让第三次迁移变得微不足道的关键。这与从 Cursor 迁移到 Claude Code以及摆脱 Codex而无需重新开始背后的原理相同。

结论

从 GitHub Copilot 迁移到 Claude Code 是冠以同一个名字的两次迁移。第一次是机械性的:将指令文件转换为 CLAUDE.md,一小时内即可完成。第二次是让人痛苦的——您在聊天中解释了数月的上下文,由于从未被存储,它没有导出路径。

您可以手动重建它,而且您应该重建一次。但如果您在 Claude Code 内部重建它,您就是将其存储在您未来将会离开的下一个工具中。将您的项目记忆保留在您的智能体可以读取的图层中,问题就不再是“我如何将我的上下文迁移到 Claude Code”,而是“今天应该由哪个智能体来读取它”。

常见问题

我可以将我的 GitHub Copilot 聊天历史记录导出到 Claude Code 吗?

目前不支持将 Copilot 聊天历史记录以可用形式导出到 Claude Code 中,而且即使是原始记录,格式也不对——Claude Code 读取的是指令和连接的记忆,而不是其他工具的日志。请移植您的指令文件,然后手动从这些聊天中提取持久的结论。

与 `.github/copilot-instructions.md` 对应的 Claude Code 文件是什么?

项目根目录下的 CLAUDE.md,以及用户级别偏好设置文件 ~/.claude/CLAUDE.md。两者都是纯 markdown 文件,并且都应该像代码一样纳入相同的评审规范中,因为过时的指令文件会悄悄误导读取它的每个会话。

Claude Code 会在不同会话之间记住我的项目吗?

它自身不会。它在每个会话中都会重新读取您的 CLAUDE.md 文件,并且可以访问您通过 MCP 连接的任何内容,但会话本身不会保留任何内容。持久性来自于您将其连接到的内容。

迁移后我应该继续使用 Copilot 吗?

许多团队都会这样做——使用 Copilot 进行行内补全,使用 Claude Code 进行多文件智能体工作。只有当两者都指向相同的上下文时,这种组合才会让人感到舒适,否则您将不得不维护两套存在分歧的项目知识。

我该如何避免再次进行这种迁移?

将项目上下文存储在智能体之外。当规范、决策和陷阱存在于您的智能体通过 MCP 或 API 读取的记忆层中时,切换或添加工具只是连接方式的改变,而不是一个重建知识的项目。