[BidClub_]
No Priors · · 44 分钟

《No Priors》第10期|与 Copilot 首席架构师、Minion.AI 创始人 Alex Graveley 对谈

Sarah GuoElad GilEmil Michael

YouTube
TL;DR
  • GitHub Copilot 在真实环境测试中的通过率从低于10%提升至超过60%,展现了 Alex Graveley 的团队如何通过评测、提示词、代码数据、历史版本、差异对比和规模化训练,逐步改进一个孱弱模型。 Alex 强调,早期结果并不能证明这条路走不通:“真正疯狂的是,这些东西居然能起作用”,而且随着规模扩大,它们还会继续变好。
  • Copilot 最关键的产品突破,是幽灵文本块补全和延迟的大幅下降,而不是传统的问答界面。 程序员可以快速判断一整段补全内容,然后按下 Tab 接受;Alex 回忆称,一个“疯狂”的统计是,延迟每增加10毫秒,被接受的补全就大约减少1%。印度的使用效果较差,原因是请求要先经欧洲再抵达 OpenAI 位于得州的数据中心。
  • 经济模型改善速度超出预期:推理成本从估算的每位用户每月30美元降至10美元,随后进一步下降;产品上线数月后,周度用户 cohort 留存率仍超过50%。 Alex 主张低价切入、优先抢占市场。Elad 认为,以这个价格承担用户40%的代码并不算多;Alex 则表示,一些“鲸鱼用户”会让 Copilot 写出自己80%的代码。
  • Alex 描述的下一次平台迁移,是从回答问题的 AI 走向能够受控执行动作的 agent。 Minion 瞄准日程安排、旅行、报税和识别被忽视的联系人,称其为“把 Copilot 应用到日常活动中”;Alex 认为,“帮我报税”在未来几年内可能成为现实。
  • 现实世界中的行动可以提供可观测的反馈闭环。 代码之所以格外有价值,是因为可以直接运行;同样,agent 在网页上的操作也会暴露成功、失败和令人烦躁之处。Alex 还认为,人们在网页上的点击行为构成了一个规模巨大的、目前“无人拥有”的数据集。
  • Alex 认为,近期 AI 风险主要来自欺诈和恶意使用,而不是机器自主杀死人类。 他预计,冒充他人、诱骗受害者和盗走储蓄会带来“很多年的极度不适”,主张建设反滥用系统并推动立法,而不是期待 OpenAI 解决一切。他提到垃圾邮件拦截、账户筛选和指纹识别;Elad 指出,agent 可以承担部分通信成本,Emil 则强调银行账户可追踪,并将这一威胁比作资源更多、分布更广的朝鲜。
  • Alex 认为,AI 原生产品直觉呈现“双峰分布”:资深建设者和非常年轻、缺乏经验的人往往能看到潜力,而处于中间层、依赖既有经验的人可能会拒绝它。 可复用的能力包括实验、指标选择、直觉,以及在反复失败后继续推进的韧性。如果“这些东西”变成现在的10倍大,他很想知道会出现哪些涌现属性,并将这种探索比作建造 Large Hadron Collider。
摘要 · 为研究而整理的核心内容

1. 从开源好奇心到真实用户产品的学徒期

  • Alex 大约14岁时接触 Linux;那时接入互联网仍然颇费周折,而 Windows 在网络和数据中心中占据主流。读到 GPL 后,他开始把协作开发视为理所当然:公开提供帮助、自由发布成果,也让别人像他一样从中学习。

  • 在 VMware 工作4到5年后,他离职创办教育 startup,并笑称这是创业者的“成人礼”。连续9个月找不到可行的价值主张,最终沉淀出一条持久的产品检验标准:事情必须做得到,而且用户必须愿意付钱,至少也要愿意投入时间。

  • Hackpad 起步于旧金山一座与 Burning Man 参与者共用的仓库。当时,大型营地的建设者难以协调复杂工程,Alex 于是 fork 了 Etherpad,做成一款能实时标识每位贡献者的编辑器。随后,许多大型营地采用了它;他在 YC 的“黑客”则是让各届 cohort 公司都使用 Hackpad,并通过产品分发大量 YC 笔记。Stripe 多年来一直使用 Hackpad,Alex 认为,Stripe 最初的知识库可能就是用它搭建的。

  • Hackpad 被 Dropbox 收购、参与 Paper 项目后,Alex 仍不断回到一个想法:“做一个替你办事的机器人。”期间,他参与创办了 hCaptcha——据他描述,如今大概是全球第1或第2大的 CAPTCHA 服务——还与 Moxie 一起为 Signal 推动一款加密货币,目标是达到“Venmo 级别”的体验;在 Alex 看来,它基本已经实现了数秒内完成交易。

