Agentic Engineering Setup: Kun Chens terminal-basierter Multi-Agenten-Workflow

VideoDavid OndrejDiskussion

Im Gespräch mit David Ondrej stellt Kun Chen (ehemals Meta, Microsoft, Atlassian) sein vollständig agentenbasiertes Entwicklungssystem vor. Statt Dutzende parallele Agenten-Sessions manuell zu verwalten, nutzt er das selbst entwickelte Tool FirstMate als zentralen Koordinator. FirstMate delegiert Aufgaben an spezialisierte Sub-Agenten und läuft innerhalb des agentenbewussten Terminal-Multiplexers Herder in WezTerm.
Beim Abspielen wird YouTube (youtube-nocookie.com) geladen.

Das Wichtigste

  1. WezTerm und Herder: Chen nutzt ein rahmenloses WezTerm-Terminal auf einem Mac Mini, das auch via SSH vom Smartphone bedient werden kann. Herder dient als moderner Tmux-Ersatz, der den Ausführungsstatus von Agenten (wie pie agent) nativ erkennt.
  2. FirstMate als Orchestrator: Um dem mentalen Overhead von 20 bis 30 parallelen Agenten-Tabs zu entgehen, fungiert FirstMate als einziger Ansprechpartner, der Aufgaben an Crewmates delegiert und über 20 bis 30 GitHub-Repositories verwaltet.
  3. Modellwahl und Routing: Für FirstMate kommt Version 5.6 auf X-High zum Einsatz, da die Koordination hohes Reasoning erfordert. Für komplexe technische Entwürfe wird Fable in Claude Code genutzt.
  4. Lavish für visuelle Reviews: Anstelle langer Textwände im Terminal generiert Lavish interaktive HTML-Artefakte mit Baumstrukturen, um Architekturentscheidungen und Trade-offs zu prüfen.
  5. Abo-Limiter und Feature-Wünsche: API-Preise für Chens Workload würden über 10.000 US-Dollar pro Monat betragen. Er plädiert daher für 500-Dollar-Abo-Stufen sowie langsamere, dafür günstigere Hintergrund-Modi für asynchrone Aufgaben.

Warum das relevant ist

Mit zunehmender Leistungsfähigkeit von KI-Agenten verschiebt sich die Entwicklerrolle vom manuellen Coden hin zur Orchestrierung. Chens hierarchisches System zeigt, wie ein einzelner Entwickler zahlreiche Open-Source-Projekte steuern kann, indem ein Hauptagent als Dispatcher für Sub-Agenten agiert und Kontextwechsel minimiert.

Einordnung

Das Setup adressiert das Kernproblem moderner Agentic Workflows: den kognitiven Engpass bei parallelen Tasks. Statt Terminal-Tabs manuell zu überwachen, abstrahiert FirstMate die Ausführung. Interessant ist Chens Kritik an aktuellen Abrechnungsmodellen. Während LLM-Anbieter auf teurere Low-Latency-Modi setzen, benötigen Entwickler für Hintergrund-Agenten primär hohe Quoten und kostengünstige Token bei tolerierbarer Latenz.

Transkript

