# 像培训新开发者一样引导Claude Code：来自17年开发的经验教训

- 来源：Claude：Blog（网页）
- 发布时间：2026-04-28 00:00
- AIHOT 分数：72
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmoiumepw009wsl0xv8ezm24a
- 原文链接：https://claude.com/blog/onboarding-claude-code-like-a-new-developer-lessons-from-17-years-of-development

## 精选理由

这不是又一篇 Claude Code 安利文，而是一个维护了 17 年 70 万行 C# 代码库的人，把带新人的方法论原封不动搬给了 AI，结果真管用。做 legacy 项目的人应该认真看他的 context 管理和 skill 库设计。

## AI 摘要

华盛顿大学MacCoss实验室的Brendan MacLean将培训新开发者的方法论应用于Claude Code，以管理拥有70万行C#代码、持续开发17年的开源蛋白质分析软件Skyline。他通过创建独立的AI上下文仓库、编写CLAUDE.md引导文件以及设计“技能”模块（如调试技能），为Claude Code建立项目认知。该方法显著提升了开发效率：搁置一年的文件视图面板功能在两周内完成；CSS布局更新从依赖设计师变为不到一天实现。此外，Claude Code还自动化了2000多张教程图片的截图比对和每日测试报告生成，团队现在主要依靠它生成代码和脚本。

## 正文

这套让新开发者上手 MacCoss 实验室 70 万行代码库的方法论，同样适用于 Claude Code。以下是 Claude 开发者大使 Brendan MacLean 的做法——他所在的实验室也是我们 Claude for Open Source 项目的成员。

分类

Claude Code

产品

Claude Code

日期

2026 年 4 月 28 日

阅读时间

5

分钟

https://claude.com/blog/onboarding-claude-code-like-a-new-developer-lessons-from-17-years-of-development

Skyline 是一款开源蛋白质分析软件，由华盛顿大学 MacCoss 实验室的首席开发者 Brendan MacLean 维护，自 2008 年起持续开发至今。Skyline 帮助研究人员检测和量化血浆、组织等样本中的蛋白质，对生物标志物发现、疾病研究和药物开发至关重要。MacCoss 实验室的代码库包含超过 70 万行 C# 代码，由一个小团队维护了 17 年，每晚自动运行超过 20 万项测试。

一幅用 Blender 制作的西雅图天际线 3D 插画，代表华盛顿大学 MacCoss 实验室所在地——Brendan MacLean 及其团队自 2008 年以来在此开发和维护 Skyline。Claude 帮助 Brendan 在背景中添加了 Claude 标志。图片由 MacCoss 实验室提供。

近三十年来，Brendan 一直是 Skyline 的纽带，带领数十名本科生、研究生和博士后研究员融入实验室。

随着开发者来来去去，代码库吸收了他们的贡献。到 2024 年，这个长期项目已背负起常见的负担。随着开发者更替，某些区域变得无人敢碰。

经过数十年培训实验室成员的经验，Brendan 深知如何让研究人员快速上手实验室庞大的代码库。但他没想到的是，将同样的方法论应用于 AI 工具，竟能让 Skyline 的代码库重新变得可控。

同样的上手难题，不同类型的开发者

Brendan 原本怀疑，现代 AI 编码工具能否像专门为 C# 语言和环境打造的专用工具那样，真正理解 C# 代码。

在浏览器中使用 Claude.ai 进行的早期实验印证了这一模式。他会描述一个问题，获得回复，然后将整个 C# 文件复制回自己的项目中，将范围限定在他无需参考项目代码就能描述的独立问题上。

"当改动变得愈发零碎时，整个过程就变得非常繁琐，"Brendan 说道。

每次与 Claude.ai 的对话都感觉像是从零开始，因为它完全不理解 Skyline 是什么、其组件之间如何关联，以及 17 年的开发历程积累了哪些成果。

这与 Brendan 在指导新入职开发者时面临的体验如出一辙，这让他萌生了一个想法。

"我可以像带实习生一样，通过 Claude Code 将 Claude 引入我的大型项目：先解释足够的信息，让它成功完成一个有限的项目，并为下一次迭代提供更好的上下文，"Brendan 说道。

他将所有 AI 上下文移入一个独立的仓库 pwiz-ai，该仓库与代码库分离，因此适用于所有分支和时间节点。根目录下的 CLAUDE.md 文件负责处理环境设置，并指引 Claude 找到相关文档：可以将其视为"全局概览"，而非专业知识本身。

专业知识存储在技能（skills）中，这是一种为智能体提供能力和专业知识的开放格式。例如，他的调试技能旨在将 Claude 从他所谓的"猜测与测试"模式中拉出来，引导其在尝试任何修复之前先进行根因分析。技能可以手动或自动触发；Brendan 会为最关键的那些技能设置明确的条件——调试技能描述中写道："在调查 bug、故障或意外行为时始终加载。"

pwiz-ai 仓库结构图，展示了上下文、技能和 MCP 集成如何连接到 Skyline 的代码库。图片由 MacCoss 实验室提供。

上下文建立后，教会 Claude 调试代码库来龙去脉的负担就大大减轻了。Claude 已经知道代码的功能。交互从理解开始，而非从零起步。

"那个看似重大的担忧——'Claude 无法真正了解我的大型项目'——正变得越来越清晰：上下文不过是另一个需要维护和扩展的工件而已，"Brendan 说道。

减少技术债务，加速开发进程