2. 人工助理暴露了 agent 难题及其滥用路径

  • Magic 最初并不是一家 ML 公司,而是一套全天候运营系统,由人工处理用户通过短信提出的请求。不同班次的运营人员会丢失上下文,用户还可能在“99%完成度”时改变目标。与选项固定的表单不同,自由文本让人的真实意图、现实延误、密码缺失和价格变化究竟有多难处理,全部暴露出来。

  • 在 Transformers 出现之前,Alex 和团队曾基于助理对话训练一个小型 sequence-to-sequence 模型。模型建议的回复以灰色文本显示,供运营人员编辑后提交;在8小时班次中,它让100名员工每天合计节省约30分钟。这种幅度有限的增强,成为 Alex 第一个正式上线的 AI 产品,也预示了 Copilot 后来的交互方式。

  • Alex 对 AI 身份问题的“诚实回答”,是预计未来会经历多年的极度不适:系统冒充真人、混淆受害者,并榨取老年人的积蓄。他希望看到更严厉的立法和基础设施,而不是期待 OpenAI 解决一切。“我其实不担心 AI 杀死我们,”他说,“我更担心坏人利用新技术伤害我们。”

  • Alex 提到的部分缓解手段包括垃圾邮件拦截、提高账户创建门槛、更好的马甲账户筛选,以及 Cloudflare 用指纹识别替代视觉 CAPTCHA;他还指出,打电话是有成本的。Elad 提醒,agent 可以赚钱,也能承担部分通信成本。Emil 则补充说,银行账户可以追踪,并将这一威胁比作拥有更多资源、或更加分布式的朝鲜;在他看来,现有缓解措施远远不够。

3. Copilot 从糟糕的 Python 产物起步,靠测试赢得信心

  • 项目启动前,Alex 经历了一次个人生活的中断:原本计划捐肾给父亲,却在术前扫描中发现胸部肿块,2018年因此切除了右肺的大部分。康复后——他后来表示自己已经无癌超过4年——他回到 GitHub,先把 GitHub 自身的开发流程迁移到 Codespaces,随后推动与 OpenAI 的合作。

  • 最初的代码模型来自微软与 OpenAI 更广泛的超级计算机合作。它的规模可能“低于10”,但 Alex 记不清确切数字;这只是一个训练产物,用来测试向基础模型中加入代码会产生什么效果。Alex 认为,它可能对 chain-of-thought 推理有正面影响。模型当时只支持 Python,大多数时候都会失败,但偶尔能生成真正有用的内容。

  • 团队没有依赖 demo,而是搭建了评测体系:众包收集 Python 问题,编写他们确定不会出现在训练集中的内部测试,并建立真实环境测试工具——下载代码仓库、运行测试、找出 pytest 调用的非平凡函数、删除函数体、生成替代实现,再重新运行测试套件。最初的通过率低于约10%。Alex 强调,评测结果取决于给模型多少次机会,以及如何定义成功。

  • 更好的提示词、更多 GitHub 代码、历史版本,以及教模型理解小幅修改的差异对比数据,把真实环境通过率推过了60%,期间依次经过接近20%、35%和45%的阶段。OpenAI 当时仍在以 Stack Overflow 为主要思路,但团队尝试了编辑器原生的交互方式,发现更有价值的产品入口可能就在代码编辑器内部。

