[BidClub_]
Latent Space · · 59 分钟

AI 编码工厂

Eno ReyesMatan Grinberg

YouTube
TL;DR
  • Factory 的核心押注是:企业软件开发将从 IDE 内协作,转向覆盖完整 SDLC 的云端委派。 目标用户是维护 30 多年历史代码库的数十万名开发者,真正的价值不在于让人“快 15% 或 20%”,而在于把完整任务交给并行运行的云端 agents。随着人类亲自编写的代码减少,规划和协调仍将由人主导,而代码与文档执行可能“很快”完全委派出去;测试和验证预计反而需要更多人工投入。

  • 产品的差异化不在单一编码模型,而在编排能力:专业化的“droids”、企业级上下文、选择性检索和异步执行。 知识、代码和可靠性 droids 可连接 Linear、Jira、Slack、GitHub、Sentry 和 PagerDuty 等系统;agent 会主动提出澄清问题,而不是要求用户掌握 prompt engineering。演示中,它修改或新建了约 12 个文件,仅消耗 43% 的上下文,随后还可以被指示创建 pull request,同时向用户展示一幅“通往其大脑的 X 光片”。

  • Legacy modernization 是本期提出的最清晰的企业 ROI 切入口。 创始人称,一家大型上市公司的迁移项目据报从 4 个月压缩至约 3.5 天,且全程零停机。其代表性流程把代码库分析、文档编写、依赖关系梳理、Jira 工单和并行实施转化为 agent sessions,压缩了一个长期受“官僚流程、技术复杂度和理解成本”拖累的瓶颈。

  • 按使用量计费使检索效率成为商业要求,而不只是技术偏好。 客户支付少量固定接入费和按用户计费的费用,但大部分支出来自“standard tokens”;因此 Factory 只检索相关代码和组织上下文,而不是把整个 monorepo 倾倒进不断扩大的上下文窗口。企业级质量的一项指标是代码 churn:成熟代码库可能处于 3%-4%,维护糟糕或变化迅速的代码库则可能达到 10%-20%。

  • 创始人认为,在 frontier models 持续变化的背景下,更高杠杆的层是 harness 和评测栈。 他们把基于任务的代码评测与针对提问、规划和工具调用的行为规范结合起来;主持人提到,一次 SWE-bench 运行的成本估计可达 8000-15000美元,Matan 则指出,基准图表可以充当“粗柱对细柱”的营销。Factory 最可能提出的模型需求,是让模型基于持续 1-3 小时的目标导向轨迹进行 post-training,同时摆脱供应商特有的 CLI 习惯——目前这些习惯会让模型偏好 Grep 或 Glob,而不是更好的工具。

  • 按创始人的说法,商业化目前更多受采用率和 top-of-funnel 限制,而不是受早期产品拉力限制。 在略超过 2 年的时间里,他们用了约前 1.5 年打磨企业交互模式;过去 90 天,Fortune 500 的部署据称明显加速,主要靠口碑传播。一名 1 月份的用户据称表示,即使公司里只有他一个人使用 Factory,他仍会要求公司允许他继续使用,而不是“为我自己雇 3 名工程师”;Factory 目前正在大量招聘技术能力很强、面向客户的运营人员,内部称其为“初级 Eno”。

摘要 · 为研究而整理的核心内容

1. 代码的可验证性,让一次黑客松相遇在 8 天内变成了一家公司

  • Matan 回忆说,他和 Eno 都就读于 Princeton,共有约 150 名朋友,却从未进行过一对一交谈。2023 年 LangChain 黑客松上,一次偶遇从代码生成聊到“智识上的一见钟情”;接下来的 72 小时里,两人几乎不眠不休地一起开发。

  • Eno 来自 Hugging Face,那里客户反复提出需求,希望为自己的代码库定制 fine-tuned models。他还探索过一个用 Python 编写并执行金融程序的循环:用于金融领域时感觉“没什么帮助”,但对软件来说则“极其有趣”。

  • Matan 曾花约 10 年研究弦理论,之后把 Berkeley 博士阶段的研究转向 AI。代码让他“被 nerd sniped”——模型在代码上的表现,似乎是其在诗歌等下游任务上表现的基础;更特别的是,代码可以执行,并与 ground truth 对照验证。

  • 当时可用的 GPT-3.5 显然不足以支持自主工程,但 chain-of-thought、self-reflection、scaling、更大的上下文,以及不断改善的能力-价格前沿,都指向同一个方向。两人见面 2 天后完成注册;见面 8 天后,Matan 离开博士项目,Eno 辞职。

2. Factory 选择了不起眼的企业代码作为切入口

  • Factory 覆盖端到端的软件开发生命周期,重点面向企业内部。尚未被充分服务的机会,不是一个能病毒式传播的 zero-to-one demo,而是由数十万名开发者维护的“非常丑陋”“极其复杂”的 30 多年历史代码库;一次不性感的迁移,反而可能创造远大的价值。

  • 创始人认为,IDE 把一套为人类逐行编写代码而打磨了 20 多年的工具约束嵌入了产品。IDE 内部看重延迟,而免费版或 20 美元套餐又限制了推理质量和调用量;云平台则可以围绕委派进行优化,而这正是企业眼中的“圣杯”。

  • 他们对人机分工的边界定义得很明确:外层循环——规划、与同事沟通、决定应该存在什么——仍将高度依赖人类;编写代码或文档的内层循环很可能很快被委派出去。这也是他们反对把 agents 描述为整个人类替代品的原因。

3. “Droids”从确定性工作流演化为目标导向 agents

  • 公司最初注册名为 San Francisco Droid Company,直到法律顾问提醒他们,Lucasfilm “特别喜欢诉讼”。“Factory”一名部分来自 actor-critic equation——把“actor”放进一个函数后得到了“f-actor-y”——部分则来自软件中的 factory-method 联想。

  • “Droid”之所以保留下来,是因为当时“agent”意味着一个不可靠的无限 while loop:没有指导地不断采取行动。早期 droids 更接近工作流:异步、事件触发,并由确定性或半确定性的行为引导。

  • 随着模型和 guardrails 改进,droids 在任务执行方式上变得相对不受约束。规划、决策和环境 grounding 让它们能够在长时间跨度内保持松散的目标导向,因此创始人承认,“agent”如今才是技术上更准确的描述。

  • 平台围绕 3 类重复性工作展开:知识与技术写作、代码和可靠性。代码 droid 是日常主力;可靠性 droid 会汇总事故证据、产出根因分析,并处理 SRE 式调查——这些工作原本往往要由人在凌晨 3:00 值班时完成。

4. 企业上下文被视为 worker 的组成部分,而非可选检索项

  • Factory 的界面重点展示活动日志和上下文面板,详细代码审查则留到任务完成后。目标是让用户看见 droid 正在做什么,提供一幅“通往其大脑的 X 光片”,而不是强迫用户盯着每一行代码逐字出现。

  • Factory 已接入 Linear、Jira、Slack、GitHub、Sentry 和 PagerDuty 等系统。Matan 将其与人类工程师需要的更广泛企业信息源作比较,包括 Notion 和 Datadog:只把 agent 扔进代码库,等于让一个工程师入职,却不给他 Slack、工单、文档或生产遥测数据。

  • droid 不要求用户先写出完美模板,而是先搜索、提出计划,再围绕 mockups、按钮行为、字段以及缺失实现提出有针对性的问题。Matan 用管理工作作类比:好的委派会在适当之处给予自主权,但会提前讲清硬约束,避免隐藏假设最终导致结果不达预期。

  • Factory 会主动合成关于环境配置、仓库结构和模块关系的“synthetic insights”。droid.yaml 可以补充指导规则;来自其他供应商的规则则会被选择性吸收,因为这些文件经常包含弱工具所需的额外指令,Factory 只保留自己尚不了解的部分。