在 Skyline 中构建“文件视图”面板（Files View）——一个显示所有文档相关文件、具备文件系统监控和拖拽整理功能的新界面——这个为期一年的项目，在负责该功能的开发者离职后便搁置未完成。Brendan 接手后使用了 Claude Code。

两周后，项目便告完成，所有最终提交均由 Claude 共同参与编写。

Brendan 表示：“此前处于这种状态的遗留工作，通常最终都会被废弃。”在学术实验室中，开发者流动频繁——研究生毕业、博士后转岗、实习生暑期结束离开。过去，任何进行中的工作都只能永远被搁置。

三年前，在负责维护 Skyline 夜间测试管理模块的开发者离职后，Brendan 便停止为该模块添加新功能。该模块是用 Java 编写的，是 LabKey Server 科学数据门户网站的一部分。最近，在让一位经验丰富的 LabKey 开发者使用 Claude Code 创建了配置文档后，Brendan 花了不到一天时间，就添加了他多年来一直想要的功能，并用过去他只雇设计师来完成的 CSS 更新了页面布局。

新的基础设施也随之建立。

Skyline 超过 2000 张教程图片的截图复现现已完全自动化，且几乎达到 100% 可复现。通过 Claude Code 扩展，增加了仅显示差异的视图和像素变化放大功能，以及一个由 Claude 用 C# 编写的 MCP 服务器，使其能够“看到”这些差异。Claude Code 每天早上生成一份每日摘要，显示从 Skyline 夜间测试基础设施中提取的测试失败、异常和未解决的支持线程，在 Brendan 开始工作前就发送到他的收件箱。

Claude 还用 Python 编写了 MCP 服务器，以实现这一功能，它从 LabKey Server 上的三个独立关系型数据流、团队邮件以及 GitHub 上带有发布标签的代码中提取数据。

由 Claude Code 自动生成的每日摘要邮件，从 Skyline 的夜间测试基础设施中提取数据。图片由 MacCoss 实验室提供。

Brendan 的开发者们现在几乎不再自己写代码，而是主要靠指导 Claude Code 来完成工作，并利用该工具自主生成自动化脚本和 MCP 实现。例如，实验室里一位曾对智能体编程工具持怀疑态度的开发者，构建并发布了一个新的绘图扩展——一个用于可视化离子淌度数据的 mobilogram 面板——并将功劳归于 Claude Code。

这个 mobilogram 面板是用 Claude Code 构建的，它将离子淌度数据与质谱结果一同可视化。图片由 MacCoss 实验室提供。

Brendan 说："我看到几乎每个人都在接手有趣的新功能，这些功能他们以前可能觉得被其他工作埋没，没空去尝试。"

给处理遗留代码库的开发者的建议

基于 17 年引导新开发者的经验，以及一年多将同样的方法论应用于 Claude Code 的实践，以下是 Brendan 想对处理遗留代码库的开发者说的话。

上下文是你最好的朋友

Claude 生成的待办事项列表和计划不会跨会话持久保存。上下文才是持久存在的，并且必须有意识地维护。这是大多数开发者跳过的一步，也是大多数开发者成功之路停滞不前的原因。

Brendan 说："要明白，如果你不记录‘上下文’，Claude 就无法学习。不要指望魔法。投入精力去构建和维护你的上下文层。把它当作任何其他项目工件来对待：进行版本管理、不断扩展、持续维护。"

Brendan 将 AI 上下文放在一个单独的仓库中，因为它增长的速度与代码不同，并且适用于所有分支和时间点——将其放在代码仓库内会变得受限。将上下文放在同一个仓库中也是一个可行的替代方案；关键在于它要经过版本管理、得到维护，并且在需要时可用。

投入精力构建你的技能库

使用技能来编码领域知识，任何 Claude 实例都可以加载。Brendan 的技能遵循"引用而非嵌入"的原则：每个技能都指向一个中央文档知识库，而不是复制内容，从而保持技能轻量且易于维护。

他使用频率最高的技能包括：一个名为 askyline-development 的技能，用于引导 Claude 了解项目及其文档；一个版本控制技能，用于编码项目特定的提交和 PR 规范；以及一个调试技能，旨在将 Claude 从“猜测与测试”模式中拉出来，引导其在尝试任何修复之前先进行根本原因分析。

当数据访问是关键时，使用 MCP 集成。在 Claude 需要访问真实数据（如测试结果、异常报告、支持线程）的地方，构建 MCP 集成。

对于开源项目而言，构建和维护一个上下文层尤为重要。这里没有入职预算，没有超越书面记录的制度性记忆，也无法保证任何贡献者明年还会在。而上下文一旦构建完成，就能被每一位贡献者使用，并且能在项目的整个生命周期内持续存在，这是人类制度性知识永远无法做到的。pwiz-ai 仓库本身就是一个开源产物——它属于项目而非任何单个贡献者的上下文，并且会比所有构建它的人存在得更久。

十七年的入职经验，一个结论

你不会交给一个新员工一个 70 万行的代码库，并期望他第一天就出成果。你会先给他找一个范围明确的项目，带他熟悉，然后随着他理解能力的增长再逐步扩大他的工作范围。

正如 Brendan 所学到的那样，你用 Claude 构建的上下文也是以同样的方式运作的。

一旦工程师对代码库足够了解，他们就能跨分支和时间点进行工作。而 Claude，在获得足够的上下文和指引后，也能做到同样的事情。

*Dario Amodei，Anthropic 的联合创始人，曾是 MacCoss 实验室的成员。

视频 · 前往原文观看

用 Claude 改变你组织的运作方式。