4. 幽灵文本、代码块补全和毫秒级延迟让模型变成产品

  • skunkworks 团队几乎尝试了所有能想到的 VS Code 交互方式:自动补全菜单、空函数上方的按钮、按 Control 键生成、弹窗,以及候选答案侧边栏。他们要找的是一种即使只有约10%的生成结果通过测试,也依然可用的界面。

  • Alex 一直回到 Gmail 的灰色文本补全,并称其“严格来说”是第一个在真实环境中部署的大语言模型。最终胜出的机制是在原位置显示一条建议,用户按 Tab 即可接受。加入多行支持后,团队意识到程序员“按代码块思考”,输出也就更容易快速检查:如果一个 if 语句逻辑正确,用户很快就能判断。

  • 速度成为唯一真正重要的指标。Alex 回忆称,一个“疯狂”的统计是,延迟每增加10毫秒,被接受的补全就大约减少1%。印度用户使用率较低是网络问题,不是偏好问题:请求要经欧洲转发至 OpenAI 位于得州的数据中心再返回,往往抵达时程序员已经输入了不兼容的文本。

  • 这一诊断把 Azure 承载 OpenAI 服务的计划从6个月压缩到约1个月,使团队能够在欧洲部署 GPU、覆盖亚洲。当时其他可用地点只有美国西海岸和得州。微软迅速推进基础设施,系统上线后不久 Copilot 就正式发布。数月后,周度用户 cohort 留存率仍高于50%。预期推理成本从每位用户每月30美元降至10美元,随后继续下降,也支持了 Alex 激进定价、而非只做企业产品的选择。

5. Agent 将通过让不确定的行动可观察、可纠偏而演进

  • 被问及未来3到5年时,Alex 表示很难想象最终的编程工作流。信任迁移是根本性的:从确信手写代码正确,到测试 AI 写出的代码,再到不运行代码也能信任它。不过,他认为一些基础环节是可以实现的,包括只审查危险部分、比较前后差异、运行测试,以及从一个基本主循环开始逐步生成代码。

  • Minion 把这一逻辑带到了编辑器之外:AI 应该能够整理日程、预订航班、寻找旅行方案、申报税务,并找出被忽视的联系人,同时持续检查自己的行动是否仍与用户目标一致。Alex 离开 Magic,是因为当时把 AI 接入实时数据似乎需要他不具备的专业能力;如今更强的模型让这个旧问题看起来变得可解,尽管航班、价格、座位和可用性始终在变化。

  • 行动提供了可观察的反馈。生成的代码可以运行,agent 在网站上的点击过程也会暴露任务是成功、失败,还是让用户感到烦躁。复杂工作同样可以像人类那样拆解:列出步骤、找出缺失信息、提问、查询数据,有时还要写代码——逐条处理工资单,也就是“执行一个 for 循环”。

  • 面向这一世界的招聘呈现“非常明显的双峰分布”:资深人士和非常年轻、缺乏经验的人往往能看到可能性,而处于中间层、依赖既有经验的人可能会说这行不通。可复用的能力包括产品实验、指标选择、直觉,以及在尝试失败后继续推进的韧性。这些系统可以随着规模扩大而扩展和改进;如果它们变成现在的“10倍大”,还会出现哪些未知的涌现属性,值得继续探索。Alex 将这种探索比作建造 Large Hadron Collider,并表示自己很庆幸能活在这个时代。

Elad Gil

So let’s start with some background. How did you end up working in tech or AI?

Alex Graveley

Tech was earlier. I started really young, and I got really into Linux when I was 14 or so. That was right around the time when the web was a new thing and you had to work to get on the web. Linux just sort of found me; it popped into my life, and I really liked it.

I read the GPL really early, and it struck me. The idea of helping in the open and making things freely available so other people could learn from them, like I was learning from things, seemed great. So I spent many years working on open-source stuff.

I don’t know, I guess I didn’t realize there was legacy technology. Windows was popular at that time, so people ran their data centers and networks on Windows. This Linux thing was very strange, and people didn’t really know what it was. I spent many hours compiling kernels and hacking on things.

Elad Gil

What was the thought process behind starting Hackpad?

Alex Graveley

I had just finished 4 or 5 years at VMware, and I wanted to get into startups. I knew that. I left VMware and started working on an education startup, like many of us do.

Elad Gil

It’s a rite of passage.

Emil Michael

Many founders start with an education startup.

Elad Gil

Most of us have done either that or consumer social.

Emil Michael

Education is very hard. After 9 months, I was like, “All right, this isn’t going anywhere. I don’t know if there’s a value proposition here.” The value was that I learned you have to make something that is both achievable and that people want to pay for or spend their time on.

I was just fishing around. I was living in a warehouse in San Francisco with a bunch of Burning Man people, and we were having trouble organizing large-scale Burning Man projects. I forked Etherpad and started hacking on it. I recruited a friend in the community to start working on it with me, and it grew from there.

Before we did YC, many of the large Burning Man camps were using it to organize their builds.

Elad Gil

Can you describe the product experience?

Alex Graveley