5. 委派需要不同的界面,也让测试更有价值

  • 在对话过程中,droid 修改或新建了约 12 个文件,运行了代码,随后还可以被指示创建 GitHub pull request。内置浏览器能够查看 HTML 和 SVG;尽管操作对象是 Factory 庞大的 monorepo,任务也只消耗了 43% 的上下文。

  • 这次演示的关键在于时间维度:创始人进行播客对话时,agent 同时在后台工作。他们设想的工作流是启动一个任务,再启动一个,而不是等待时刷手机;云原生并行能力让开发者可以在一天开始时,同时把多项工作推入执行状态。

  • Matan 认为,把 IDE 演化成这种界面,就像通过渐进式改造把马变成汽车。如果人类编写的代码占比持续下降,那么最优界面很可能不会直接继承自那套为“编写 100% 代码”而优化的工具。

  • 人类时间因此应转向理解、规划和测试。创始人期待 agents 终于兑现 test-driven development 的承诺:droid 只有通过人类信任的测试,才算完成。主持人提出了一个有用的限定:功能发生变化时,有时测试本身也需要修改;创始人承认,困难的验证问题仍然存在。

6. 模型升级会带来行为冲击,Factory 必须吸收这些变化

  • 从 Sonnet 3.5 切换到 3.7 后,企业用户注意到,相同的熟悉 prompt 突然会触发某些行为更多或更少;Gemini 可能会因为更长的上下文而被选用。Factory 正在判断,何时应充当“减震器”,何时则意味着推理模型真正不同,需要教用户采用新的交互方式。

  • 它的评测栈把基于任务的 benchmark 与行为规范结合起来。前者部分建立在 Aider 风格的代码编辑和文件生成工作之上;后者则把高层原则转化为任务、rubrics 和 graders,用于评估诸如面对歧义时是否提问、面对详细指令时是否执行且不过度打断等差异。

  • 主持人引用了运行一次 SWE-bench 需要 8000-15000美元的估算,但 Matan 表示,“粗柱对细柱”确实能赢得客户。Matan 也同意,Factory 并不优先在该项 benchmark 上竞争,因为企业工作有所不同;而日常内部反馈往往能更快暴露行为变化。

  • 大量 post-training 如今给模型植入了供应商特有的工具偏好:Sonnet 3.7 “闻起来像” Claude Code,Codex 也带有类似的 CLI 取向指纹。模型可能坚持使用 Grep 或 Glob,而不是更好的搜索工具。Factory 目前认为,外部 scaffolding 比通过 fine-tuning 把模型冻结在某种行为上更具杠杆,但正在建设兼容未来 post-training 的 benchmark,并希望获得持续 1-3 小时的目标导向轨迹。

7. Token 定价让 Factory 与有效产出对齐,但指标仍然难以捉摸

  • Factory 对团队接入和新增用户收取少量固定费用,随后按“standard tokens”直接对使用量计费,并以标准模型作为基准。创始人拒绝不透明的 credits:理解 tokens 的用户可以判断效率,而 Factory 也一直在努力降低每个结果所需的推理量。

  • 统计口径不止于被接受的 completions 或成功的聊天 session,还延伸到 pull requests、合并代码和最终交付物。即使上下文达到 10亿 tokens,检索仍不可或缺:把所有内容塞进 prompt 依旧昂贵,而从大型 monorepo 中精准筛选内容,可以在不依赖“把整个仓库扔进去然后祈祷”的情况下压低成本。

  • 创始人以约 3 周作为代码 churn 的示例窗口:如果一行已合并代码在更短时间内再次被修改,可能计入 churn,而不是长期重构。成熟的大型代码库可能处于 3%-4%;维护糟糕或变化迅速的代码库则可能达到 10%-20%,而对 Atlassian 这样的公司而言,10% 就意味着巨大的浪费。尽管如此,创始人发现,满意的买家很少需要复杂的 ROI 仪表盘:开发者的主观感受和明显加速的交付速度已经足够。

8. 当官僚流程变得可由机器执行,Legacy 迁移便会大幅压缩

  • 据报道,最强的结果来自一家大型上市公司的迁移项目:周期从 4 个月降至约 3.5 天,且全程零停机。对创始人而言,这个时间结果对工程 VP 的说服力,高于 commits、代码行数或人为构造的生产力分数。

  • 他们给出的具体案例,是一家全国性医院系统将一套运行了 20 年的 Java 代码库迁移到 Java 21。按照传统流程,需要 4-10 名顾问和 1 名项目经理分析依赖、编写文档、制定策略、创建 epics 和工单、分配有顺序的工作;任何一个依赖项延误,都会进一步造成等待。

  • 在 Factory 中,1 个人就可以请求代码库分析和模块文档,要求生成迁移计划,创建 Jira 或 Linear 工单,识别依赖关系,并启动并行 droid sessions。人类审查改动和 CI 结果后完成合并,限速环节由实施人员数量转向“人类能多快地恰当地委派这些任务”。

  • 对大型客户,Factory 确实采用 forward-deployed 方式,因为这种工作方式对用户而言并不熟悉。在一次迁移中,其团队与客户的 2 名工程师并肩工作,直到他们“看到了光”;这 2 名工程师随后成为内部拥护者,帮助 Factory 建立信任,而不是假设一个足够强的产品就能自动改变开发者 20 年来的习惯。

9. 采用率、语义可观测性和技术型 go-to-market 是下一阶段的约束

  • 主持人提到与 Together AI 讨论过的每秒 5000 tokens 目标。Factory 的回答是有条件的:更快的输出会让委派更具魔法感,并降低采用门槛,但不会实质性改变受组织性工作约束的企业迁移。更快的推理若能同时降低成本,意义会更大,因为这将支持并行生成技术,而目前这种技术带来的质量提升还不足以覆盖其成本。

  • 传统 traces 并不是最难的可观测性问题;LangSmith 被称为“非常棒”。尚未解决的需求,是在看不到客户代码、且不满意具有主观性的情况下实现语义可观测性:用户原本想要什么,结果是否让他觉得正确?主持人认为 Amplitude 或 Statsig 在概念上更接近这一方向;Matan 表示自己希望看到这样的发展,并认为 observability layer 内部可能也需要 LLM。

  • 按他们的说法,Factory 用了约前 1.5 年打磨企业交互模式,随后在过去 90 天看到 Fortune 500 部署通过转介绍和 CEO 对话“爆发式增长”。要放大这种拉力,就需要招聘能够与 CIO 沟通、又能坐到开发者身边的技术型客户人员;内部给这一角色的原型称呼是“初级 Eno”。

  • 设计被视为运营基础设施,而不是装饰。Matan 的哥哥 Cal 确立了 logo 和品牌,为一支工程师占主导的团队带来了非工程师视角,而 droids 本身也可以消费并模仿这种设计。更广泛市场扩张的收尾信号是:据称,一些此前并非开发者的人,使用 Factory 的程度超过了一家 100 人规模的企业。

Speaker 1

Hey everyone, welcome to the latest space podcast. This is Allesio, partner and CTO at Desible and I'm joined by my co-host Swixs, founder of Small AI. Hey, and today we're very blessed to have both founders of Factory AI.

Matan Grinberg

Thank you for having us.

Eno Reyes

Thank you.

Speaker 1

Matan and Eno, my favorite story about the founding of Factory is that you met at the LangChain hackathon. I’m very annoyed because I was at that hackathon, and I didn’t start a company or meet my co-founder. Maybe one of you could quickly retell that little anecdote, because I think it’s always very fun.

Matan Grinberg

Both Eno and I went to Princeton for undergrad. What’s really funny is that, retrospectively, we had about 150 mutual friends but somehow never had a one-on-one conversation. If you pulled us aside and asked us about the other, we probably vaguely knew what they did and what they were up to, but we’d never had a one-on-one conversation.

