从北极代码库到灰色补全:GitHub Copilot 怎样从月球项目做成产品

原标题From Arctic Code Vault to Autocomplete: How GitHub Copilot Went From Moonshot to Product

GitHub 产品副总裁 Ryan J. Salva 讲述一个小研究团队的实验如何变成 Copilot,以及把它负责任地做大要过哪些关。

RJRyan J. Salva嘉宾
频道
Lenny's Podcast
视频
1:05:00
阅读
1 分钟
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
简体中文目前只有摘要,下面的全文是英语原文。
摘要

30 秒看懂

Ryan J. Salva 讲了 GitHub 和 OpenAI 怎样用一份公开代码快照,在大约一年半里做成多行自动补全,以及这个想法如何从 GitHub Next 研究组交到正式产品小队手里。他也谈到上线一款 AI 工具时的伦理、法律和算力问题,以及他怎样把团队产能拆成大胆赌注、日常运营和渐进改进。

  1. 1Copilot 的起点是一次规模上的意外GitHub 基础设施团队发现克隆请求暴涨,起初像拒绝服务攻击,后来发现是 OpenAI 在批量拉取仓库。GitHub 于是把北极代码库那份公开代码快照,用更负责任的方式交给对方。
  2. 2产品不只取决于模型,还取决于延迟和提示。团队测过开发者能容忍多少毫秒才不觉得被打断,甜点大约在 200 毫秒。
  3. 3研究团队要分阶段交给产品团队GitHub 先把部分研究员短期并进产品小队,再在周围招人;研究员回原组的条件是接替者已经学会技能,不能按日历日期走。
  4. 4把 Copilot 框成 AI 结对程序员,决定了它该怎样表现。若身边的结对对象在耳边说冒犯的话,人就没法干活,于是团队先写下得体行为的原则,再从粗糙的屏蔽词表走到 Azure 负责任 AI 的模型。
  5. 5Copilot 的定位是增强,不是替换它不该替代开发者、静态分析或单元测试。社区对用公开代码训练、对安全的怀疑,他希望 GitHub 一直听见。
  6. 6对较大团队,他大致把产能拆成 5% 到 10% 的不确定赌注、25% 到 30% 的运营,以及大约 60% 的渐进改进。
全文

按章节阅读整理后的全文

01

哲学系出身的人想待在创造力这一行,最后带了 GitHub 的产品

Salva did not study computer science. He majored in philosophy and English, drawn to how people express their experience of the world, and says he went into software and product because he wanted to be in the business of creativity. He sees software as a new medium and jokes that in another century he would have been making new colors of paint.

After more than 20 years in engineering, including about 10 at Microsoft, he joined GitHub three years before this conversation. At Microsoft he led product for the shared developer infrastructure behind Windows, Office and Azure and for Azure DevOps. When Microsoft acquired GitHub, he saw that the energy and community of developer tools were there, and wanted to work on everything from Copilot to Codespaces, Actions and advanced security.

02

Copilot 是多行自动补全,好让开发者留在心流里

Salva describes Copilot as the intelligent autocomplete developers have had for 20 years, magnified across many lines of code. It is powered by Codex, a derivative of GPT-3, and appears as gray italic suggestions in editors such as VS Code and IntelliJ. It infers intent from variable names, class names, method names and comments, and gives scaffolding to riff on.

The point, he says, is flow. Remembering parameter order, looking up syntax or generating dummy data is labor rather than creating, and Copilot brings that information into the editor instead of sending developers to documentation, tutorials or Stack Overflow. He cites an educator who has teenage students build internal tools for small businesses with Copilot, and says it also helps developers build a mental map of an unfamiliar code base.

03

OpenAI 的克隆请求,加上一份种子库快照,打开了这次合作

Salva says the realization was that programming languages are languages too, and relatively constrained ones, so large language models could translate between English and Python the way they translate between human languages. His introduction was funny: his infrastructure team saw a huge spike in clone requests that looked like a denial-of-service attack and turned out to be OpenAI harvesting repositories. GitHub stepped in and offered the data in a more responsible, better packaged way.

GitHub had already taken a snapshot of public code for its Arctic Code Vault, stored on silver film in a vault in northern Finland, to preserve the world's open-source software. They took that snapshot to OpenAI to see what large models trained on public code could do. The team then tried different interfaces, including a side panel, before settling on inline autocomplete, working with the VS Code team to add the needed extensibility and choosing gray text to signal that suggestions are ephemeral.

Between the first experiments and the launch, he says, researchers at OpenAI experimented while GitHub worked out how to use the model: which parameters to tune, what to optimize and how to prompt. Latency was central, and experiments pointed to roughly 200 milliseconds as the point where a suggestion doesn't feel like an interruption. The whole path took about a year and a half.

04

让研究组先孵化月球项目,再有意识地交出去

Copilot started in GitHub Next, a team that works on second- and third-horizon projects: moonshots that may matter in three to five years. Salva ballparks horizons as the next year, next three years and next five years, but says they are better seen as levels of ambiguity and confidence. GitHub ring-fences that team from the engineering, product and design (EPD) organization that runs the operational products.

His advice is first to hire smart people and give them space, without expecting revenue or demanding security, privacy, uptime and accessibility up front. Once an idea clearly connects to customers with a real problem, start informal market testing with prototypes. When developers called it magical, GitHub moved some researchers into a new EPD squad for a limited period, opened a technical preview to tens and then hundreds of thousands of users, and saw excited tweets and Hacker News threads.