Vollständiges Transkript anzeigen (4.266 Wörter)
David: I just have a frameless terminal window here. Uh, this is using WezTerm. I I like WezTerm because it's really highly customizable. I can just like change everything about it. Uh, what I have here is a Herder session. Herder is kind of like a modern version of Tmux. I I was using Tmux for like over 10 years, and only recently discovered Herder, and uh I just really like it. It's a more modern take how you manage multiple sessions in your terminal window. This is running on my Mac Mini, and I can connect to this same session from my phone. Yeah. Um, so I I can take my phone, I do a SSH connection. I can get this exact same terminal window. And that's a good thing about Herder, uh which is that it understands what agents are. In order to get more work done, people have to manage multiple uh parallel agent sessions, right? Because one agent uh can take a while to get work done, uh so people start to spin up more sessions, and sometimes I see people have like 20 20 30 sessions, but then I kind of like uh was going crazy because Yeah. Uh 20 sessions, you have to keep that in your head, right? Exactly. Yeah, so that pain cost me to develop FirstMate. Because I I I just don't think that's going to be the end game, like I don't want to spend all day just juggling between the tabs, right, and remembering what was what. I developed FirstMate because I think uh the agents, as they become more capable, should be able to juggle all those things for me. And I started experimenting with this setup since a few months ago and it actually works. Uh so now this is like the only agent I talk to most of the time. David: Right, cool. So, you were Elite Engineer at some elite companies, like Meta, Microsoft, Atlassian. What does your current AI coding setup look like? Kun Chen: I have been using AI uh to pretty much like write everything I want to build. I very rarely would manually write any code now. David: And when did that change, by the way? Kun Chen: I think it was a gradual process. Uh so initially, I think 3 years ago, we had uh GitHub Copilot, right, code completion, uh and we started with just like taking uh the code suggestions 1 line after another, and then it evolved. It uh started to give us like multiple lines, a whole function at a time, right? And then I think uh like one inflection point that changed that status quo was when Sonnet 3.5 V2 was introduced. Yes. That was a game-changing moment. Uh so that was the first time I think an agent can take a task and start to do things for us, right, and come back with like a complete set of results. So I started working with agents around that time. It was also very interesting because I was working at Atlassian at the time, and my job was to develop coding agents, so I played with the model a lot. I tried various kind of models, uh starting from GPT 3.5, it was just not working. Asking it to edit a file is already a lot of trouble. GPT 4 was a little bit better, but still not quite there. It was really Sonnet 3.5 V2 that really changed the game. So that was another I think inflection point. A few of these inflection points really like changed my workflow a lot through the past 3 years. David: So can you screen share and show us your current setup? Kun Chen: Yeah, yeah, sure. David, are you a terminal person or a GUI? David: I'm actually both. Like, literally there's there's weeks where I'm only using the terminal like Tmux, and there's weeks where I'm like either the Codex app or the Cursor agents, we do. So, I I'm a hybrid. Kun Chen: Okay, cool, cool, cool. I'm more on the terminal side. So, I try to use the terminal as my primary uh development experience. I have just built so much muscle memory with it. Uh I have been using my setup for like over 2 decades writing code in terminal. I I think the habit it creates for me is just to have my hands on the keyboard pretty much at all times. David: What would you tell to people who like are afraid of the terminal, you know? Maybe they they're not developers, they're not that technical, what would you say to those? Kun Chen: There is a learning curve, initially, to get used to a different kind of workflow, uh where you are using your keyboard to control like all the movements and everything uh in the terminal. So initially, I think you will feel there is like a productivity loss, uh because you are not comfortable and you are uh just you're not sure how to get everything done, right? So there is the initial phase, but once you get past that, it keeps you in the flow, because you can just have your hands on the keyboard, like control everything from here, uh using keyboard shortcuts and everything. Your thoughts uh is like the only thing that's flowing. David: Awesome. So walk us through it. We have pie agent here. What's happening? Kun Chen: The bottleneck isn't coding anymore. The bottleneck is reviewing thousands of lines of AI written code to make sure you're not shipping slop. And a lot of you already use Claude code, Cursor, or Codex to write code. But what you don't have yet is something that reviews your code as carefully as a human would. That is what CodeRabbit is. And CodeRabbit doesn't just take one look at your code through an LLM. Instead, you connect CodeRabbit to your repo, and it understands your entire codebase. It pulls in external context like linked issues and documentation, and on top of that, it runs 40+ different linters and security scanners. Then, it surfaces it in one digestible format so you can act on it. And the feedback CodeRabbit gives you isn't just add more tests, it's clear, specific, and actionable. It shows you what changed, why it matters, and how to fix it. And when it finds something like a bug, there's an easy fix with AI button that solves the issue with one click. And what's nice about CodeRabbit is that it meets you where you already work. Whether that is during PR review, in your IDE, in the CLI, in Slack, or Discord, so you can review where is the most convenient for you. And it's not a static checklist either. Give it feedback once in plain English, and it remembers your standards and preferences every review after that. Even today, CodeRabbit is already reviewing over 3 million unique pull requests every single week, which makes it the most installed AI app on both GitHub and GitLab. And if you're building a public open-source repository, CodeRabbit is free forever. All of us are shipping more code than ever before, and it has never been more important to understand and review your pull requests properly. That is what CodeRabbit solves. If you want to try CodeRabbit yourself, it's going to be the first link in the description. Kun Chen: I just have a frameless terminal window here. Uh this is using uh WezTerm. I I like WezTerm because it's really highly customizable. I can just like change everything about it. Uh and here I made it frameless. So there is no window border, there is no nothing, like it's just a pure terminal window, and with like background blur and everything, I like it to uh to look good. Um so when I work, I I can look at a pleasing experience. Uh what I have here is a Herder session. Herder is kind of like a modern version of Tmux. I I was using Tmux for like over 10 years, and only recently discovered Herder and I I just really like it. It's a more modern take how you manage multiple sessions in your terminal window. David: So have you tried like Cmux and what's the difference between like Cmux and Herder? Kun Chen: Yeah, so Herder is even more in the terminal, right? Cmux has a GUI frame and within the frame there's like some panes that are terminals, right? But Herder is like entirely in the terminal. So the good thing about this is like this terminal window is just a program running, right? This is running on my Mac Mini, and I can connect to this same session from my phone. Yeah. Um, so I I can take my phone, I do a SSH connection. I can get this exact same terminal window. So everything stays the same. With other GUI applications, it's harder, right? Um because you can't quite just like remove desktop, uh and that's not going to be a good experience either. So this is like the main difference for me. David: I see. Real quick, if you want to implement Kun's entire setup for yourself, it's going to be available in the second link below the video completely for free. This includes his FirstMate setup, Herder, WezTerm, and everything else Kun uses to actually build with AI agents. Again, grab it completely for free, second link below the video. Kun Chen: So here, I have a Herder session running, and this in this Herder session, you can see on the top left, there are spaces, and I'll talk about that in a bit. It's basically like workspaces in Herder, you can use that to organize your work, your different projects and uh etc etc. And on the bottom left, there's agents. And that's a good thing about Herder, uh which is that it understands what agents are. The previous like terminal multiplexers, uh like Tmux and uh Zellige, they don't quite understand agents, right? They understand your terminal windows, your tabs, and uh panes. They don't know what a session uh what agents are, but Herder knows that I have a pie agent working here. The working status basically tells me that I don't need to like look at it. Uh it's still working. It's not waiting on me. Uh so that's a very useful thing. Yeah, in this Herder, um I use Herder to organize my agents and allow me to navigate across all the sessions I'm working on. Uh so that's the the the thing I uh like about it. But most of the time, I only work on one session, which is this FirstMate. So this is a workflow that uh that was developed like maybe since a few months ago, uh when I realized that I'm managing so many sessions all the time. Similarly, I think uh when people use Tmux and uh other uh kind of orchestration uh apps, in order to get more work done, people have to manage multiple uh parallel agent sessions, right? Because one agent uh can take a while to get work done, uh so people start to spin up more sessions, and sometimes I see people have like 20 20 30 sessions. But then I kind of like uh was going crazy because Yeah. Uh 20 sessions, you have to keep that in your head, right? Exactly. You need to remember, oh, what is this session? What is it doing? Yeah, so that pain cost me to develop FirstMate. Because I I I just don't think that's going to be the end game, like I don't want to spend all day just juggling between the tabs, right, and remembering what was what. I developed FirstMate because I think uh the agents, as they become more capable, should be able to juggle all those things for me. And I started experimenting with this setup since a few months ago and it actually works. Uh so now this is like the only agent I talk to most of the time. Uh I just talk to FirstMate, and let FirstMate manage all the other sessions for me. So I can maybe like walk through some examples here. Um so this is already have something is already happening, right? It's doing some work. It's telling me no actions needed. Um and now I'm wondering about some some work that was uh happening a while ago, so I can just ask, "Hey, did Apple approve our app review for sshhip?" So that's an iOS app I I was building, and I submitted for App Store uh review, and um I'm not sure whether that's approved, so I can just check uh with FirstMate. And FirstMate is not going to do that by itself. It's going to delegate the task to another uh crewmate. The reason is that if FirstMate does this for me, then FirstMate will get busy, right? It's blocked. And I cannot uh talk to FirstMate again. So now you can see uh Captain, I'm checking this now. It's asked another crewmate to check it for me. The benefit is that I can talk to FirstMate now, uh without it's like blocking on something else, right? I can just ask for something else. "I remember there are some good PRs sitting on me for review in treehouse. Can you check?" David: So FirstMate has access to all the projects you're working on? Kun Chen: Yeah, yeah, it's the coordinator of everything. Uh it knows about all my projects. I'll talk through some scaling issues uh later on as well. Uh the basically I have um like maybe 20 to 30 GitHub repos that are public and uh have a quite quite some popularity and people file issues and PRs to me, right? If I am to manually juggle all the 20 30 projects, I would just go crazy. Um so I pretty much let FirstMate manage all the projects for me. Uh so when I say Treehouse, uh FirstMate knows which project that is. David: My main question would be like how did you develop enough trust to delegate so much responsibility to FirstMate? Kun Chen: So trust uh takes time to build, right? So I didn't initially just trust it for everything. I started playing with it um initially as a prototype, and I started like really letting it do more and more for me, and I observe how it does. And sometimes, uh initially, especially uh like when I just first began using it, there were many problems, such as like it's not delegating the right thing to the right crewmates or it's like sometimes having multiple crewmates doing the same thing conflicting with which with each other, things like that. Um and uh I started optimizing the process more and more, and eventually got to a pretty sweet spot where I can just like let FirstMate handle all those for me, and it I I don't see mistakes or uh suboptimal routing anymore. So now it's also uh started a task to uh to review some of the Treehouse PRs, right? And now I can continue talking to it uh about some like anything else I want to do. "Remember there was work happening around optimizing the workspace organization for FirstMate, uh where are we?" So I can just keep asking about these things uh that uh that are crossing my mind. The really good uh feeling I get uh here right now, like the thing I enjoy the most, is that I'm constantly in a brain dump kind of mode. I have thoughts and I just dump my thoughts to FirstMate and let FirstMate do everything else. I don't need to worry about like all the steps it needs to take uh to get things done. David: And do you ever go into the specific like sub agents to look at what they're doing or not really? Kun Chen: Very rarely now. Uh initially when I was developing FirstMate, I did that a lot. Just to observe, right? Uh is it doing the right thing, uh is FirstMate uh communicating efficiently, right? Uh did it actually bring the context to the crewmates? So initially I did a lot of observation myself, but now I don't do that much. Um but if I uh sometimes I will still feel like uh why is this taking so long, right? Kind of like working in a real company, in a real team, sometimes the manager will still go to a direct report directly, right? Uh like maybe bypassing the tech lead, just because uh sometimes it's like more efficient to directly communicate. So if I want to do that, I can just like in Herder, I can uh bring up this view. Uh this view pretty much like lets me jump to any other uh agent session. I can just jump and see like what is really happening there. David: That's very nice. Kun Chen: Yeah, that's very, very nice. Yeah, so here, um basically uh FirstMate answered my last question. Uh this is at a strong design checkpoint. Okay. I discussed like an idea with FirstMate a while ago, uh but we didn't proceed to implement, uh because I wasn't sure about this approach. I felt like something was uh was off. Let me actually show you something here. So with this kind of technical design, sometimes it's a little bit complex, right? Uh it has lots of moving pieces, it has tradeoffs, uh has like pros and cons. Um so this kind of case, I usually use Lavish, uh a interactive, um HTML artifact to uh allow me to more easily understand uh what the idea is and what the tradeoffs are. Uh so let me uh try that now. Can you use Lavish to review the Herder workspace design with me? David: Right now you were typing, but uh you know, you were a big proponent of speaking. When do you do which? Kun Chen: I pretty much like always use uh voice input now. The reason you saw me typing was I realized uh a while ago uh that if I use voice input, it actually interferes with my microphone somehow. I haven't fixed that yet. Uh but mostly, yeah, when I prompt, I just uh use voice input. The only exception, I would say, uh is when I have to copy paste a URL or a file path or something like that. Uh it just doesn't make sense to speak that out loud. David: Yeah, yeah, of course. Kun Chen: So now, yeah, it's writing the design review, uh in a HTML and uh very soon we can probably like see that in my browser. David: So you're using 5.6 as your main agent, why is that? Kun Chen: Yeah. So 5.6 soul uh on X-High as my FirstMate. Uh so FirstMate, the thing I uh learned is that FirstMate is kind of like juggling through a lot of context. It needs to rationalize a lot of different things, like which thing am I talking about, right? When I say "Herder workspace uh view design," it needs to know, oh, a while ago we worked on that and that's what I mean. Um so FirstMate actually needs a lot of reasoning. It needs to really uh be able to rationalize all the complexity, and then I have different rules for different crewmates. So when it's uh when FirstMate is dispatching a task to a crewmate, it has a set of preferences I told it. Uh and it will use those reference those preferences to route the task. It previously there was a uh a rule here that says, for any high complexity technical design and product design, use uh Fable in Claude code, right? I think Fable has the depth, and has the creativity that I really like. Uh so for those very complex designs, I I like to use Fable as the crewmate. Uh but by default right now, uh it's using uh 5.6. David: So purely because of the subscription practicality? Kun Chen: So uh I can show you, I have this thing tracking my uh quota. I ran out of my Groq quota uh and waiting for the reset. I'm almost out of the Fable quota this week, and the reset is long uh is still like ways to go. So I'm saving this remaining Fable quota for like things I really, really need Fable for. This whole uh LLM quota from the subscriptions we get are just not enough. I think I would suggest uh the LLM companies to actually think about having a higher tier, uh because the $200 tier right now is not sufficient. David: I agree completely. I mean, people are going to hate this take, but we do need some $500 tier, you know? Kun Chen: Yeah, yeah. David: So you never do API pricing? Kun Chen: Yeah. So I I think for individuals, it doesn't make sense to do API pricing. If I actually take API pricing for everything I worked on for the past month, it's going to cost more than like $10,000. It just not sustainable. I think another thing that might help, you know like GPT 5.5 and 5.6, and a lot of the Cloud models have a fast mode. Yeah. Right? Um the fast mode will basically cost more to get you lower latency. I want the opposite of that. I want something that's slower, but will be cheaper. Because there are so many tasks that are like background tasks that I don't really care about it being finished very fast, right? I care about how much work can I get done in total, because my my total quota is the bottleneck right now. Uh so I I wish they will uh eventually develop something like that. Because there are so many tasks that are like background tasks that I don't really care about it being finished very fast, right? I care about how much work can I get done in total, because my my total quota is the bottleneck right now. Uh so I I wish they will uh eventually develop something like that. David: Yeah, there is demand for this for sure. Different tasks require different tools and settings, right? Like if you're working on something, like I have this very important meeting in 10 minutes, you know, we have a transcript from last week, you need the fast mode. But like if you just dispatching an agent overnight, you need the slowest of slow modes. You know, you don't care if it's 5 tokens per second. You just want it done. Kun Chen: Yeah, exactly. I think the the the whole spectrum, uh ideally the options are available to us to make the tradeoffs. So, this is uh the question I asked earlier about the Herder organization. Uh so this idea for some context uh is about how FirstMate uses Herder to organizes uh crewmates. So right now everything is like a flat list, and it's sometimes hard to understand like which agent is doing what. So there was an idea to do better organization. So here, um basically it brought up this uh design review artifact. It has a recommendation. Uh but let me uh walk through the actual uh proposals. Yeah, this is kind of the hierarchy we have today. Uh it used uh this kind of like a tree view, right? To show me what this is. Uh and this is very helpful, otherwise uh what we usually do is like in the terminal we discuss with the agent and the agent will like just print a long wall of text, right? Yeah. Um so here I can see this visually, uh it's a tree structure. This is um what it does today. And this is very helpful. Otherwise, uh what we usually do is like in the terminal we discuss with the agent and the agent will like just print a long wall of text, right? So here I can see this visually, uh it's a tree structure. This is what it does today and this is very helpful. David: What are the main things people should go and check out? Kun Chen: Maybe check out my GitHub, uh where I listed a lot of the tooling that I uh I I built and shared. I pretty much open-sourced everything I have. Uh so everything I I do in my workflow that helps me get a lot done are already shared on my GitHub repo. And I also have a YouTube channel where uh I made some videos working through exactly how I code, how I use the tools that I built to uh build new things efficiently. Uh so those are really uh good resources as well. Those are probably good starting points. Um and if you run into any problems using the tools or have questions about how to use agents more efficiently, I have a Discord channel as well. Uh Discord server, where uh we have a pretty good community of real people who are really helpful uh at uh helping each other, uh and I often go there to discuss with everyone as well. David: Awesome. I'm going to link all of that below. Cool, cool. Thanks, David, for having me here. David: Likewise.