At this LangChain hackathon, we were walking around and caught a glimpse of each other out of the corner of our eyes. We went up and had a conversation, and it very quickly got into code generation. This was back in 2023, when code generation was all about BabyAGI and AutoGPT. That was the big focus point there.

Both of us were speaking about it, and both were very obsessed with it. I like to say it was intellectual love at first sight because basically every day since then, we’ve been obsessively talking to each other about AI for software development.

Speaker 1

If I recall, that LangChain hackathon wasn’t about code generation. How did you find the idea maze that led to Factory?

Eno Reyes

I was at Hugging Face, working primarily on advising CTOs and AI leaders at Hugging Face’s customers, guiding them toward how to think about research strategy and what models might pop up. In particular, we had a lot of people asking about code and code models in the context of, “We all want to build a fine-tuned version on our codebase.”

In parallel, I had started to explore building—at the time, the concept of an agent wasn’t clearly fleshed out—basically a while loop that wrote Python code and executed it for a different domain, finance. On my mind was how unhelpful it felt for finance and how incredibly interesting it felt for software. Then, when I met Matan, I believe he was exploring it as well.

Matan Grinberg

At the time, I was still doing a PhD at Berkeley, technically in theoretical physics, although for a year at that point I had really switched over into AI research. I think the thing that pulled me away from string theory, which I’d been doing for about 10 years, into AI was really that string theory, physics, and mathematics make you appreciate fundamentalness, or things that are very general.

The fact that capability in code is core to performance on any LLM—and, loosely, that the better any LLM is at code, the better it is at any downstream task, even writing poetry—really nerd-sniped me. The fundamental beauty of how code is core to the way that machines develop intelligence got me to leave what I’d been pursuing for 10 years.

That, mixed with the fact that code is one of the very few things, especially at the time, that you could actually validate, made it extremely exciting to pursue. You have that agentic loop where the LLM is generating the output and you’re actually verifying the quality of that output against ground truth.

Speaker 1

How did you guys decide that it was time to do it? If you go back, the technology was cool at a hackathon, but as you started to build a company, there were a lot of limitations. How did you flesh out the start of the company? The models weren’t great at the time, so you built a harness around them, and now the models are getting a lot better, so it’s time to go GA, as you’re doing now.

Matan Grinberg

There’s a more quantitative answer and a more qualitative answer. The qualitative answer builds off what I said before: it was intellectual love at first sight. I think it was also one of those things where, if you know, you know. We met, we got along so well, and basically for the next 72 hours we didn’t sleep. We were just building together on initial versions of what would become Factory.

When something like that happens, I think it’s good to lean in and not really question or overanalyze it. At the same time, if you do actually go and analyze it, there are exactly the considerations that you’re talking about. The models at the time—GPT-3.5 was what was available—certainly weren’t enough to have a fully autonomous engineering agent. But very clearly, if you build that harness or scaffolding around them and bring in the relevant integrations and sources of information that a human engineer would have, it’s very clear how that trajectory would get to the point where more and more of the tasks a developer would do could be automated.

Eno Reyes

At the time, as you mentioned, there was BabyAGI and a couple of these other concepts that had come out, which involved putting a while loop around the LLM and feeding back some context. On the other hand, there were papers coming out on chain-of-thought and self-reflection. Of course, the scaling law papers had been somewhat established at that point.

There was a clear direction where models were going to get better at reasoning and better at having larger context windows. They were going to get cheaper, or at least the price-to-performance frontier of model capabilities was going to expand, so that good models would get cheap. The best models might stay the same price, but they would start to get really smart.

This wasn’t super obvious, but if you spent a lot of time reading through these papers and working through them, there was definitely a rumbling among most of the people in the community that this was going to continue to extend. You blend all of that with meeting somebody who had this kind of energy and clearly wanted to build, and I think it became really obvious that the opportunity was available.

Matan Grinberg

I also think that we made a lot of solid progress on the initial demo—enough to convince ourselves that this was actually going to be possible. To be clear, though, it was 8 days from us first meeting to me dropping out of my PhD and Eno quitting his job.

Speaker 1

Yeah, pretty crazy. 8 days, for sure.

Speaker 2

My first company was a hackathon project, and I dropped out of school to actually found the company with one of my best friends, so the story resonates.

Speaker 1

I think I’m doing hackathons wrong. Maybe I’ve had one girlfriend out of them. That was about it.

Speaker 2

Is it still ongoing?

Speaker 1

No.

Speaker 2

Oh, yeah. I mean, it’s a part of the funnel.

Speaker 1

Code generation wasn’t the topic of the hackathon back then, but today, every other event I go to has code generation as part of it. There are a lot of code-generation products. Do you guys want to talk about what Factory is and give a quick comparison of the different products that people might have heard about, so we can dive deeper?

Matan Grinberg

Our focus is on building autonomous systems for the full end-to-end software development life cycle, and in particular, for enterprises. Code generation is obviously very exciting. A lot of the best engineers coming out of the popular schools want to work on reinforcement learning, do cool things with GPUs, or train models. Code is one of the most obvious areas because it’s very easy to resonate with if you’re an engineer.

That’s led a lot of the players in the space to focus on coding in particular, and on solo developers or building a quick 0-to-1 project. The use case appeals to that profile. We’re focused on the relatively underserved enterprise perspective.

There are hundreds of thousands of developers who work on codebases that are 30-plus years old. They’re ugly, hairy, and messy. If you made a demo video doing some COBOL migration, that’s not very sexy. You wouldn’t go viral or get a lot of views because it’s just not that visually appealing.

But the value you can provide, and how much you can improve those developers’ lives, is very dramatic. Seeing that underserved group is why we’ve focused our sights there.

Eno Reyes

I would add that there are a lot of really interesting constraints that people take for granted in the broader market as being fundamental to the coding-assistant and SDLC-assistant market. In particular, a lot of the players look at a platform that has been the dominant tool for software developers: the IDE.

This is a tool that was designed 20-plus years ago, or has been iterated on for 20-plus years, primarily for a human being to write every line of code. When you take a tool like that and start to introduce AI, you introduce additional constraints that exist simply because of where you’re interacting with these systems and where those systems live.

For example, latency matters a lot when you’re inside an IDE.

Matan Grinberg

The cost when you are local-first and your typical consumer is on a free plan or a $20-a-month paid plan limits the amount of high-quality inference you can do, and the scale or volume of inference you can do per outcome. When you are freed of a lot of these constraints, you can start to more fundamentally reimagine what a platform needs to look like in order to shift from a very collaborative workflow—which is what I think we see with most tools today—to a more delegative workflow, where you are actually managing and delegating your tasks to AI systems. I think that the product experience of delegation is really, really immature right now, and most enterprises see that as the holy grail—not going 15% or 20% faster.

Speaker 1

And you call them droids. Is there a story behind the naming of either Factory or droids?

Matan Grinberg

We were initially incorporated as the San Francisco Droid Company.

Eno Reyes

Really?

Matan Grinberg

We were just talking about that on the live podcast.

Eno Reyes

Sorry—oh, you had to bleep that out.

Matan Grinberg

No, no, no, no. But our legal team advised us that Lucasfilm is particularly litigious and that we should change our name.

At the time we were thinking of renaming, I was still in my Ph.D. We incorporated 2 days after we met, which was also ridiculous. We were thinking of renaming, and I was still in an ML class at Berkeley, reading a paper on actor-critic.

In there, there was some equation that was like some function of the actor—we're just calling that y. It was f of a equals y; a is actor. Put the actor in there, and then it's, you know, Factory. That's how it originally came about. It actually works quite well—automation, that sort of thing.

Also, the Factory method, I think, was—we had that written up at some point, and I think that inspired this line of thinking. Droids kind of remained because we felt that there was a lot of hype at the time around the concept of agents. But it referred to such a specific thing that everybody saw: this endless while loop, unreliable system that just kind of went on and on and took a bunch of actions without guidance.