It was a real-time text editor, kind of like Google Docs. Google Docs was the only other product that did that at the time. It was nice because it highlighted who said what, so you could track down whether somebody had made a contribution and say, “What did you mean?” or “I heard you say something about this.”

That was very useful in large-scale, anonymous or pseudonymous groups where you don’t really know who has ownership over what, like Burning Man camps.

Then we did YC, and many of those people used it. My hack was to go to YC and try to get all the companies doing YC to use my product, which many of them did. I also took extensive notes on all the YC presentations using the product, and everyone would look at them.

We were able to get Stripe, and Stripe used us for many years. They built their first knowledge base with us, I think, and used it for a long time. A bunch of other big companies used it as well. We were very lucky.

Elad Gil

After the Dropbox acquisition, you worked on what became Paper. How did you think about what you wanted to work on next after Paper?

Alex Graveley

I spent the next few years poking around at things. I knew that I wanted to make a robot that does things for you. There was this company called Magic, so I worked at Magic. They were doing text-based personal assistance.

Elad Gil

Do you remember this one? Just like everybody starts an education startup, Magic is one of those names that keeps cycling back. There’s a really cool AI company right now called Magic as well, so I feel like there are names that persist from generation to generation, which is really cool.

Alex Graveley

I haven’t seen a demo yet, but it sounds like they’re doing the right thing. There are a few people doing that kind of whole-repository change, so it seems like a great direction.

Elad Gil

What’s one learning from Magic? It was an early company trying to do sequence-to-sequence machine learning in general, right?

Alex Graveley

No, it wasn’t trying to do machine learning. It was all operations. It was a very operations-heavy business. They had teams of people working 24 hours a day, cycling in and out, and they would lose context. They were all busy because they were trying to deal with lots of people and lots of requests all the time.

It was really a crash course in human behavior: What do people do under stress? How do they act? What do they say? What can you train, and what can’t you train? Can you bucket things? The answer is no. Humans are complicated, especially in text form.

The beauty of the web and traditional UIs is that you fill them in, and if they don’t do what you want, then you decide whether to go forward or not. Text has this annoying property where you can be all the way at the 99% mark and then change the goal entirely.

It’s complicated and hard to understand what people want, especially when you’re dealing with the real world. Flights get delayed, passwords get lost, and all sorts of things happen.

Elad Gil

Do you think we’re the last generation to deal with that? In other words, it feels like we’re about to hit a transition point where agents can actually start doing some of these things for us for real, whereas before, all these products started with operations-heavy approaches.

I remember there was a very early personalized search engine called Aardvark. If you looked behind the hood, there were a lot of operations people and a little bit of algorithmic routing. You would describe what you were good at, and they would try to send questions to you. I think people were doing some of the routing, at least.

A lot of people wanted to build complex bots or agents that did rich things, but the technology just wasn’t there. There were also some startups trying to do scheduling and assistance 6, 7, or 8 years ago, and it felt like they were a little early.

What were they called? Clara Labs—that’s the one. I remember that era, and then we had Operator. On the question-answering side, we had Jelly. There was a whole series of those companies.

Alex Graveley

I remember that era. What we were able to do with Magic, as an aside, was interesting. I started working there because I wanted to work on the AI part. Somewhere in there, Facebook M started as well, and it was a fun place to try to learn everything I could about solving those problems.

Before Transformers, sequence-to-sequence was the previous iteration. We were able to take all the histories of the chats between assistants and people and train a little model on them. By today’s metrics, it was a little model, and we ran it so that it would show gray text in the text bar. People could edit it and hit Enter.

We measured how much time the operators spent typing with it and without it. It saved about 30 minutes across 100 people per day during an 8-hour shift. That was my first shipped AI product, I guess.

Elad Gil

How did you end up going to Microsoft?

Alex Graveley

There was a bunch of other stuff along the way. After that, I got into crypto. My friend was doing hCaptcha, which was a sort of CAPTCHA marketplace. It’s now something like the number 1 or number 2 CAPTCHA service in the world, which is crazy. We launched that, and it was fun. We annoyed people the world over for many, many man-hours in aggregate.

Then I left to work with Moxie on a cryptocurrency for Signal. That was really fun and complicated, and it all worked in a few seconds. We were shooting for Venmo quality, and I think we pretty much got there.

Elad Gil