Links und Tools aus diesem Beitrag

Zusammenfassung von KI erstellt (Gemini 3.8 Flash, 27. September 2026). Sie kann Fehler enthalten – maßgeblich ist die Originalquelle.

Inhaltlich ähnlich, ermittelt über die KI-Suche.

  • Video

    Video:CURT

    Agentic Engineering mit hohem Durchsatz: Workflow eines Ex-Meta-Principal-Engineers

    Kun, ehemaliger L8 Principal Engineer bei Meta, Microsoft und Atlassian, stellt sein System für agentenbasierte Softwareentwicklung mit hohem Durchsatz vor. Im Zentrum steht das Open-Source-Projekt firstmate, bei dem ein einzelner Leit-Agent als Schnittstelle dient und operative Sub-Agenten für Dutzende Repositories orchestriert.

    KI & AI· Demo

  • X-Post:Kun Chen

    Orchestrierung von AI-Agenten: Das Zusammenspiel von Herdr und Firstmate

    Kun Chen beschreibt das Zusammenspiel der Werkzeuge Herdr und Firstmate für Multi-Agenten-Setups. Während Herdr das Lifecycle-Management und die Organisation einzelner Agenten übernimmt, dient Firstmate als zentraler Ansprechpartner für die Steuerung komplexer Arbeitsabläufe.

    1026Lesezeichen74.611Aufrufe

    KI & AI· Tool

  • Video

    Video:Greg Isenberg

    KI-Agenten im Team managen: Ryan Carsons Workflow für Cloud-Entwicklung

    Ryan Carson, Gründer von Untangle und früherer Treehouse-CEO, beschreibt im Gespräch mit Greg Isenberg, wie Wissensarbeiter zu Managern paralleler KI-Agenten werden. Er erklärt, warum die Entwicklung in Cloud-VMs lokale Umgebungen ablöst, wie er 22 bis 40 Pull Requests pro Tag abwickelt und welche Sicherheitsvorkehrungen sowie Überwachungs-Automatisierungen für den Produktionsbetrieb nötig sind.

    KI & AI· Vortrag

  • Artikel:Stanley Ulili

    cmux: Natives macOS-Terminal für KI-Coding-Agenten

    cmux ist ein natives macOS-Terminal, das speziell auf Workflows mit autonomen KI-Programmieragenten ausgelegt ist. Es kombiniert libghostty, WebKit und Bonsplit mit einer CLI-Schnittstelle über Unix-Domain-Sockets, wodurch Agenten eigene Browser-Panes steuern und Sub-Agenten parallel koordinieren können.

    KI & AI· Tool

Lassen Sie uns über Ihr Projekt sprechen

Standorte

  • Mattersburg
    Johann Nepomuk Bergerstraße 7/2/14
    7210 Mattersburg, Austria
  • Wien
    Ungargasse 64-66/3/404
    1030 Wien, Austria

Dieser Inhalt wurde teilweise mithilfe von KI erstellt.