Our thought process was, well, that's not really what our system looks like at all. So even though underneath it is an agentic system, do we need to say that we're an agent company? It doesn't really make sense.

Speaker 1

I kind of like that. Last year, even though you spoke at the AI Engineer World's Fair, I put you on the agents track. I almost didn't have an agents track because I thought, this is so ill-defined, and I think that instinct is good. But now the agents wave has come back the other way, and now everyone's an agent. I think defining your own term for it and just getting out of that debate is a positive.

Would you say it's closer to a workflow, which is, I guess, the more commonly industry-accepted term now?

Matan Grinberg

That's a great question. I think the original version of the droids was a lot closer to what we called workflows. They were asynchronous and event-based. They would trigger, and each one had a specific kind of deterministic, semi-deterministic behavior. That was the original version.

I think what we've grown to as the models have evolved, and as our ability to build out guardrails and the system has improved, is that when you interact with droids inside the Factory platform, they are relatively unbounded in the path that they take. They are, in general, guided mainly by the concepts of planning, decision-making, and environmental grounding.

They can stay loosely goal-oriented over a long duration without needing very hard-coded guardrails, but they still tend to hit their goal according to their original plan. I think now agent is probably the proper way to describe them.

Eno Reyes

Sure.

Matan Grinberg

But I think droids have a nice ring to it. Our customers really love droids as a name. I cannot tell you how many times, if we're with an enterprise customer, we'll do a POC and a day later, if they're excited and things go well, they'll share a screenshot and be like, “These are the droids we're looking for.” Honestly, every time it's so fun.

Eno Reyes

I know, and everyone thinks they're the first to make that joke, but it really is better than agent or intern or an autonomous human name.

Matan Grinberg

Yeah, it's actually a pretty good insight. And actually, I think we take a bit of an objection to the idea that these things are a replacement for a human being.

As we work through harder and harder problems with agents, it's become more clear that the outer loop of software development—what a software developer does: planning, talking with other human beings, interacting around what needs to get done—is something that's going to continue to be very human-driven. Meanwhile, the inner loop, the actual execution of writing lines of code or writing down the docs, is probably going to get fully delegated to agents very soon.

Speaker 1

You just need to put “Roger, Roger” once they ask a question in the task.

Matan Grinberg

We have that emoji in our Slack and use it very frequently.

Speaker 1

Roger, Roger. Do we want to do a quick demo?

Matan Grinberg

Yeah, happy to jump in.

When you land on the platform, you're presented with the opening dashboard. We try to make it really obvious that there are different droids available for key use cases that people tend to have. Of course, you can always go and speak with a default droid that can do a lot of things pretty well, but what we've learned is that there are 3 major use cases that people keep coming back to the platform for.

The first is knowledge and technical writing. That's going in more of a deep-research-style system that will go and do some research. It will use tools available to it—search, et cetera—and come back with either a high-quality document or answers, and then you can go back and forth. The code droid is really the daily driver for a lot of folks, and this system allows you to actually delegate a task. I'll jump into that in a second; we can actually go through a full walkthrough.

And then the reliability droid. It was pretty surprising to us, the degree to which people love doing incident response, the kind of SRE-style work, inside the platform. In retrospect, it's nice because no one loves to be on call at 3:00 a.m., waking up and being like, “What's happening?” Being able to just pass an incident description or say, “Hey, something's going wrong,” and have a system really compile all the evidence, write up an RCA, and provide that for you is super high-leverage. That's actually one of the more popular droids that people use.

I can start by just going into the code droid. When you start a session with a droid, you're presented with this interface. It's a little different from typical interfaces, where we see a lot of tools really want to focus you in on the code. Our perspective is that code is important to review when it's completed, but as the agent is working, what matters most is seeing what the agent is doing and having a bit of an X-ray into its brain.

We have an activity log on the left and a context panel on the right. You'll notice as we go through this task that the context panel starts to get updated. I'm going to start by doing something that's a pretty common entry point. I'm going to paste a ticket into our platform.

We have integrations with a bunch of different stuff: Linear, Jira, Slack, GitHub, Sentry, PagerDuty—you name it. We have a bunch of these integrations that our enterprise clients have wanted over time, such that you can easily pull this info in.

If I were to say something like, “Hey, can you help me with this ticket?”—and then I'm going to use my @ command, which lets me easily reference code or codebases—“Hey, can you help me with this ticket in the Factory monorepo?” I like to be nice to them: “I'd love your help.”

You'll note that right off the bat, the droid starts working. It's doing a semantic search on part of my query in that codebase. The system has access to a bunch of different tools here: memory, project-management tools, GitHub, web search. Right now, the code droid only has search enabled by default, but you'll note that as the system starts working, it may actually want those additional tools added so that it can do its job.

Maybe an important note there is, as we deploy these droids in the enterprise, something we're pretty ideological about is that everyone expects these agentic systems to perform at the level of a human, because that's what they're always going to compare them to. But in a lot of cases, they'll have these agents just in the IDE, and that's the equivalent of onboarding a human engineer, throwing them into your codebase, and being like, “All right, go.”

But the reality is, when you onboard a human engineer, what do you actually onboard them to? Slack, Notion, Linear, Datadog, Sentry, PagerDuty—they have all of these other information sources that they need to actually be a productive engineer. And yes, in theory, if you're really, really good and you don't need contextual information, you could just work based on code, but that would be a lot harder and would probably take a lot more time.

Eno Reyes

100%.

Matan Grinberg

Having those connections ends up being super important as it works through harder problems. In particular, you can see that the first thing it did after that search was reference some of the information that it found, saying, “Hey, this is what I found so far.” It gives an initial crack at a plan, presents that really clearly to you, and then goes to ask clarifying questions.

So, a lot of users, we believe, should not need to prompt-engineer agents, right? If your time is being spent hyper-optimizing every line and question that you pass to one of these systems, you're going to have a bad time. A lot of what we do is to be able to format things: if I say, “Help me with this ticket,” right, there are clearly going to be some ambiguities. The system knows that when you give a very detailed answer or request, it should follow your instructions. When you give more ambiguous requests, it should ask for clarification. This is actually a really tricky thing to get right in the model, but we spend a lot of time thinking about it.

And so I'm just going to answer some of these questions. Are there any UI mockups? No. Try to imitate the other examples. 2. Only preview when the button is clicked. 3. No, it's actually not implemented. 4. Just answering back which specific fields must be displayed. Your choice. And 5, your choice.

So now I'm basically saying to it, “You decide” for some, giving my preferences on others. This is really the balance of delegation, including delegation to non-AI systems. As a good manager, you give autonomy to people who work with you when needed, but also, if you're like, “Hey, I'm a little worried about this,” or, “I'm going to be really strict about what I expect here,” you want to extract that behavior as well. Because a lot of times, like Eno mentioned, if you give a really poor prompt and just say, “Hey, go do it,” it's going to go do it, but it'll probably make assumptions. At the end, you might not be happy, but that's just because there were some constraints in your head that you didn't actually explicitly mention when you were communicating.

Speaker 1

So, yep, 100%. Do you guys have a template that you've seen work? When I onboarded to Devin, for example, they have the Improve Prompt button, and then it prefills their template, which is, “Give the agent instructions on how to debug, give the agent instructions on how to do this,” and asks you to fill out these things. Do you guys have a similar thing where you think, for each project, these are the questions that matter, or is that more dynamic?

Matan Grinberg

No, that's a great question, and it's something that we talk about a lot internally. It's surprising how many people are building products that have reactive information requests, like, “Please fill out this form to explain how to do this thing,” or, “You need to set up this dev environment yourself manually in order for this to work.” We think about trying to be proactive with a lot of this stuff.