When you think about crypto in the context of AI, people talk about it in a few different contexts. One is programmatic money as code running, which could create interesting things from an agent-driven perspective. The other is identity. Worldcoin would be one example, but there are other efforts to secure identity cryptographically on a blockchain in an open way and then use that identity to differentiate between AI-driven agents and people.

Do you think that’s going to be important, or does that stuff not really matter in terms of the identity portion of crypto and how we think about the future of agents?

Alex Graveley

The honest answer is that I think we’re going to go through many years of extreme discomfort where AIs pretend to be things, confuse people, extract money from your grandparents, drain people’s life savings, and do things that are scary.

OpenAI is trying to do its best, but for some reason the focus has been on OpenAI doing everything. Instead, we should build systems that prevent that. We should pass legislation that drops a hammer on people doing that kind of stuff. Unfortunately, it seems like we’re going to need some really bad things to happen before we align correctly.

I’m not really scared about AI killing us, although I’m very grateful that there are people thinking about it. I’m more worried about bad people using new technology to hurt us.

Elad Gil

Ilya Sutskever has some really interesting thoughts on this. He was one of the main authors—or the last author—on the Transformer paper before he started SSI, and he’s brought up the idea of how you stress-test society relative to the coming wave of AI. I think that’s an interesting concept.

Alex Graveley

It’s a great way to look at it. It’s not as bad as it could be. Most of the things you want to spam either have a spam blocker or are somewhat difficult to create an account on. Doing a better job of filtering sock-puppet accounts is going to be really important going forward.

I like what Cloudflare is doing with fingerprinting instead of visual CAPTCHAs, which aren’t good enough anymore. One saving grace here is that many of the things you would want to do cost money. Calling everybody costs money.

Elad Gil

Sure. Texting everyone should hopefully be illegal, but it also costs money—maybe not enough money to prevent these things. Agents can make money, so you have to look at the trade-offs that cost.

Emil Michael

That’s interesting. The other nice thing is that grandmothers don’t have crypto. They have bank accounts, and bank accounts can be traced.

I’d say it’s somewhere in the middle. Imagine that North Korea has been trying to do this to us for a long time, and now there’s a North Korea with more resources, or one that’s more distributed or whatever. We have some mitigations, but we need more, and we need to think about it a lot more.

Elad Gil

How did you end up at GitHub, and how did you end up working on Copilot?

Alex Graveley

While I was working on MobileCoin, my dad’s kidneys failed. I tried to donate a kidney, and they found a lump in my chest as part of the scans they do. I had most of my right lung removed in 2018, so that was a big deal. Healing from internal injuries takes a lot longer than you think.

The happy story is that I’ve been cancer-free for over 4 years, and my dad got a kidney transplant as well. Things are good.

After I recovered for quite a while, I begged my friend for a job. I figured I should start working again. I worked on some random things at first. I converted GitHub to use its own product to build GitHub, which was kind of fun.

I think people still use Codespaces to build GitHub, which is pretty cool. Then the opportunity to work with OpenAI came up. Because I had been tracking AI and was pretty aware of what was going on, I jumped on it.

Elad Gil

Was that proposed by OpenAI or by GitHub? Who initiated it?

Alex Graveley

I don’t know the exact beginnings. I know that OpenAI and Microsoft were working on a deal for supercomputers. They wanted to build a big cluster for training, and there was a big deal being worked out. Some software provisions were thrown in—I think Office and Bing, probably—and GitHub was like, “Maybe there’s something GitHub can do here.”

I think OpenAI threw over a small fine-tune and said, “Here’s a small model trained on some code. See if this is interesting.” We played around with it.

I have to remember now. This was before I knew very much, so it was definitely not a Da Vinci-sized model. I don’t know what size it was—probably less than 10, but I can’t remember. I learned later that it was basically a training artifact. They wanted to see what introducing code into their base models would do.

I think it had positive effects on chain-of-thought reasoning. Code is linear, so you can imagine that you do things one after another, and the things that came before have an impact. It was not that good. It was very bad. It was, as I said, just an artifact and a small sample of GitHub data that they had crawled.

We played around with it. The first 2 people after Uğur who got hold of the model and started playing with it were me and Albert Ziegler. Albert was able to say, “It doesn’t work most of the time, but here it is doing something. Here it is generating something useful.” It was only Python at that time.

We didn’t really understand anything. It was just lobbed over to us. That was enough to say, “Let’s fetch a couple of people and start working. Let’s see if there’s anything there.”

