I feel like when I'm using Claude Code, it's like, oh, I feel like I'm flying through the code.
When it's in your CLI, this thing can debug nested delayed jobs like five levels in and figure out what the bug was and then write a test for it and it never happens again. This is insane. I think everyone who's experimenting with this stuff on like a hobbyist level or at like a very small startup, they're just pushing the coding agents as far as they can go because it's like you don't really have time to figure out anything else. Like as a startup, you have limited runway. You're just going to orient around speed. I think at a bigger company you have a lot more to lose.
What are some of the tips to become a top 1% user of coding agents?
Yeah. What's your stack?
Hey everyone, welcome back to another episode of the Lightcone. Gary, are you ready to record?
I'm in plan mode right now, but okay. Yeah, I guess it's time. Sorry about that. Well, welcome to another episode of the Lightcone. And today we have an incredible guest, Calvin French-Owen. He's one of the first people to create Codex at OpenAI and before that he started Segment, which is a multi-billion dollar company that got to a very successful exit. Calvin, welcome back.
I guess what a crazy time for all of us. I recently got very, very addicted to Claude Code and I would describe it as like 10 years ago I was a marathon runner and I loved doing it and then I suffered a catastrophic knee injury which is called manager mode and I stopped coding which is tragic and horrible. But now the last nine days have been like this incredible unlock of all the things I remember being able to do and it's like, you know, I got a new total knee replacement and actually it's a bionic knee and it allows me to run five times faster. What's your take on it? Because you're, I mean, right out there at the forefront of it. I mean, Codex pioneered a lot of the ideas that now like everyone still uses and Codex is still evolving too.
For brief context, when I was at OpenAI, I was working on the Codex web project at the time. Cursor was out in the market and they had kind of built this shim around, I think it was GPT-3.5, and it was able to work in your IDE. Codex CLI had just come out and it was working as a CLI and we kind of had this idea like, hey, in the future coding is really going to feel more like talking to a coworker, like you're going to send off a question and then they'll go off and do something and come back to you with a PR. And so that's where we started with this web view. And that's what we were building. I think directionally that's still kind of correct for where things should go. But obviously now everyone is coding with CLIs instead. Like they're using those tools a lot more whether it's Claude Code or whether it's Codex. And I think at least for me kind of the lesson in that is I think in some sense you're right that like everyone is going to become a manager in the future or at least that's my hot take, but in order to get there there are steps along the way and you have to really build a lot of trust in the model and understand what it's doing.
You recently came over to Claude Code. What's the transition been like in terms of using it as one of your stacks?
Yeah. So Claude Code is certainly my kind of daily driver today. And honestly this has switched every few months. For a while I was deeply in Cursor. I think their new model which is really fast is actually quite good. Then I kind of moved over to Claude Code especially with Opus. Claude Code is a really interesting product and I think it's underrated how good both the product and model are working together. If you study them closely, I think one of the things that Claude Code does in particular that's really amazing is split up context well. And so if you look at, I don't know, things like skills or sub agents, like when you ask Claude Code to do something it will typically spawn an explore sub agent or like multiple ones and basically each of those are running Haiku to traverse the file system and kind of like explore what's there and they're doing it in their own context window. And I think Anthropic has kind of figured something out here around given a task, does that task fit in the context window or should I actually like split it into many more? And the models are like insanely good at this which I think gives them really good results.
And I think the fascinating thing is because it's on the terminal is the purest form for composable atomic integrations because if you came from the IDE first world which is where Cursor was and I suppose Codex too, this concept of finding the context more free form wouldn't come out so naturally, right? Which is so unique.
Yeah. And personally I was surprised, I don't know how you all feel, but I was surprised that like...
Weird, it's like a weird retro future that like the CLI, which is a technology from 20 years ago, have somehow beaten out all the actual IDEs which were supposed to be the future.
100%. Yeah. And I think it's important actually to Claude Code that it's not an IDE because it sort of distances you from the code that's being written. Like IDEs are all about exploring files, right? And you're like trying to keep all the state in your head and understand what's going on. But the fact that a CLI is like a totally different thing means that they have a lot more freedom in terms of how it feels. And I don't know about you, but I feel like when I'm using Claude Code, it's like, oh, I feel like I'm flying through the code, you know? It's like there's all sorts of things going. There's like little progress indicators. It's kind of like giving me status updates, but like the code that's being written is not the front and center thing.
I mean, dev environments are so messy. I mean, I really like how clean a sandbox conceptually is. But then I just ran into all these crazy issues like trying to do just simple testing, right? It needs to access Postgres and then it can't do it or you know my Codex.md ended up being 20 lines long and even then it didn't work. When it's in your CLI, it could just access your development database. I mean I'm not sure if I'm supposed to do this, but I've actually also had it access my production database to do...
And it can just do it. It's like, yeah, okay, here. Like, I looked into it and I think this happened and I'm going to debug this, you know, concurrency issue. I was like, oh my god, like this thing can debug nested delayed jobs like five levels in and figure out what the bug was and then write a test for it and it never happens again. This is insane.
Yeah. And I think that distribution mode is frankly underrated. Like thinking about a Cursor or a Claude Code or a Codex CLI, the fact that you can just download it and use it without having to get it permissions or anything makes a huge difference. And actually, I was playing around with a product the other day where you download a desktop app and then it execs the Claude Code that you have running on your laptop and uses that and communicates back via an MCP server to the desktop product. And it's like this is a very interesting way of now starting to work with your laptop where you don't have to get anyone's permission to do it. You just download the product and go.
Yeah. I was looking at like New Relic has an MCP but you know Sentry you can like copy markdown but like it's like an auto bug fixer basically. It's right there.
It's super interesting that in a world where things are changing so fast you really want your product to have a bottoms up distribution not top down because like top down is like just too slow. Like the CTO of a company is going to be like have all these concerns about security and privacy and what if and control exactly versus like the engineers just like install the thing and start using like this thing is amazing.
Yeah, I think that's right. The one thing I do struggle with, I mean I'm like a B2B enterprise guy generally but I feel like there's some amount of moat that happens when you do that top down sale and there's got to be some company who manages to crack it where it's like oh this is a thing that everyone has access to maybe individual people can take it up. That was the original Netscape Navigator. It was free for non-commercial use and then people would just download it and use it for commercial use and then they could just track down the IPs and figure out exactly how many clients were in all of these different companies and say you should pay for this. You're in violation but all you have to do is buy a license. So I'd be curious if you could do that work again here.
I mean that your point about distribution is very interesting because now people are probably just making architecture decisions about what to use directly in Claude Code like they might not even know what analytics to use and it's like oh yeah as long as Claude Code says use PostHog like they're using PostHog.
100%. One of the companies who I advise was talking about their like GEO strategy. This is like the generative engine optimization or how you show up in chat bots. And what he was saying is funny is one of their competitors had put together a like top five list of like tools in their category that you should be using. And of course their tool is ranked at the top of this top five list. And like any human looking at this would be like, oh, this is so obviously biased. It's like the top tool is the one that's in the domain, you know? But the LLMs get fooled and like they're pulling together a bunch of contexts and they're saying like, oh, this is the top. And then they'll just recommend it. I think yeah, if you're selling a developer tool, like having good docs that are out there, like having social proof, like maybe being posted on Reddit a little bit more, all of that helps your case tremendously.
Which is why I think a lot of the open-source projects have taken off a lot more. I think one of the examples is Supabase actually.
Yeah. Which really took off last year and part of it is because they have such good open-source documentation how to set up a bunch of stuff. Whenever someone asks how to set up anything that you need some sort of backend Firebase type of transaction the default answer from all the LLMs is actually Supabase. I was just trying some of these questions that comes from that. The thing is it's winning the internet and it was like that before when it was like Stack Overflow and searching Google and then now that nobody uses Google anymore. It's like crazy. You just, yeah, it's kind of the same deal.
I will say it does help open source disproportionately. I would say like I don't know if you all saw there was a Ramp blog post that they recently published about building their own coding agent and they were mentioning that they use OpenCode as a harness because the model can look and see the source code and understand how it's working. And I do this all the time with open source products. I'll like clone the repo and then spin up Codex or Claude Code and be like, hey, give me a walkthrough of what's going on here and it's really useful.
What do you think are some of the tips for anyone that wants to build a coding agent since you've done it a lot? What are some lessons that you learned that you want to share?
I mean, I think the number one thing is managing context well. Basically, we kind of had like a checkpoint for I think it was o3, like one of the reasoning models and then we did a bunch of fine-tuning on it in reinforcement learning where it's like oh you're given a bunch of questions to like solve these coding problems or like fix tests or whatever or implement a feature and then the model was RL'd to respond to those. And so I think most people are not going to be doing that right but the things that you can do are figure out like hey what context should I be supplying to this agent to get the best possible result. And so for Claude Code, if you watch it working, it's like, oh, I'm going to like spawn a bunch of these explore sub agents. They will like search for different patterns in the file system. They will come back. They will have this context. They'll summarize it for me and then I'll have someplace to go. It's interesting watching like different agents structure this context. Like I think Cursor takes an approach where they actually do semantic search where they embed everything and figure out like hey what query is closest to this? If you look at a Codex or a Claude Code, they actually just use like grep.
And I think that works because well, yeah, it works very well because code is very context dense. Like if you think about lines of code, it's like each line is probably less than 80 characters. There's not a lot of like big like data blobs or like JSON in your codebase. Maybe there's some, but not a lot. You can respect gitignore to figure out and like filter out stuff that's just not relevant or is like packaged. And you can use grep and ripgrep to like find context around the code which probably gives you a good sense for what that code is doing. And you can navigate the folder structure.
And also LLMs are really good at emitting very complicated grep expressions that would like torture a human.
Yes. Yeah. Yeah. Yeah. This is like the RL in practice.
Yeah. And so I think all of that like if you're trying to build a system well I'm trying to build systems that integrate agents for non-coding work. I think you can learn a lot of those lessons and say like hey how do I get my data in the format that is like maybe closest to code where the model can like peek and look at like areas around it and get the right structured data.
So given this is how a lot of the superpowers for the best coding agents is context engineering. What are some of the tips to become a top 1% user of coding agents?
Yeah. What's your stack?
Yeah. What do you do to be so productive with it?
One is if you're able to use just generally far less code and plumbing. So a lot of what I do is like deploy stacks on like Vercel or Next.js or like Cloudflare Workers where there's kind of like already a bunch of boilerplate like taken care of for you and then you don't really have to think that much about like hey I need to stand up like all these different services and deal with like service discovery and like registering on like some sort of central endpoint or like all these databases. It's like oh like everything is pretty roughly defined in this like one or two hundred lines of code. I tend to operate more towards microservices for that as well or like individual packages that are fairly well structured. I think it's also worth knowing like what the LLM superpowers are like in general coding agents are I think Andrej Karpathy just tweeted about this. They're like super persistent so they will keep going no matter what. They end up typically just making more of whatever's there. So if you're trying to direct them to do something, it's worth like I mean I can pick on OpenAI slightly in this example. OpenAI has like a giant monorepo. It's been there for a few years now and has like I don't know thousands of engineers who are committing. Some of those engineers are like super senior Meta folks who came in and are like know exactly how to write production code. Some are like new PhDs. It's like a pretty wide range and so the LLM will pick up different things depending on where you direct it. I think there's a lot of room actually for coding agents to figure out like what is the like optimal type of code that we should produce. I mean obviously giving the model a way to check its work helps improve performance drastically. So the more that you can run tests and lint CI etc. Personally I also use code review bots pretty aggressively. I know like Replit, a YC company, is really good. I use the Cursor bug bot has gotten quite good and I actually like Codex for code review as well. I find it does a very good job on correctness. So those are all things that like the agents are good at. And they're excellent exploring the codebase too. I think areas where they don't do well, they make more. If your goal is not to make more, they'll like often duplicate code and like spend a bunch of time re-implementing things that like you're like, oh, of course you didn't want to do this. I think context poisoning is a real thing where it kind of like goes down one loop and it will continue because it has this persistence but it's referring back to tokens which are like not right in terms of pursuing a solution. And so one thing that I often do is like very actively clear context.
Usually when it gets above like 50% tokens.
Yeah. I don't know, there's this guy Dex from this company Human Layer that was actually another YC company.
Yes, a YC company from Fall 24.
Yeah. And he talks a lot about it. Yeah.
He has this concept of like the LLM's reaching the dumb zone where it's like after a certain amount of tokens it just starts like degrading in quality. And I actually think that's very true especially if you think about like how the reinforcement learning might work. Like imagine you're a college student. You're taking an exam. In the first five minutes of that exam, you're like, oh, I have all the time in the world. Like, I'll do a great job. I'll think through each of these problems. Let's say you have like five minutes left and you still have half the exam left. You're like, oh man, I just got to do whatever I can. Like, that's the LLM with a context window, right?
One of the tricks that I think founders use is you put like a canary at the beginning of the context. There's something very esoteric that it's like something really funny. It's like, I don't know, my name is Calvin and blah blah blah. I drank tea at 8 am. Some random fact. And then as you keep going, you ask it, do you remember what's my name? Do you remember when I drank tea? And then when it starts forgetting, that I think is a bit of a sign that the context has poisoned. That's like one trick I've seen people do. They do a random canary.
I have not tried this, but I fully believe it. Yeah.
That's interesting. I haven't run across any bugs before compaction, but maybe I'm not paying attention. But you're saying like that actually is actively something that it just starts doing weirder things that are not like optimal.
Okay. I got to be on the lookout for that.
Solvable within Claude Code itself. Like it should be able to basically do some sort of detection like what is saying... do your own internal heartbeat around it around the context.
Yeah. And I think we're just not there yet. Like I agree with you in the limit.
Right now it's definitely hard to manage context well. And I think kind of the way it gets around it is like split up context windows and then try and merge everything. But you're sort of still at the limit right now of like everything that lives in context at the end of a Claude Code session is kind of fixed. It's actually interesting. The Codex approach is kind of the opposite and they just wrote about this on the OpenAI blog where it will run compaction like periodically after each turn. And so Codex can continue to run for a very long time. And if you look at the percentage in the CLI, you'll see it like move up and down as compaction runs.
I guess like there are these very different architectures between Claude Code and Codex. It sounds like they're actually deeper in that Codex is actually meant for much longer running jobs. So that's sort of like off the bat a different use case and then the architecture is very different as a result. I guess right now it seems like CLIs, you know, 2026 might be the year of CLI but then this other idea that AGI is here and it's actually ASI is around the corner. The coding agents right now are really really smart but not smart enough to run on their own for long periods of time but a 10x increase in compute from here, are we there? Like are we at 24 hour or 48 hour running jobs on Codex and that architecture is correct for that world.
Yeah, I think it's a good question. It sort of goes back to like kind of the founding DNA of both companies. Like I feel like Anthropic has always been very big on like building tools for humans where it comes to like, oh, here's the style of the tone and like here's how it should fit with all of the rest of your work. And I think Claude Code is like a very natural extension of that. In a lot of ways, it like works like a human would where it's like, oh, you need to build like, I don't know, a doghouse or something. It's like, oh, I'll go to the hardware store and I'll build all these materials and I'll like figure out how they all fit together. Whereas OpenAI really leans into this idea of just like we are going to train the best model and reinforce over time and get it to do longer and longer horizon things in this pursuit of artificial general intelligence. And so it may not work like a human at all. Like going back to the doghouse example, it's like...
But AlphaGo didn't either.
Yeah, but AlphaGo didn't either. It's like, oh, it's like instead I will have a 3D printer that can print from scratch like a doghouse and it will be exactly what you want and it will take a long time and it will be like very custom and it will do like weird things but it will work, you know? And like maybe in the limit that's the right call and so it's going to be really interesting to see how they play out.
I mean net net it seems like the latter is somewhat inevitable but I like the former so much, you know? Like even this idea that AGI was like I thought about, you know, 10 years ago I was like yeah I was in there like writing my own really weird regexes to try to figure out where everything was when I was refactoring or trying to understand code or whatever. So that's the feeling I get when I'm using it. It's like I can do five people's worth of work in like a single day. It's like rocket boosters. It's unbelievable.
Yeah. I think it's going to be really interesting to see how this plays out across large and small companies. I think everyone who's experimenting with this stuff on like a hobbyist level or at like a very small startup, they're just pushing the coding agents as far as they can go because it's like you don't really have time to figure out anything else. Like as a startup, you have limited runway. You're just going to like orient around speed. I think at a bigger company you have a lot more to lose and you have all these other internal processes around code review and you probably already hired like a big ENT team and I think it's going to be very strange as like these individual teams of like one person are like hey that team over there isn't doing the right thing like let me just build a prototype that like works better. I think at some point it's going to start working better and I think that landscape shift is going to be a very interesting strange thing.
My 10-year-old is, you know, he has writing assignments every day and then yesterday was the first day where he used AI and then I was like this is not a turn of phrase that a 10-year-old is capable of doing. And then I think about that in this context because we, you know, are working with a lot of 18 to 22 year olds who, you know, they've done internships but like they haven't done like manager work like, you know, we're saying, you know, post product market fit, once you have job queues of like millions of jobs and like, you know, hundreds of thousands of errors. That's like real management. Like that's really, you know, it's horribly unglamorous like combing through hundreds of thousands of errors and then like manually making sure that like the thing works for all of your users in the background. How does the next generation understand that? Can the Claude Code bot actually teach people about architecture and things like that or, you know, are you just gonna bump your head into it and users just kind of suffer and, you know, people have to figure it out?
Like at least where I find myself spending the most time when it comes to product is figuring out the kind of product model in a sense like what are the things that the user has to understand today and what are the primitives that they can use to like do whatever they want. I always think of Slack like this. It's like Slack was in some ways not really a new concept. It's like there were many chats that existed before it. But the fact that they had like channels, messages, and reactions in a simple way that people could just like think about and be like, oh, I understand how to like navigate this. It made a lot of sense for people. But then kind of once they were there, like it's very hard to change that later on for a user, you know? It's like, oh, maybe they wanted to go in more of like a document first way or like maybe right now they're trying to incorporate agents. It's like difficult to change the user's mental model. And so I at least for myself building products it's like you have to think about that very carefully from an early stage because again whatever you supply to the coding agents as that kind of kernel is going to be what they run with and make more of forever more.
YC's next batch is now taking applications. Got a startup in you? Apply at ycombinator.com/apply. It's never too early and filling out the app will level up your idea. Okay, back to the video.
Do you have thoughts just because you know the agent so well? Like what types of engineers are going to benefit more than others from these tools becoming popular?
In general, I think that kind of the more senior you are, the more you benefit. Because the agents are so good at taking some sort of idea and then putting it into action. If you're able to prompt that in a few words, it's kind of like, oh, now...
Suddenly I had this like idea. I find this so often in open, like scrolling through the codebase. It's like, oh, here's a thing that I wish were different. Here's a thing that I wish were different. Here's a thing that I wish were different. Like just being able to kick those off and then have them come back, I think, is super empowering and multiplies your impact. I think also being able to detect like which sorts of changes are good or bad architecturally is very important, or like have a sense for where you might want to flag something to an agent. I think engineers who are more organized, like managerish, and there's probably just a missing product to be built here. Maybe something like Conductor, where it's like spread across all of your sessions and kind of reminding you like, hey, you were working on this thing, it's done, it needs your input here. Oh, you should switch your attention over to this other thing. I think that is...
Conductor should add that.
Yeah, like context management for agents, but like we also need context management for humans.
Yes, 100%. Yeah. I mean, I want like when I wake up every day, it kind of is like, hey, here's all the work that got done overnight. Like here are the like three decisions that you need to make. Here are like areas of deep thinking that you were planning to do. Like I want the turn by turn for my day, you know. Other things that make it very useful, like if you're able to build, I don't know, some sort of like quick prototype for an idea to show it off, like that's an area. I mean, obviously the agents do super well at this. I would find myself at OpenAI often writing kind of like prototype code or like, hey, I've got this like in-memory key-value store, can you now turn it into like work with a production database or something like that. Being able to concisely specify ideas in code, and I think having a smell for what the right architecture is is still the area where the models like don't do the best job.