You'll notice in the right-hand corner there's this project overview, right? The Droid started to code after doing some search, so that's going to pop up while we do this. When I click into this project overview, what you're going to see is basically a—I'm hiding it because I'm realizing this is actually semi-sensitive.

Speaker 1

Hide that, no worries.

Matan Grinberg

It's totally fine for folks to see that it's a monorepo. If I scrolled down, that's when we'd get in a little bit of trouble. But inside that project overview, we're actually synthesizing a bunch of what we call synthetic insights on top of the codebase. That is looking at things like how to set up your dev environment, what the structure of the codebase is, and how important modules connect to each other. As we index codebases, we're actually generating these insights at a much more granular level across the entire codebase. We think that, in general, systems should be proactive in finding that information.

However, with features like memory—and we have a droid.yaml—you can set some of your guidelines. But we also feel that it's like that XKCD about standards, right? Everyone's got their own rules file, and so we ingest those automatically from all of the popular providers as well.

Speaker 1

Wow. Okay. Is something like Cursor Rules complementary, because people might take this and then work on it in Cursor separately?

Matan Grinberg

What we found is that there are sometimes extraneous pieces of advice in those, because people need to give a lot more guidance to those types of tools than they do to ours. So our system parses through and only picks the things that we don't already know.

Another thing that comes to mind related to your question—and this is something we've been thinking about a lot as well—is that, as we have more and more enterprise customers, a lot of the developers in the enterprise are not going to be as up to date on every new model and how it changes its behavior. Something that's interesting that we're thinking about is that these developers are getting familiar with Factory and how to get the most out of it. Then, let's say, when we upgraded from Sonnet 3.5 to 3.7, we suddenly had a lot of developers saying, “Hey, wait, it now does this less, or it does this more. What's happening?” Or when they go to Gemini, let's say, and they want longer context.

Something that I think is interesting is how much of the behavior difference between the models should we act as a shock absorber for, so that they can basically, as a user, use it exactly how they've been using it before and get the same sort of output? But then also, how much of that do we actually want to translate to the user? Because presumably, over the next 3 years, the way you interact with models will change, and it's not just going to be about behavior, but rather, I guess, it's alpha versus beta in the model. Some models have different personalities, and it's just the way you prompt them to get the same output. Then there are others where—I mean, for example, the reasoning models—they just work in a fundamentally different way, and so you, as the user, should know how to interact differently. So that's something that's kind of fun to wrestle with.

Speaker 1

How do you evaluate the new models?

Matan Grinberg

We listen a lot to how the model providers actually think about building out their eval suites, and in particular, we try to look at things like desired behavior versus actual behavior in a way that's sustainable for a small team. We don't have $100 million to pay data providers. A lot of the evaluation ends up being a combination of point- and task-based evals. Aider has an awesome benchmark that we built on top of internally for code editing and file generation. For the top-level agent loop, we also have our own behavioral spec, where we set a bunch of high-level principles.

We break those down into tasks. Those tasks then have grades and rubrics, and we try to run them in order to determine whether the behavior suite that we like—for example, asking questions when it's ambiguous versus not asking questions—matches up. We also use that to optimize the prompts.

Speaker 1

Just a quick question on these types of things. I think every company should have its own internal evals, right? That is not in question, and obviously, that is your IP, so we can't know too much about it. But what is the right amount to spend on something like this?

We talked about SWE-bench before recording. SWE-bench costs like $8,000 to run. I've heard varying numbers between $8,000 and $15,000 to run. Yeah, that's high, but you should be able to spend some amount to ensure that your system as a whole works and doesn't regress. What's a rule of thumb for what is the right amount to spend on this?

Matan Grinberg

Yeah, I mean, I think it's important to separate out the 2 purposes of benchmarks. One is marketing. There are so many customers that we have who came purely because they saw the charts, saw the big bar versus the little bar, and were like, “Okay, we want to go with the big bar,” which is funny, but that's just the way things go. I think that's actually a good thing, because that motivates more resources to be put into benchmarking and evaluation.

On the other hand, there definitely is a risk of going too far in that direction, or even getting to the point where you're fine-tuning just to satisfy some benchmark.

Speaker 1

And so, like we were saying before the taping, you guys don't bother competing on SWE-bench anymore because it's not that relevant for you.

Matan Grinberg

Yeah, that, and also just in the enterprise, the use cases are pretty different from those represented in something like SWE-bench. So we do have pretty rigorous internal benchmarks as well. But I think there's also a certain extent to which the vibe-based or sentiment-based evaluation internally actually matters a lot, because who has a more intimate understanding of the behaviors of these models than the people who work on them every single day, working with them and building with them? We use Factory internally every single day, and so when we switch a model, we very quickly get a sense of how things are changing.

Definitely. And I think those task-based evals tend to be the ones where it's most critical that we hill-climb continuously, versus the top-level evals. They change so much with the new model providers that we try to make sure that they have some degree of consistent behavior, that the feel is smart.

But the top-level agent is actually not that responsible for what most people call quality. That ends up being: Is it fast, accurate, and producing high-quality code edits? Does it call tools with the right parameters? Is the tool design such that the model can easily fit into it? We have noticed a lot of really interesting behaviors with the new models that have much heavier RL and post-training related to their own internal agentic tools. For example, Sonnet 3.7 smells like Claude Code, right? Same with Codex. It very much impacted the way that those models want to write and edit code, such that they seem to have a personality that wants to be in a CLI-based tool.

What's interesting is: How do we combat the preferences that RL brings into the product? For example, search with the CLI is like Grep and Glob. But what if you gave it a search tool that was way better than Grep or Glob at finding precisely what you wanted, but the model just really loves to use Grep? They're going to fight each other.

Our evals have to figure out how to make sure that, as we build tools that are better than what maybe the model providers have in their slightly more toy examples, the models use those tools to their full extent. That's actually been a very interesting, novel challenge for us that only started happening in the last 3 to 6 months as these new models have come out.

Speaker 1

Does that make you want to do more reinforcement fine-tuning on these models? Kind of take more of that matter into your own hands?

Matan Grinberg

I definitely think that it's an interesting idea, but our take in general is that freezing the model at a specific quality level and freezing the model at a specific data set just feels like it's lower leverage than continuing to iterate on all these external systems. It also feels like this is a bit of a bug. We spoke with a bunch of the research labs, and I don't think that they actually want this type of behavior. What it is ultimately is a reduction in generalization.

Speaker 1

Cool. Anything else to see on the demo side?

Matan Grinberg

Oh, yeah. I mean, it's still coding.

Speaker 1

Yeah, yeah. So, going ham.

Matan Grinberg

Yeah. So, you can see here that we're running.

Eno Reyes

Oh, because you gave it a whole bunch of things.

Matan Grinberg

Yeah. So, I actually gave it quite a large project to execute live in front of us.

Eno Reyes

Got to earn it. Let's keep going.

Matan Grinberg

This is why this delegation-style flow we see is really different. In general, we expect the answer or output of this to just be correct, right? It's running code, iterating on code, and making edits to a bunch of different files. It's going to have to run pre-commit hooks and test all this stuff.

I think that this is a big difference in workflow, right? We've just had a podcast conversation; meanwhile, the agent is working on my behalf. This is probably going to be mergeable at the end of this. It's ideally going to create a pull request, and we can check in on it at the end.

But I think that this difference is, like, what would I be doing right now? I think today a lot of people just open up their phone, maybe, and start browsing, or they context-switch to a different task. But the real power is unlocked when you start to realize this is the main thing that I'm going to be doing: only delegating these types of tasks. And so you start jumping to, okay, while this is happening, let me go and kick off another task and another one and another one.

Being cloud-native and being able to parallelize these tasks—I’m only sharing one tab, but if I just open another one and start right now, we support that natively. I think this feels a little bit more like how people are going to work: You maybe start the day setting off a bunch of tasks in motion, and then you spend the rest of it on harder intellectual labor, like thinking about which of these is actually highest priority to execute on.