The first task was to test it and see what it did. We crowdsourced a bunch of Python problems and wrote in-house tests that we knew wouldn’t be in the training set. Then we started fetching repositories and finding the tests in them so we could generate functions that were being tested and see whether the tests still passed.

A new pytest feature had been introduced that let you see which functions were called by the test. You could find that function, zero out its body, ask the model to generate it, rerun the test, and see whether it passed. I think it was less than 10%, something like that.

The dimensions are: How many chances do you give it to solve something, and how do you test whether it worked? For the standalone tests, we had people write test functions, tried to generate the body, and if the test passed, then it worked.

For the in-the-wild test harness, we would download a repository, run all the tests, look at the tests that passed, find the functions they called, make sure they weren’t trivial, generate the bodies, rerun the tests, and calculate the percentage.

It was some very low percentage up front, but we knew there was a lot more juice to squeeze. We could get all of GitHub’s code into the model, along with a bunch of other tricks that we hadn’t even thought of at the time. Eventually it went from less than 10% on the in-the-wild tests to over 60%.

That means it could generate code for 1 out of every 2 tests, which is insane. Somewhere along the way, it went from 10% to 20% to 35% to 45%. We did more prompting work so the prompts got better. We used all the versions of the code instead of just the most recent version, and we used diffs so the model could understand small changes.

When we first started, we didn’t know what we had. We were just trying to figure it out.

Elad Gil

Was the test-user group just 6 of you, or was it a larger group?

Alex Graveley

The first iteration was an internal tool that helped people write these tests. Then we wanted to see whether we could turn that into a UI that people would use—some way to cover up the fact that only 1 in 10 things passed. We tried a few UI approaches.

OpenAI said it would be nice if they could test these model fine-tunes more quickly. They asked whether we could do something like a VS Code extension and just use autocomplete. We did autocomplete at first, and that was a big jump.

They were still thinking in terms of Stack Overflow, but I didn’t have any ideas for how to beat Stack Overflow with this thing. We could play with things in VS Code that were closer to the code, so we tried that.

Autocomplete was useful. It would show a little pop-up box, like autocomplete does, and you could pick some strings. It wasn’t exactly the right metaphor, because you had generated code mixed in with the specific terms in the code.

We tried adding a button over empty functions so it would generate them. You could hit a Control key and create a big list on the side to choose from, or use a little pop-up. We tried every UI we could think of in VS Code, and none of them really worked.

I had an idea that it should work like Gmail’s gray-text autocomplete. I was enamored with that product. It was the first large-language-model deployment in the wild, quote unquote. It was fast and cool, and the paper was great. They gave you all sorts of details on how they did it and all the workarounds they had to use.

That was always in the back of my head. Gmail’s completions weren’t good either, but it seemed like the right thing. Somewhere along the way, I figured out a way to hack it into VS Code. I made a little demo video.

Elad Gil

Was there support to build real support for it within the organization?

Alex Graveley

It was a little complicated. We were basically a skunkworks project, so no one really knew about us. We would go to the VS Code people and say, “We need you to implement this very complex feature,” and they would say, “I don’t even know who you are. What are you talking about?”

There was definitely some politicking to get the VS Code team to dedicate resources to it on a short time frame. We were moving really fast. It was less than a year from the beginning to the public launch.

Elad Gil

Was there a particular metric where you thought, “This is good enough. We need to put it in the public product”?

Alex Graveley

We had a nice, long window of public access before general availability, when it was free and people could use it. We optimized for different groups of people: more experienced people versus newer people, and people from one area versus another.

That gave us good statistics. We learned that speed was the only thing that mattered. There was some crazy statistic that every 10 milliseconds meant 1% fewer completions that people would accept. That adds up.

Elad Gil

Network latency to India?

Alex Graveley

In the first few months of public release, we noticed that completions in India were really low. For whatever reason, they were significantly lower than in Europe.

It turned out to be network latency. OpenAI only had 1 data center, and it was in Texas. If you can imagine, you’re typing in India, and the request goes through Europe, over the water, down to Texas, and back again and again.

If you’ve typed something that doesn’t match the thing you requested, the completion is useless. You don’t get a completion.

Elad Gil

I know it’s obvious, but this has happened on every product I’ve ever worked on. When I was at Google, I worked on a variety of mobile products, and it was the same thing. Page-load times obviously matter. Search in general—100 milliseconds makes a huge difference in market share.

Alex Graveley

