嘉宾
So okay, we still haven't talked about the 2,500 PRs. Where do those come from?Like how do you you've built your trust ladder, you've worked on your environment, and you understand, okay, um I now want to scale up. So what are the mechanics of that scaling?Are you um initiating 2500 like chats per month?That can't be right. So there must be are there any kind of automated triggers that trigger stuff in your repo?
Like how do you get the software factory kind of triggering work by itself?
主持人
Right. Um I'll definitely say that the prerequisite to you know something like a very high volume of of pull requests um is the environment. you know, the the stuff we just talked about where I definitely would not have been able to do this if I had not spent the time, you know, thinking about the kitchen, right, and the knives and the tools for my Asians. And so, in a way, I I think of this as I've spent the time building one kitchen and one restaurant. And now I I'm in a position where I don't actually have to be there anymore because the environment, you know, that the same analogy, right?
It works really well. Yeah. You open chain of restaurants, right?That's
嘉宾
Yeah. Exactly. Yeah. Exactly. It's like you're Gordon Ramsay and you know, you you've taught your executive chef like all the tricks of the of coming up with great menu. Uh and like the kitchen is set up really well. Everything's just perfect and you're now in a position where you can open your second your third restaurant. And I guess I I sort of see each project that I work on, like each big chat is sort of like a restaurant, right?
and I'm I'm I have multiple of them operating at the same time and I'm sort of like helicoptering between them sometimes some more than others depending on how in the loop I am but yeah definitely I think there's there are external triggers and context that those projects don't have that for a long time I was the proxy for that so uh the best example I have is like you know you have a project that's working on a feature uh or you're trying to fix a bug and you're getting bug reports, but the bug reports are going to things like Slack or linear or X, right?
And these are external systems that aren't connected to your inner loop. So, I like to talk about this outer loop and the inner loop. Uh I don't know if I'm using the definition correctly but to me my inner loop is like basically my engineers my agent engineers working on the code to an building towards an intent or snapshot of my intent right and the thing about that is that the snapshot can go stale right new information comes to light that I then have to be the proxy of and you know transfer that context to my agent so you know if you don't have these triggers pulling information back into the interloop, then you sort of have to play that role where you're you're off, you know, in Slack or X or or whatever and you're gathering context, right?
You're getting context about bug reports, about feature requests, about, you know, something someone said about, you know, our backend infrastructure has some limitation, you know, all that information, you have to f that across to your agent. So that's where I think like tools like Grogbot are really good because they help you automate the outer loop as well. And when you connect those two loops, it's very very powerful because now all of a sudden your agents have the ability to get context for this for themselves, right?
If for example uh you know either through just as a simple example like maybe you have the Slack MCP, right?Or you have uh your own harness, right, that you've built a Slack subscription into for a particular Slack channel. Now all of a sudden you can tell your agents, okay, subscribe to the Slack channel. Every time there's a uh, you know, bug report about something, go off and triage that thing, right?Go reproduce the issue, right?
Using the verification skills that we've already spent time building and all of those other skills that we've set up so that I have a lot of trust, right?
I have a lot of trust that these agents can actually go off and understand the bug, you know, uh verify that the bug actually still exists on main and it wasn't something about you maybe the users setup or their data or maybe I don't know they didn't install a dependency or something like that like uh basically I think uh creating that yeah creating those two loops and connecting them is really a very important part of the job these days. Um, especially if you are thinking about how to scale yourself. So, a big theme here is really just like always thinking about like what where am I the bottleneck in this process?
Why do my agents need me, you know, to answer this question?I I always like to think about that. And so I try to think about how do I actually get the agent to answer its own question, right?
But not by hallucinating, not by guessing, but actually real data. And you know, a lot of people talk about this idea of a company brain, right, or a context graph. I feel like those terms are unnecessarily complex uh or even abstract. To me, it's just about um how do I take information that my agent needs that I would otherwise have to go and pass it myself and just teach it how to do it, right?
And that removes me from the equation. And so how I arrive at 2,000 or however many PRs is the fact that I have all these loops set up, right?And so uh it allows me to open chain restaurants, right?I can I can really parallels myself. So yeah, I'm not sitting there creating 2,500 chats, right?
Of course, it's really like these projects are um actually cursor has a new feature called projects which are these like coordinator agents. Um and so the coordination co coordinator agents are really good at sort of delegating and not doing work of their own but they manage and supervise like almost a list of tasks and they spawn sub agents to go and do them. And so I'm just constantly feeding context or teaching the agents how to get their own context and then they're going off and doing the work for me. Uh and really the big the last thing I'll say to this is like the big unlock for me for getting to 2,000 PRs is starting from the question and working backwards of how do I get to the point where my agent can merge its own code?
Because the obvious thing people ask me when they when I tell them, "Oh, I shipped 2,000 and 2,500 pull requests last month." They'll be like, "How did you review that?" Right?That that's a lot of PRs to review. Like your team must hate you.
主持人
Do do you mind if we go there in a second? Because a good question about that.
嘉宾
Yeah. Yeah. Yeah.
主持人
I want to like this analogy is great. I want to like deepen it a bit which is before if you're like manually initiating all those chats it's like you're bringing the orders to your chefs manually right whereas if you've got an agent sort of like doing the expo then you're able to sort of run it yourself itself what is what does that concretely look like then you've got these sort of grock bots that are um subscribing to channels pulling in Slack messages and you it sounds lik
e have a couple of coordinator agents or like chief of staff agents that like monitor that or something like when you look at your computer to manage your agents, what does it look like?
嘉宾
Yeah. So, so uh this is I guess somewhat confusing but we're working on you know simplifying and unifying but so uh there's graphbot uh which or you know you can use other tools of course as well but I I largely think of these tools as like your outer loop. These are tools like you know Grabbot that have connectors right these are connectors I guess they a lot of people call them personal agents um but they're connectors to things like your email your calendar slack uh plaid I don't know like all these different services and they are a great source of pulling context in to your work so the same way that a human like you know if I were if I was a manager and I was leading a team of engineers years. Um, you know, like when I used to work in Netflix, one of the biggest things that managers would talk about was this idea of context not control, which funnily enough, you know, has so much uh has so much uh carry over to the agents world. Uh, of you know, you you know, you you of course can drive to an outcome you want by control, right?
Like by micromanaging, but what you want is to provide context instead, right?like teach the agent, teach your engineers how to be self-sufficient and then you don't have to micromanage them.
主持人
Um, and so I see a lot of parallels there. Uh, but yeah, graphbot. So, concretely, I have some graph bots that look at my Slack channels, look at my X, uh, or my emails, uh, or linear, and they're just constantly they have routines that subscribe. So they're constantly watching and I have I I'll tell them things like you know uh I'll watch for issues with uh bugs in the graphbot desktop app as an example. Uh and whenever you find that send it to my cursor project. So one of the really cool things about grabbot is it connects to cursor. So cursor has uh like I I just mentioned this new feature called projects. And a project is really a uh again like a you get a coordinator agent that's in the cloud. It has its own computer and all it really does is like it's a manager of agents. It's like your executive chef, right?
Your your chief of staff. It doesn't do the work itself. It delegates and orchestrates and manages the work of other sub agents to you know that report to your chief your chief uh of staff. And it basically is responsible for driving the work forward and managing things and uh passing context to them.
嘉宾
So if you get a sudden burst of issues, let's say you get 30 issues at once in one payload or something or very quickly the coordinator agent can figure it out and delegate.
主持人
Yeah, exactly. It gets like uh you know 30 the 30 or so payloads and spawns a sub agent or a single coordinator agent. It can actually do a bunch of different topologies of agents and it will sort of figure out the best way to uh you know efficiently distribute the tasks to your team of agents. Um so I use uh cursor projects a lot um and I also use grapot a lot and cursor projects are my inner loop and grabbot is my outer loop. Grabbot takes all the context, external context, gives it to the projects because it can actually just send messages to those projects, right?
You don't even have to open cursor. You can just tell your grabbot, okay, create a project, right, for these series of tasks. They're all related, right?Maybe as an example, you know, you've had a uh a big burst of issues that are all about performance, right?Your app is slow uh and they're all connected, right?Maybe some of them even have a similar fix, right?
But and you can certainly go off and just spawn one agent per task, but then you've lost that sort of thread between them, right?
And and you may duplicate work or you may not really think about the higher level problem. You know, sometimes when you you you solve bugs, you know, it helps to have multiple bug reports that are are slightly different because it helps you really, you know, zoom out and see actually, you know, the problem when I looked at this one report, I thought the bug was here, but actually when when I see the other multitude of bugs is actually up here,
嘉宾
right?
主持人
Yeah. Got you. So that that's why you have so many agents in that loop then,right? Because it's not just you have um like you have a bug report comes in, you spawn a single agent to look at that bug report. that a that single agent will be duplicating work with other um other agents, right? Because if there are multiple bug reports coming in through the same thing, that can be duplicated work.
嘉宾
Yeah.
主持人
Fascinating.
嘉宾
That's really fascinating. Okay. And so this just this endless series of triggers um coming from real users reporting real reports um builds up this sort of and accelerates the factory sort of adds more orders in. Other than bug reports, are there any other sources that you use for like um accelerating for pushing these PRs?
主持人
Uh well, funnily enough, it's some of it comes from uh reading the code, too. So, I guess I have sort of uh well, so to clarify that, you know, the 2,500 PRs, they're not obviously like 2,500 features, right?