This actually goes into something that Eno was mentioning a little bit before, but also a question that I'm sure everyone, when they see this, is going to ask, which is: Why is this browser-based? Why is this not in the IDE? I'm used to coding in the IDE.

The higher-level answer here is that, as Eno was alluding to before, over the last 20 years, the IDE was built for this world where developers are writing every single line of code. Something I think everyone can agree on is that, over the next few years, what it means to be a software developer is going to change dramatically.

Now, some people disagree, and some people say there will be no more software engineers. Some people say everyone's going to be a software engineer, and everywhere in between. But the reality is very clear: In the next few years, the number of lines of code written by humans will go down. The percentage of code written by humans will go down.

Our take is that it is very unlikely that the optimal UI or the optimal interaction pattern for this new software development, where humans spend much less time writing code, will be found by iterating from the optimal pattern when you wrote 100% of your code, which was the IDE.

Internally, we talk a lot about the Henry Ford quote, which is: If you ask people what they want, they would say, “Faster horses.” For us, the analogy here is: Can you iterate your way from a horse to a car? There's this very grotesque Ship of Theseus you can imagine of trying to turn a horse into a car. It doesn't really look pretty.

Our take is that, even though the world was built for horses at a certain point in time—there were stables everywhere throughout a city, you were used to feeding this thing and taking it with you everywhere—it is kind of a higher barrier to entry to start introducing this new means of transportation in this analogy.

We are taking that more ambitious angle: Everything is going to change about software development. In order to find that optimal way of doing it, you do need to think from scratch and think from first principles about what that new way to develop looks like.

To give some early answers that we're pretty clear about, the time developers spend writing code is going to go way down. In turn, the time that they spend understanding and planning is going to go way up. And then also, the time that they spend testing so that they can verify that these agents that they delegated to did indeed do the task correctly—that's going to go way up.

The promise of test-driven development is going to finally be delivered with this world of AI agents that are working on software development. If you do want to delegate something like this while you're doing a podcast and come back later, ideally you don't even need to check their work and you just merge the PR.

But how do you do that with confidence? You need to be really sure that the tests that you put up and said, “Hey, Droid, you're not going to be done until you pass all of these tests”—if you wrote those tests, well, then you can say, “All right, great. Pass the tests. Let's merge it. I don't even need to go in and see how it did everything.”

Eno Reyes

I mean, sometimes you do have to break the tests because you're changing functionality.

Matan Grinberg

Yeah, yeah. There's a whole bunch of hard problems, but I just wanted to cap off the sort of visual component of the thing.

Speaker 1

There's one thing you haven't shown, which is that there's a built-in browser. I have a Next.js project here that I'm running—the conference website. It spun it up itself. When I tried it out in ChatGPT Codex, it didn't work out of the box, and they didn't have a browser built in. So, it's nice that you have that kind of stuff.

Matan Grinberg

No, for sure. Being able to view HTML, SVG, et cetera, on demand is super nice. I think it's pretty much wrapped up. It actually finished these changes. I think it's roughly 12 files that it edited and created, and so, right after this, because of the GitHub tool, I would just say, “Go ahead and create a pull request.”

Speaker 1

Amazing. Yeah, good stuff. You even show a little 43% of context size used. That's actually not that much, given that this is Factory's own codebase.

Matan Grinberg

Yeah. And this is actually a large monorepo. I think the big thing that I'd love for people to try out is to look at how efficient it is. It's able to really execute on precisely what it needs to edit with relatively lower token usage than other agentic tools.

Obviously, if you're just getting autocomplete, that's going to be a little bit more expensive. But compared to other agents where you get 5 credits and it takes a while to execute on anything, I think they'll see a better experience with Factory.

Speaker 1

When you started saying things like, “Oh, we can pull in from Notion, we can pull it from Slack,” that sounded like a lot of context. You're going to have to do pretty efficient RAG to do this, right? I guess it's not even RAG; it's just retrieval.

Matan Grinberg

Yeah. Yeah. I mean, there is the temptation—and I remember maybe a year ago, there was really a lot of hype around large context, because it's the dream of being super lazy and just throwing in your whole codebase, throwing in everything at it, which is what Claude Code does.

Eno Reyes

Right, exactly.

Matan Grinberg

But I think the one downside of that is, okay, great, if you do have a billion-token context-window model and you throw it all in there, it's still going to be more expensive. The reason why retrieval is so important for us is because, even if there is a model that's going to have these larger context windows—and certainly, over time, we're going to get larger context windows—you still want to be very cost-efficient.

This is something that our customers care a lot about. They see a lot of the value in the effort that we put in on retrieval, because they'll see, “Wait, this was a huge monorepo and I gave it all this information, but then I see for each actual call, you're really good at figuring out what do I actually need,” as opposed to just throwing the whole repo in and praying that it works.

Speaker 1

You mentioned the credits. What's the pricing model of the product?

Matan Grinberg

We're fully usage-based. For us, it's really important to respect the users and their ability to understand what this stuff means. I think all the stuff around credits and all—it just kind of obscures what's actually happening under the hood.

I actually think that we get better users the more they understand what tokens are and how they're used in each back-and-forth.

It’s a direct bill through to what we call standard tokens, and it’s benchmarked off of the standard models that we have. Right now, when you get access to the platform, your team would pay a small fixed price just for access. Every additional user is another very small fixed price, and then the vast majority of the spend would be on usage of the system.

I think this is nicely aligned: you get a sense of how efficient it is with token usage. This is a big reason why we’ve tried really hard to make it more token-efficient, and then you can track, of course, how you’re using it in the platform.

A lot of people like to see not only raw usage, and this gets into tracking success—something that a lot of people do by, maybe, the number of tabs that you accepted or chat sessions that ended with code. For us, we try to look a little bit further and say, “Look, you used this many tokens, but here are the deliverables that you got. Here are the pull requests created. Here’s merged code.”

We help enterprise users look at things like code churn. It turns out that the more AI-generated code you have, if the platform isn’t telling you the code churn, there’s a reason for that. Code churn means the amount of code deleted versus added.

It’s basically a metric that tracks variability in a given line of code. It’s very imperfect, because some people will say that the difference between code churn and refactored code is somewhat arbitrary. It depends on the time period: if I merged some line and then changed that line, if I change it within a shorter period, it’ll churn, whereas over a longer period it’ll count as refactoring.

Generally, in enterprise codebases, if you merge a line of code and then change that code within 3 weeks, it’s because something was wrong with that code. Generally, it’s not always true, but it’s a useful metric. It averages out, because sometimes it’s like, “Wait, what if you just had an improvement or some change that wasn’t about quality?”

Is code churn up bad? Yes. In very high-quality codebases, you’ll see 3% or 4% code churn when they’re at scale. This is with millions of lines of code. In poor or poorly maintained codebases, or early-stage companies that are just changing a lot at once, you’ll see numbers like 10% or 20%.

Now, if you’re at Atlassian and you have 10% code churn, that’s a huge, huge problem, because it means that you’re wasting so much time. If you’re an early-stage startup, code churn is less important. This is why we don’t really report that to every team—just to enterprises.

Speaker 1

Are there any other measurements that are popular? This is nice, that I’m hearing about code churn, but what else do enterprise VPs or CTOs look at?

Matan Grinberg

For the enterprise, I think the biggest thing is that there are so many tricks and different dances you can do to justify ROI. The number of commits and lines-of-code metrics are usually popular, and at the end of the day, we initially went really hard on all the metrics.

What we found is that oftentimes, if they liked it, they wouldn’t care, and if they didn’t like it, they wouldn’t care. In reality, at the end of the day, no one really cares about the metrics. What people really care about is developer sentiment when you’re playing that game.