Salva's lessons are that researchers should move back only when a replacement has the skills, not by the calendar. The product team must own its roadmap, because you can't delegate a roadmap to an R&D group. Finally, engineering fundamentals mark the difference between research and an operational product, and bringing them in takes cultural change management.

05

AI 结对程序员需要行为原则,不能只靠一张屏蔽词表

Salva says AI brings engineering, ethical and legal challenges, such as who is at fault if the AI produces something offensive. The team landed on framing Copilot as an AI pair programmer: if your partner whispered slurs or politics in your ear you could not focus, so the product needed principles for appropriate behavior. Lenny likes the idea of using a persona to define how the product should act.

He says he has spent more time with legal on this product than any other, along with privacy and security champions and developers. Early Copilot had no filter, then a simple word block list, which turned GitHub into editors of language and sometimes blocked legitimate uses. GitHub now works with Azure's Responsible AI group, whose models detect patently offensive content in context, which he sees as proof that AI is getting better at filling in parts of the stack.

06

AI 该增强开发者,怀疑本身是健康的

Asked about the claim that 40% of code is written by Copilot, Salva clarifies that figure is for Python developers and that the range across languages runs from the upper twenties to the forties. Languages with more and more varied public training data tend to see better suggestions. He expects AI to spread through the entire development stack, for example by summarizing pull request changes so reviewers don't have to decipher thin commit messages.

His hope for five to ten years out is that more people become developers because AI adds an abstraction layer, and that experienced developers focus on outcomes and design rather than syntax and parameter order. On scaling, he names supply chain shortages of the rare GPUs needed to train and run models, and the amount of dialogue with the community, which required growing the product team more than the engineering team.

Salva says he wants people to be skeptical of Copilot, particularly about training on public code, security, buggy suggestions and attack vectors such as model poisoning. GitHub's stance is that Copilot is not a replacement for a developer and should not auto-generate code without a human, or replace static analysis and unit tests. Lenny links this habit of dialogue and skepticism back to Salva's philosophy education.

07

给大胆赌注留产能:大约一成月球项目、三成运营、其余做渐进

As a portfolio manager of several product lines, Salva says allocation depends on circumstances, but as a general rule he keeps some capacity for audacious research. He describes uncertain bets as about 5-10% of a team's capacity, 25-30% on operations to keep in-market products meeting expectations, and about 60% on incremental progress that realizes payoff from bets made one to four years earlier.

He notes this works for larger teams; at a startup nearly everything is the big bet and you are all in on one lottery ticket. In the lightning round he recommends *Make It So*, a book on sci-fi user interfaces, *Brief Interviews with Hideous Men*, and The Memory Palace podcast. His interview icebreaker asks product candidates to teach him something new in one minute, graded on completeness, complexity and clarity.

同频道的其他文章

1:10:27EN → 简体中文
Lenny's Podcast播客 · 2 人对谈硬技能让你进门,软技能决定你能走多远嘉宾 Jules Walter · 主持 Lenny RachitskyYouTube 产品负责人 Jules Walter 把 PM 能力拆成 IQ 与 EQ,并讲怎样用最小请求找到导师、把反馈变成习惯。产品与体验Product ManagementLeadership+3
1:30:46EN → 简体中文
Lenny's Podcast播客跳过「末日漏斗」:Cursor 招顶尖 50 人的打法主持 Lenny RachitskyCursor 人才负责人 Adam Ward 讲如何界定角色、画出全球大约 50 人的名单,再持续追他们,而不是招漏斗里活下来的人。企业与战略Company BuildingLeadership+3
1:42:04EN → 简体中文
Lenny's Podcast播客 · 2 人对谈先做生命体征测试,再谈把付费增长拧到最大嘉宾 Timothy Davis · 主持 Lenny RachitskyShopify 绩效营销负责人 Timothy Davis 讲何时开始买量、怎么做小测试、测哪些平台、看什么指标、以及先招什么样的人。企业与战略Go-to-MarketGrowth Strategy+3
1:21:44EN → 简体中文
Lenny's Podcast播客从划桨到掌舵:OpenAI 如何把 Agent 做成持久共事的同事主持 Lenny Rachitsky负责 Codex 与 ChatGPT Work 产品的 Tara Seshan 解释:当 Agent 负责划桨、人负责掌舵时,产品经理的工作会变成什么样。智能体Product StrategyAI Product Management+3
1:01:00EN → 简体中文
Lenny's Podcast播客 · 2 人对谈谁掌握注意力:Substack 如何按「控制权」做产品嘉宾 Sachin Monga · 主持 Lenny RachitskySubstack 产品负责人 Sachin Monga 讲路线图背后的原则、Recommendations 如何长成增长引擎,以及他认为互联网写作的下一阶段会怎样。产品与体验Product StrategyGrowth Strategy+3
1:26:22EN → 简体中文
Lenny's Podcast播客先从小处开始,再挣来自主权:五十多次企业 AI 落地教会他们的事主持 Lenny RachitskyAishwarya Naresh Reganti 和 Kiriti Badam 解释,为什么 AI 产品需要另一套构建流程,以及怎样一步步提高 Agent 自主权而不丢掉客户信任。产品与体验Product StrategyAI Product Management+3