It’s crazy how much speed matters. Once we figured that out, we knew we had something awesome. People who were close to Texas thought it was fantastic. We had a Slack channel, and people were posting in it all the time.

The most fun thing was when people would pop up and say, “I don’t program, but I just learned how to write this 100-line script that does this thing I need.” It was amazing.

These models are really great at finding patterns. Once we had the UI mechanism that worked—which was ghost text; you hit Tab and it inserts—and we had done the work to get multiline working, we needed something that would show that off. The key insight was realizing that programmers think in blocks. If you can autocomplete the rest of the current block, that’s what people want. People are judging what this block is going to do, and if it does the right thing, they know quickly. If you can complete an if statement and it does the right thing, then it’s easy to judge. We knew we were onto something.

Then it was just squeezing as much performance as we could get out. We basically never found the bottom. We made it as fast as we could, and it was still improving on completions. That led to: “I know there’s this plan for Azure to run OpenAI in six months. We need you to do that in the next month. Let’s figure out how to make this happen,” because we wanted to run a bunch of GPUs in Europe so we could hit Asia. At the time, the other places we could run them were the West Coast and Texas. Microsoft stepped up, we got it running, and pretty much after that we launched.

Elad Gil

Were you surprised by the uptake after launch?

Alex Graveley

No. Our retention rate was 50%, and it never went below that. Months later, it was still above 50% by weekly cohort, which is insane.

We didn’t know whether people would pay for it. I lobbied pretty hard for going cheap and capturing the market.

Elad Gil

How did you think about inference costs for this thing at the beginning?

Alex Graveley

Our estimates were wildly off. We thought it would cost $30 per month per user, on average. Once Microsoft was able to get the Azure infrastructure working, we could fork off a little bit and make more accurate projections.

There were moments where we would wait for the results and ask, “How much is it going to cost?” The first big result was, “It’ll cost $10 per month.” I was like, “Oh my God, it’s so much cheaper than we expected.”

We hadn’t optimized for price yet. Then we optimized for price a lot, and now it costs less than that. It was very fortuitous. We thought it might be enterprise-only because that was the only market that would be willing to pay for it. $30 per month is a lot, especially with no margins.

Elad Gil

For 40% of your code, it’s not a lot.

Alex Graveley

That’s the thing. We know that now. The crazy thing is that there are whales out there—people for whom it writes 80% of their code, which is insane.

Elad Gil

If you extrapolate all of this 3 to 5 years out, are there basically going to be agents writing code for us? Is 95% of code going to be written by Copilots, with humans directing them? How do you see the world evolving over the next few years?

Alex Graveley

It’s hard for me to imagine what that world looks like because it’s such a shift from having my hands on something and knowing that it’s right to where we are now. Now, I mostly know it’s right, or I have a sense that it’s right, but I have to test it and see it run to know that it’s right. Trusting that the code will work without doing that is a pretty crazy transition.

You could imagine code review after some chunk of code, or some other kind of quality check.

Elad Gil

You could review only the dangerous parts, or the scary or confusing parts.

Alex Graveley

If that’s the goal we want to reach as a people, I think every barrier to it is achievable. We can code-review only the dangerous, scary, or confusing parts. We can train a model on functions before and after changes and say, “This looks like a more polished version of the function.”

We can start with a basic main loop and add everything piece by piece, with tests, so we know what works and what doesn’t. We can have the model keep generating the logical next feature. All of these things will get figured out.

Elad Gil

What’s the idea behind Minion?

Alex Graveley

I mentioned making bots that do things for you. It’s a broad topic, but I think that’s where we’re going. The next few years in AI will be about taking action—not just answering questions or writing copy, but actually helping us in our daily lives.

That could mean organizing your schedule, booking flights, finding a trip for you to take, doing your taxes, or telling you which contacts you haven’t talked to in a long time and should reach out to.

There’s a lot we can do by giving AIs access to information and letting them act on that information in a controlled way that checks to make sure we’re aligned. I think that’ll be a really fun future.

You can imagine Copilot applied to everyday activities. Copilot gives you a little bit of help in your code editor, and I want Minion to give you a little bit of help outside your code editor.

Elad Gil

How did you decide to work on Minion specifically?

Alex Graveley

I quit Magic because I couldn’t figure out how to hook the AI up to data. I thought, “In order to improve the quality, I need a PhD in math. I don’t know what to do now.” The models got better, and that specific problem started to seem solvable.