At the end of the day, if you want to use a metric, talk to developers and ask if they feel more productive. If you’re a large enterprise and you want to justify ROI, the biggest thing that we’ve seen—and what’s allowed us to deploy very quickly in enterprises—is pulling in timelines on things.

There’s one very large public company that we work with, and we pulled in a large migration task from taking 4 months to taking 3½ days. That’s the best ROI there. You don’t need to measure this or that. We had something that was going to be delivered in the next quarter, and we got it done this week with no downtime.

That is music to a VP of engineering’s ears. That’s what we tend to focus on: pulling in deliverables or increasing the scope of what you can get done in a quarter.

Speaker 1

In order to achieve a very large refactor like you just described, do we use that same process you just saw, or is there more setup?

Matan Grinberg

I think the workflow for, let’s say, a migration is probably one of the most common. I can even give a very concrete example. Let’s say you are the administrative service of a large European nation, like Germany or Italy, and you have a hospital system that runs on a 20-year-old Java codebase.

A company wants to come in—a Big Four consulting firm or something like that—and says, “We would like to transform this entire codebase to Java 21. It’s going to take X amount of time, a couple of months, and by the end, you’ll be on a relational database. You’ll be into the future, on Java 21.”

When that typically happens, you have to almost break down what that means from a human perspective first, and then map it to how it works on our platform. You’ll have a team of anywhere from 4 to 10 people come in, and you have a project manager who is going to work with engineers to analyze the codebase, figure out all the dependencies, and map that out into docs.

First, there’s an analysis and overview of the codebase. Next is a migration strategy and plan. The third is timelines, and you’re going to scope all this out. What do you do next? You go to a project management tool like Jira. You take those documents, and a human being translates that out: “We’ve got 2 epics over the next 2 months. This epic will have these tickets. That epic will have these tickets.” Then you find out the dependencies and map those out to humans.

Each of these humans is now operating such that, one after the other, they’re knocking out their work, mainly in parallel. Occasionally, pieces have to connect: one person misses something, and now the whole project gets delayed about a week.

This interplay of understanding, planning, executing on the migration incrementally, and then ultimately completing it involves a handoff period. There are docs for the new artifacts that we’ve created, and there’s all this information.

You map that over to a system like ours, and one human being can say, “Please analyze this entire codebase and generate documentation.” That’s one pass, one session in our platform: analyze each of the modules. We already do a lot of this behind the scenes, which makes it a lot easier, and actually generate an overview of what the current state is.

You can now pull those docs in with real code and then say, “What’s the migration plan?” If there’s some specific system, you can pull in docs. Our system connects with Linear and Jira, so it can create tickets, create the epic, ticket this whole process out, and figure out which are dependencies and which can be executed in parallel.

Now you just open an agent in every browser tab, and you execute all of those tasks at the same time. As a human being, you just review the code changes: “This looks good. Merge. Did it pass CI? Okay, great. On to the next one. This looks good. Merge.”

A process that typically gets bottlenecked—not by skilled humans writing lines of code, but by bureaucracy, technical complexity, and understanding—gets condensed into basically how fast a human being can delegate the tasks appropriately.

It happens outside of one session, like what we just saw, which would be one of those tasks. The planning phase is really where we see enormous condensation of time.

Speaker 1

We just talked about your pricing. You’re just usage-based. Are you tempted to have forward-deployed engineers, just like the current meme, to execute these large things?

Matan Grinberg

I think this is something we definitely do a little bit of for our larger customers because, like we said at the beginning, this is the way we think software development will look, and it’s an entirely new behavior pattern. I think it would be a little naive to just be like, “Hey, we have this new way of doing things. Go figure it out.”

We definitely go in and help show them how to do this. In the migration example that I was mentioning before, we worked with them side by side. Just us and 2 of their engineers showed them how to do it. They saw the light, if you will, and then they ended up being the internal influencers within their organization, teaching everyone else how to do it.

But if you want to change behavior, you can’t just assume that the product is going to be so good that everyone’s going to immediately get it. Developers have very efficient ways of working that they’ve built out over the last 20 years. We want to make sure that we accommodate that, earn their trust, and slowly bring them into this new way of building.

To do that, we need to extend that olive branch and meet them where they are, showing them how they can do new things.

Speaker 1

We did an episode with Together AI maybe a year ago or so, and we were talking about what inference speed we actually needed. They always argued that we needed to get to around 5,000 tokens per second, and we were chatting about whether or not that made sense because people can’t really read it.

As you think about Factory, how much do you think you’re bound by the speed of these models? Do you know—if the models were a lot faster, would you just complete things quicker? Would you maybe fan out more in parallel? What are the limits of the models today?

I want to let you answer this, but immediately, every time this thing comes up, I always just think about the memory that Chrome tabs take. It’s never enough, and you always want more, but it also lets you be lazier.

Matan Grinberg

No, for sure. I think this is kind of a funny question. It has two directions. Practically, would this make a big difference for someone who knows, loves, and uses our platform on a daily basis? I think it would probably improve their quality of life, so definitely, faster tokens would be awesome.

I think where this actually has an impact is on those who haven't yet made the jump from collaboration to delegation. If you're used to very high-latency, high-feedback experiences, then that speed difference—seeing most of that delegation happen very quickly and being able to immediately jump in—feels very nice. For the larger enterprise deployments, where they start to familiarize themselves with how this works and with the migrations, I don't think this actually makes a big difference, because most of the bottleneck ends up being, as I mentioned, almost bureaucratic in nature.

But for the average developer, I think this improves the user experience to the point where it would feel very magical. I think we could get a lot faster. It probably wouldn't change what's possible, but it would really change the ease of adoption for people who maybe aren't as in the weeds on AI tools.

And if you combine the latency with a cost reduction as well, I do think cost is one of the reasons why we haven't scaled out so greatly. Originally, we had a lot of techniques that would generate a lot of stuff in parallel, and we still know how to do that. We're very excited to bring that back, but right now we don't do it because it's cost-prohibitive, and the quality delta isn't enough to justify the cost increase.

Speaker 1

I have a closing question, if you don't mind. This is more or less asking you about a limiting factor. It's basically 4 questions in 1: What do you see as your limiting factor right now in terms of models? What capabilities would really help you? For hiring, what skills are really hard to hire? For customers, what do you really want to unlock that's weirdly not working? You have an ICP that's more enterprise and doing well, but what's the next one? And finally, for dev tooling, what do you wish existed that you had to build for yourself, or that you just feel could be a lot better?

I'll maybe do models and dev tools, and you can take hiring and customers.

Matan Grinberg

I think, right off the bat, probably the biggest thing is models that have been post-trained on more general agentic trajectories over very long time horizons. That feels like something there's an effort for right now. What I mean is an hour, 2 hours, or 3 hours of seriously working on a hard problem, such that the model knows how to keep that long-term, goal-directed behavior the whole time. That's something that I assume we'll get soon.

Speaker 1

OpenAI has put out that Operator benchmark. They had human testers actually try for 2 hours and give up. Did you see that one?

Matan Grinberg

Yeah. I think that's exactly the type of work that we want to see taken further, because I would argue that's probably one of the bigger blockers.

Speaker 1

Would you ever do that yourself? I don't see you guys as customizing your own models a lot, but you work with the frontier labs, right? Is there a point where you would just be like, “All right, screw it. We'll do it”?

Matan Grinberg

We are currently building benchmarks with a lot of the post-training techniques very much in mind. I don't know exactly, at this point in time, how much we're going to commit to that, but for sure we'll be using those benchmarks for our own internal goals and, if we need to use them later on, for post-training. I think there's a lot of compatibility.

And then, maybe for dev tools, it is still surprising to me that observability remains very challenging.

Speaker 1

Really? There are like 80 tools out there.

Matan Grinberg

No, for sure. LangSmith is actually fantastic. We use LangSmith. We don't use LangChain, but we just use LangSmith, and LangSmith is awesome.