That was where interacting with the real world had broken down in the past. Flights get delayed, prices change, and not just a little bit. They change all the time. The seat you want at the concert you want to go to might not be available.

AIs are a kind of compression of everything in their training set, but they aren’t a real-time mechanism yet. I thought, “Maybe we can work on this old problem of how to make a bot do things for people. That’s what we want, so let’s go make it.”

Maybe I could use the excitement from Copilot to launch into something incredibly hard, but something for which I believe the technology is now available. That’s the only reason I’ve ever gotten into startups. I want to do a startup so that I can do a harder startup, or a project so that I can do a harder project.

Elad Gil

Is this one sufficiently hard?

Alex Graveley

This one is hard. It’s good and hard. There are fun things you learn along the way that keep you engaged.

With Copilot, it turns out that code is pretty special because you can run it. If an AI generates code and it runs, then you know something about that code that you wouldn’t necessarily know with text.

Doing agent-like work on the internet or in apps has many similar properties. You can learn from what people do, see whether it’s a success or failure, and figure out what to optimize based on what works and what doesn’t. You can figure out what’s annoying and try to improve it.

I think these things compound in some really interesting way. The goal is straight out of science fiction: You want to be able to say, “Hey, computer, file my taxes,” and have it do the right thing. I think we can get there in the next few years.

It’s also fun to think about how to break these things down. It turns out that breaking down tasks in the same way humans do works for AIs as well. You take a complex task, write a list of things to go through, and execute it.

You break down complex tasks, figure out whether there’s any information you need, maybe write some code, ask some questions, or query some data. Humans don’t usually write code to do their taxes, but they do go through a list of pay stubs. That’s also executing a for loop.

I like data sets that don’t exist. People clicking on things on the web represent a gigantic data set that is currently unowned, and I think that’s pretty exciting. There’s a lot to learn from it.

Elad Gil

You’re hiring, and one thing we’ve talked about is that it’s a funny thing to hire for when you’re building products with this new set of technologies. Working in machine learning for the last decade may not help you that much. How do you think about the people you need?

Alex Graveley

It’s been strange. One thing I don’t know if other people have noticed is that it seems very bimodal. Very senior people get it, and very young people get it. I don’t know that the middle has caught up or realizes what’s happening yet.

Elad Gil

Are we on the other side, or are we in the middle?

Emil Michael

No, I just mean the middle in terms of experience. It’s kind of like an experiential version of the midwit curve.

You tell someone who is very naive and someone who is very experienced, “I can make magic. Here’s how I can do it.” The naive person says, “That’s awesome,” and the experienced person says, “Maybe.” Almost everybody else says, “That’s not possible,” or “I don’t see it.”

Elad Gil

A number of companies I know are trying to build that intuition internally. This is the first time in a long time that I’ve seen certain founders start coding again. They’ll have a multi-person company and become so enamored with what’s happening that they dive in.

Some founders have told me that certain team members just don’t have the intuition for what this can do. They don’t know what to build, where to start, or how interesting and important it is.

It’s almost like a founder mindset is needed. This is a new set of capabilities, so how do you learn what they are and then apply them? People lack a natural intuition for what this does right now.

Alex Graveley

It’s definitely not intuitive. There are many kinds of learners and many kinds of programmers. It takes a certain kind of programmer to be comfortable with the idea of, “I don’t know what’s going to work. Let me try some things.”

That’s similar to the attributes you need for the web or for making products: being able to test things, look at the right metrics, and find the right metrics. Those are useful, reusable skills.

The intuition and tenacity it takes to say, “This doesn’t work at all. What do I do?” are still rare in the field because there’s so much uncertainty. It’s easy to try 10 things, see that they didn’t work, and conclude, “This is impossible.”

Elad Gil

The natural reaction to something with 10% performance at the beginning is, “Why even bother? We’re never going to get there.”

Alex Graveley

The crazy thing is that these things work at all. Not only that, they scale and improve as they scale. Most things break at scale. Almost everything breaks at scale, and that’s what you hire people to deal with. With every doubling, something usually breaks and you have to fix it.

It’s pretty crazy to think about what kinds of emergent properties might still be out there if we can make these things 10 times bigger. I’m always in favor of people pushing those limits. Even the best people can’t explain what’s going to happen when you go bigger.

We built the Large Hadron Collider for the same reason. We think we might find something. I’m grateful to be alive during this time.