Speaker 1

See, the hackathon has ROI for Harrison.

Matan Grinberg

They've been fantastic, and that's been cool. But I think it's really tricky to deal with enterprise customers where you can't see their code or data at all, but you're trying to build a product where you can improve the experience. A lot of it is actually subjective. It's like, “I don't like the way this code looks.”

Something that's still very unclear to us is how you build almost semantic observability into your product.

Speaker 1

I think Amplitude and Statsig, and a lot of the feature-flag companies, are actually closer to this than existing analytics.

Matan Grinberg

Actually, it's more about observing whether they're still on the platform—basically anything other than up and down thumbs, right?

Speaker 1

Yeah. And what was the user's intent when they entered into this session?

Matan Grinberg

It's the type of thing where you almost need LLMs in the observability itself.

Eno Reyes

Are you saying they've actually done it, or that Amplitude could do it?

Matan Grinberg

That's where I would like to see it. As far as I understand, it hasn't really been done.

Eno Reyes

Yeah, because mostly everything is span-based. Observability products are looking at spans, but not at the semantic direction.

Matan Grinberg

Exactly. Not in the semantic direction.

Eno Reyes

So for you, that's kind of solved in a way. The actual traces—you can get that information anywhere.

Matan Grinberg

Our team comes from Uber and all these amazing places where they know how to do that part. I think the more tricky thing is when human beings have messy intents that are expressed in natural language. How do you really classify and understand when users are having a good time versus when they're having a bad time?

Speaker 1

Okay, that's hard. Great. Hiring and customers.

Matan Grinberg

So maybe I'll start with customers. We've been at it for just over 2 years now. I think the first year and a half was really focused on the product and on what interaction pattern works for the enterprise. Over the last 90 days, the deployments that we've had with large enterprises and Fortune 500 companies have been exploding. It's been going really well. It's very exciting.

Speaker 1

How are they mostly finding you?

Matan Grinberg

This is a good point. This is part of why we're doing more podcasts, because so far we've really just relied on word of mouth—working well with one enterprise, and then they're at some CEO dinner and mention it to someone else. That's why we have the conference: We put all the CEOs and VPs in one room.

It has worked really well, but when every one of those conversations ends up leading to a happy customer, that means you need to increase top of funnel. Accordingly, we're really putting fuel on the fire for our go-to-market for Fortune 500 large enterprises, which is obviously a very exciting thing to do. The team has been pumped.

There was a particular day in January of this year where one of those large enterprises basically had the magic moment of, “If I was the only one at my company using this, I would still tell them to have me use this instead of hiring 3 engineers for myself.” That was one of the biggest moments for us, where it was like, people in the enterprise are really getting dramatic value out of Factory.

That kicked off this period where the last 90 days have just been a whirlwind. Getting to more of these Fortune 500 companies is top of mind for us right now.

To that end, as you serve Fortune 500 customers, it becomes important to have a larger go-to-market team, both on the sales side and the customer-success side, and then also on the engineering side. So we are very much hiring.

Speaker 1

I think everyone's hiring. What are you finding that's hard to hire? What particular roles? What's the rate limiter here?

Matan Grinberg

I think one big rate limiter for us, as we go to these Fortune 500 companies, is having both the ability to talk to the CIO and VP of engineering and have that sales presence, but then also the ability to sit side by side with some of their developers and jump into the platform and their use cases.

Speaker 1

So you need like 100 Enos, basically.

Matan Grinberg

Honestly, literally, our profile—or actually, our profile when we're looking for this role—is, “Is this a junior Eno or not?” That's basically the template there.

I definitely think that if you're highly technical but you want to be a founder, and you want to move into a role where you're interfacing with CIOs and CTOs, we have maybe 3 of these roles that are probably going to be the most important roles in our go-to-market team. I think that's a huge opportunity for anyone interested in what we've talked about.

We joke that this person would basically be my best friend, because on any trip we go on to fly to a customer, they'd be there with me, talking to whoever the buyer is, as well as going in and working with the engineers. So I'm also, I guess, hiring a best friend.

Speaker 1

I thought that's what AI was going to be for.

Matan Grinberg

Yeah, I guess not.

Speaker 1

Just to wrap, I think we're all fans of your guys' design and brand. Speaking of best friends, who does your design?

Matan Grinberg

A huge privilege of Factory has been working with my older brother, Cal, who joined us. He moved from New York after being there for 5 years.

He moved out to San Francisco. Even before he moved, he was the one who designed our logo way back when, and he’s been a part of Factory from the very beginning. It’s been an absolute pleasure working with him, from the brand design and the marketing design to, of course, the product and the platform itself. I cannot recommend working with a sibling enough.

Speaker 1

Sure. Not all of us are lucky to have that. What do you learn from working with a designer like that? I think a lot of technical people listening to us want to build a startup. They don’t have the polish that you have. They don’t have the hype.

Matan Grinberg

I think a big part of this is that one of our core operating principles is embracing perspectives. Cal is not an engineer, and what’s great is that the majority of our team are engineers. Having that ability to come in with the design perspective and then also the engineering perspective, and bash those two things together until we get something perfect out of it, has been really, really important.

I think a lot of times it’s easy to fall victim to, “Oh, I’m the profile of who I’m building for, so I know what’s best.” That obviously works a lot of the time, but sometimes there are some core design tenets that you just might not think of if you’re building for yourself. So I think that’s been pretty important there.

We operate in a very AI-native company. Being able to have someone set principles that are then consumable by our own agents—design systems and consistency—I think it’s pretty surprising the degree to which even droids can actually imitate a brand voice and style that Cal created for us.

A lot of that comes not just from the droids doing that, but from our entire team of product engineers, who are all incredibly thoughtful about what they’re putting in front of users. I think they’re able to bring a lot of that into it in a way that feels safe and on-brand, and also have fun.

Factory’s semi-tongue-in-cheek slogan is “the machine that builds the machine.” It’s fun. Does it transmit exactly what it is that we do in the clearest way? No. The factory doesn’t build Factory.

Eno Reyes

Yeah, we don’t.

Matan Grinberg

But to a certain extent, it’s software that writes software, right? The machine that builds the machine. It’s fun.

Speaker 1

When you say “fun,” it’s more—actually, I see you guys hosting a lot of events at your office, and to me, that’s like, “Oh, these guys are actually social.”

Matan Grinberg

Yeah, I think it’s important for us because not only is this incredibly transformational, but these are also people that we spend all of our time with, and we want to make sure that while we’re doing it—

Eno Reyes

Sweet. It’s right next to the Caltrain. You can advertise out of your window.

Matan Grinberg

Yeah, no one peek in, though. A lot of secrets in there. It’s pretty sweet.

Speaker 1

Cool. I’m very excited for your talk. We touched on a few things I’m interested in, right? We’re seeing tiny teams as a topic that I’m exploring—one person can do a lot more, so the average team size is really shrinking. The interaction of AI, design, and engineering is another thing I’m exploring. I think we’re really trying to push the frontier.

And then, obviously, there’s always the SWE agent stuff, which is ongoing. So, yeah, there’s a lot of interesting work going on.

Matan Grinberg

One interesting addendum there is that there are sometimes individuals who weren’t even really developers who will use Factory and have more usage than a 100-person enterprise.

Speaker 1

Yeah, which is crazy to see. There are some really interesting dynamics that we’ve seen play out in just how people use these tools, whether it’s for design or for that small-team use case.

Matan Grinberg

Yeah, there’s an AI-native attitude that’s going to set people apart if they’re just open to it, but maybe they’re not drinking too much Kool-Aid. I think there’s a medium there.

Speaker 1

Thank you guys for coming on. This was fun.

Matan Grinberg

Thank you guys for having us. This was awesome.

AI 编码工厂 — 文字稿与摘要 | BidClub