スロップコードからソフトウェアファクトリーへ

スロップコードからソフトウェアファクトリーへ

Agentic Conversations (formally mlops.community)

0:0047:00

要約

HumanLayer の CEO で「コンテキストエンジニアリング」の名付け親とされる Dexter Horthy が、アムステルダムでタンデム自転車に乗りながら Demetrios Brinkmann と語った回。「コードは雑でも次世代モデルが直してくれる」という期待への疑問、computer use の実用例、MCP ツール設計、チャットUIの限界、そして各社の主任エンジニアが個別に作るソフトウェアファクトリーの共通基盤の話に及ぶ。

この回のポイント

  • ●「雑なコードは次のモデルが直す」という冗談に対し、Dex は新モデルでもバグ診断は上達したが保守しやすい設計や抽象化は上達していないと述べている。
  • ●computer use により、チェックインや搭乗券の取得、役所の予約などフォーム入力を API なしで任せられるようになったという体験が語られた。
  • ●MCP ツールはエージェントに合わせて設計すべきで、Claude Code や Codex が学習で使い込んだツール形状に似せると信頼性が上がるという見方を示した。
  • ●チャットだけでは情報量が低いため、タイムラインへのコメントや編集可能なカードなど、タスクに特化したリッチなUIが必要だと議論された。
  • ●大企業では主任エンジニアが各自ソフトウェアファクトリーを作っており、同期やストリーミング、承認といった共通部分を GitHub Actions のように部品化することを HumanLayer は目指している。

章立て

  1. 「GPT-7が直す」という冗談

    雑なコードを放置しても将来のモデルが直すという期待と、新モデルでも設計力は上がっていないという指摘。動くなら問題ないのかという問いも提示される。

  2. computer use の実用例

    メール確認、フライトのチェックイン、搭乗券の取得、ドイツでの免許更新予約などを任せる使い方を紹介する。

  3. 動画編集と MCP の設計

    Palmier MCP を使ったデモ動画制作と、優れた MCP は学習済みツールに似せるという設計論を述べる。

  4. モデルの使い分けと放置ワークフロー

    一つのモデルに習熟する重要性と、ランニング中に反復改善させて粗い動画を得た体験を語る。

  5. ブラウザエージェントは過渡期か

    将来すべてがヘッドレスになるのか、広告やアップセルを前提にしたサイトの収益はどうなるのかを議論する。

  6. チャットにはリッチなUIが必要

    音声入力での返信、編集可能なカード、タイムラインへのコメント、ニュースレター作成の例から、人間の帯域を高めるUIを論じる。

  7. 各社が作るソフトウェアファクトリー

    主任エンジニアが個別に構築するバックグラウンドエージェント基盤と、同期やストリーミングの負担を HumanLayer が部品化する構想を説明する。

  8. エージェント版 GitHub Actions

    CI の例えで、所有すべき部分と汚れ仕事の部分を分け、アーティファクト共有などを部品として提供する考えを述べる。

解説記事

AI エージェント向けツールを開発する HumanLayer の CEO、Dexter Horthy(Dex)が、ホストの Demetrios Brinkmann とアムステルダムでタンデム自転車に乗りながら語った回である。話題は、AI が書いた雑なコードの行方から、computer use の実用例、MCP の設計、チャットUIの限界、社内のソフトウェアファクトリーまで広がった。なお、収録は自転車の操縦に苦戦しながら行われ、会話は何度も中断している。

「GPT-7 が直してくれる」は通用するか

冒頭の話題は、Claude 3.7 や Opus 4 の頃に交わされていた冗談である。コードが雑でも読まずに進め、あとで十分賢いモデルが現れたら修正してもらえばよい、という考え方だ。ところが GPT-6 が出た今も、期待ほど解決していないと Dex は述べている。

Dex の見立てでは、新しいモデルはバグの診断やゲーム、Blender、computer use といった領域では進歩した。しかし保守しやすいソフトウェアを作ることや、良い抽象化、スパゲッティにならないコードベースの設計はまだ身についていない。そのため問題は引き続き「次のモデル」に持ち越されている。

そのうえで彼が問うのが、動いていれば問題ないのかという点である。今日は動いても、数か月後に数千〜数百万のユーザーを抱えた状態で何かが壊れ、3 か月間コードを読んでいなかった開発者が原因を理解できないまま、モデルにスロットマシンのように修正を引かせ続ける。この状況を彼は半年にわたって警告してきたという。

computer use と MCP の設計

ホストの Demetrios は、OpenAI の Jason Louie から聞いた話をきっかけに computer use に傾倒したと語る。Codex に受信トレイを定期巡回させ、航空会社のメールが来たらフォームに入力して搭乗券を取得させている。当日の朝はチェックインを忘れていたが、メールボックスには搭乗券がすでに届いていた。ドイツでの免許更新の予約も任せ、日時と持ち物の連絡、カレンダー招待まで済んだという。API を使えない相手にもブラウザ上で本人になり代わって操作できる点を、彼は高く評価している。

Dex は Palmier(DaVinci Resolve のような編集ツールに MCP が付いたもの)と Opus 4.8 でデモ動画を作った経験を紹介した。2 時間分の素材から数秒おきのコンタクトシートを作らせ、ストーリーボードを作成させ、ランニング中は「プロ品質になるまでヒルクライムせよ」という指示のメッセージを複数キューに積んで放置した。戻ると出来は粗い(slop)ものの、画面録画を溜めておけば後でデモにできると思える水準だったという。

MCP については、非テック企業が最初に出すものは出来が悪くなりがちだと指摘する。コーディングエージェントが大量の計算資源をかけた強化学習で特定のツール群に習熟している点を踏まえ、HumanLayer では自社ハーネスのツールを Claude Code のものと同じ形に揃えている。Codex の編集は一括パッチ形式であり、Claude Code 流の old string/new string 形式を渡すと明らかに使いこなせないという。MCP は人間ではなくエージェントの思考に合わせて設計すべきだというのが彼の主張だ。

ブラウザエージェントとウェブの行方

二人は、ブラウザエージェントは MCP や API が普及するまでの応急処置なのかを議論した。ブラウザ操作は API 利用料を避けられる一方で速度が出ない。また、広告やアップセルを前提とするサイトは、エージェントが無視した場合に収益を保てるのかという疑問も出た。ただし Dex は、ショッピング中のエージェント経由でアップセルが本人に届いた例も挙げている。

Demetrios は、小さな自治体など技術チームを持たない組織が MCP を採用する動機は乏しいのではないかと疑う。Dex は、米国の healthcare.gov のようにウェブ普及から約 12 年遅れで行政のオンライン化が進んだ例を挙げ、「GovMCP」のようなものがいずれ現れる可能性を示唆しつつ、時期は読めないと述べた。人間向けサイトが不要になれば、各社は MCP 経由でシステムや物流を提供する形に変わるという見通しも語られた。

チャットを超えるインターフェース

後半は、チャットは情報の帯域が低いという話になる。Demetrios は音声入力の Whisper Flow で返信を口述させ、Codex デスクトップアプリで返ってくる編集可能なカードに期待している。Dex は、動画編集のタイムラインに直接コメントを付けてエージェントに伝えたいと言う。Frame.io のような仕組みを経由する回避策も話題に上った。

Dex は、初期の HumanLayer の発想も、承認や分類のたびに目的特化のレビューUIへ誘導することだったと振り返る。UIの出し方もコンテキストの一部だという指摘が出た。Fable が情報を大量に吐き出す問題に対しては、視覚的にまとめるオープンソースのスキル「Showman」を公開したと紹介している。人間にとって「3+6」のように労力のいらない形で情報を提示したいという考え方である。

Demetrios はニュースレター作成の例を挙げた。100 件の記事から 5 件を選び、要約と自分の見解を付けて配信ソフトに流す一連の作業は、チャットが十分に賢くなればミニアプリに置き換わるのかもしれない。いま作るツールの寿命が 1〜2 年かもしれないという緊張関係を、二人は認めている。

ソフトウェアファクトリーと GitHub Actions の比喩

Dex によれば、HumanLayer の顧客は主に 100 人以上、多くは 300 人超のエンジニアを抱える企業だ。そこでは主任エンジニアが各自でソフトウェアファクトリーを作り、CTO はバックグラウンドエージェントを求めている。Ramp が公表した事例の影響も大きいという。

自社で持つべきなのは開発環境やコードの実行方法である。一方で、コンテナで動くエージェントとのメッセージのストリーミング、Slack やUIとの接続、承認、差分の共有といった部分は、差別化にならない重荷になる。HumanLayer 自身もローカルのデーモンとクラウドを結ぶ同期エンジンに多くの時間を費やし、Electric SQL や durable streams を使っていると語った。

Dex はこれを GitHub Actions に例える。利用者はランタイムやテストを YAML で定義するだけで、ログ収集やスケジューラ、webhook の処理は他者に任せられる。同様に、エージェントが書いた計画ファイルをチームに共有し、Slack で通知しコメントを戻せるといった部品を提供したいという。

まとめ

本回の中心は、モデルが進化しても設計の質や運用の負担は自動では解決しないという現実的な認識だ。日本のエンジニアにとっては、動くだけのコードを溜めるリスク、MCP をモデルの学習傾向に合わせて設計する発想、チャットを超える承認・レビューUIの必要性が参考になる。社内でエージェント基盤を作る際は、自社で持つ部分と共通化できる配管部分を見極めることが課題になりそうだ。

文字起こし(英語・自動生成)

Thought it was a brilliant idea. Oh boy. Oh boy. Oh boy. Oh boy. It sounded amazing when we were planning this. Keep going. You power. To a tandem podcast, they said. It'll be fun, they said. Oh my God. This is way harder than I thought it was going to be. Dex is huge. He's going to look like a freaking giant on the back of this tandem. Dude, that was... Okay. Well, here we go. Stoop waffles. Canals. Cheese. Tall people. Space cake. What is more Amsterdam than smoking weed, riding your bike along the canals? Well, today we're doing that with Dex. The only catch is we have one bike per the two of us. He's gonna tell us all about how he is building software factories at Humane. Let's do it. Beautiful! One, two, three.

Whoa, why are you going that way? Way harder than I thought it was going to be. I'll see you on the other side. You're good at it, man. I don't do anything, man. So, thinking that we were going to be able to talk about software factories while doing it? Bro, we're going to have to just talk about fucking staying alive out here. we're gonna let davis be the lead support we're just following you dude all right we're not oh yeah there we go yeah now we're going okay so now tell me all about astra there was a joke we used to make uh when we were coding with like clod 37 and opus 4 and some people would kind of be like yeah man I know the code is slop but like by the time it matters this is very mentally intense right now oh okay one two three go back on all right back on this feels a lot like the first

time I rode a regular bike you gotta like you gotta just like believe yeah all right hopefully it's just chill roads from now on and you can tell me about this joke let's start over we're Because I completely lost the train of thought on the joke. I'm glad you picked up that it's a joke. I haven't even gotten half the setup. Do it again. So, we used to say this thing when we coded with, like, Claude, Sonnet 3-7, and Opus 4 back in the day of, like, yeah, the code's kind of messy, but, like, I'll just not read it. And that'll be GPT-7's problem. the the impression being like there will someday come a model that's good enough that is so good at coding that'll be able to fix all this bullshit yeah and I should just focus on vibing and getting it right and figuring it out etc yeah as we know can we coast yeah uh gpt 3.6 just came out and uh or sorry gpt6 six yeah gpt6 after this came out it's not that much better at coding

I saw a couple people. I saw... Which is weird, because they're leaning into that. Like, you've got to know that that's, like, one of the main use cases. I mean, it got better. This actually, I think this is a take from Martin Casado over at Andreessen. He said, basically, like, it got better at some things it used to be bad at. Like... Car on the right. We're going. It got better at some things it used to be bad at. like blender and uh what is it like uh doing game slop yeah like asher can make video games and it's like much better computer use and stuff like that is actually pretty brutal that's true i have seen that somebody created a whole uh presentation but instead of creating a power point it just said create a game engine that could then be used for a presentation And so the game was walking through, like, this whole thing. Like a room that got the point across? Yeah. So we are here now, and it hasn't gotten better, so it's still GPT-7's problem.

Well, so that's what I take, we're already at six. And from five to six, like, yeah, we got better at things, but we didn't get better at building maintainable software. We got better at diagnosing bugs, but the fixes to those bugs still end up being quite... We're clear, we're clear, we're clear. Let's shift the gap. We got it, let's do it. Oh boy. You got a lead, bro. You got a lead because I don't really know where I'm going. Coast it. Coast it. Coast it. Alright, coast. So, anyways, that's a take. It's like, yeah, they're better at breaking the systems and diagnosing problems, but they They haven't learned how to build good abstractions or design code bases in a way that doesn't turn into spaghetti. I think we're going left here. Left here? Let's do it. Power up the base cannon. Yeah, there we go. You realize that you being in the back, you have to do like 90% of their work. That's okay. We're going to stay straight with these guys.

I think we want to go right. That was a close call. Everybody in Amsterdam fucking hates us today. Are you ready? One, two, three. Oh, fuck. We're starting this. One, two, three. You got it? Yeah, yeah, yeah. We're going left here. Oh, we're going left. All right. Hard left. I love how it's nothing for most people. They're just like, fucking tourists. Yep. And we're like struggling to stay on the damn bike. For us, it's life or death over here. Meanwhile, some guy's got a couch on his bicycle. Yeah, it's like I drop it off a bunch of like speaker equipment. He just had this giant rack on the front, like doing AV stuff. That Fable 5.1 cannot do yet. That is for sure. So other things Fable 5.1 cannot do. Yeah.

Or maintain a code base, as you have pointed out. And we're just continuing the slop. But my big question is, if it runs, does it matter? I mean, I've said this one. This has been my drum I've been beating for six months now. But, like, it may run today. And it may run in three months. And then you have hundreds or thousands of users or millions of users. and then one day you wake up and you're like, I haven't read the code in three months and something is broken and you shout at the bottle and you just keep pulling the fucking slot machine and it just can't fix it. You don't know why. You're sitting there and you're like, what is... Oh, I'm going to... I forgot we have to be in sync. Yeah, like a fixie. Alright, we're good. We're chilling. Yeah, we can keep coasting. Yeah, we'll coast tomorrow. I don't know man what's your what's your coding stack these days what's like a cool new thing

you figured out dude well so you know what I am doing a lot is ever since Jason Louie from open AI came on the podcast and told me about computer use I'm all in on it you just like codex go check my emails for me and stuff. I've set up so many beats that it will do and one of them being uh here hold on we gotta stop one of them is like check in on flights for me. Yep. So got it. So this morning I flew over here. It's left. You went that way. Yeah. Why? He told us to turn left. Why would he say that? All right, let's go catch him. All right. All right. One, two, three. Oh boy. Sorry. Yeah, you got it. You got it. You got it. And we've got some water. Water feature. Water feature. So Jason Louie came on the podcast and he told me about how good computer use is.

And since then, I've just been setting up all these scheduled tasks or recurring tasks, like going through all of my different emails. And so I don't have a problem with, oh, there's one connector that I can use. And then I can't connect the other five emails I have or going through all my Slack work spaces. And it's the same thing. I can have it go through all that stuff. And then the one that's beautiful is when it needs to go and do stuff, the fucking ability for it to fill out forms is unmatched. So I don't have to worry about, oh, is it able to get that information from an API? And you can just go and do it as just impersonating. Yeah. Yeah. Because it's already I'm already like kind of signed in on the browser. I think we go right here. Right. Let's see if we can pull that off. Right, right, right. Right. Oh, boy.

Well, we'll go on the road for a minute. We'll go on the road and then we'll cut in. We're getting the hang of it, man. It just took a minute. I think it's also, yeah, when you start and stop pedaling, it's like, if you start slow and end slow, it helps us. It makes it so much harder because you're going one way and I'm going another way. Yeah. This guy going right there. Yep, yep. We're clear, we're clear. And so one thing that I did that this is full Jason telling me he set it up. And so I set it up and it's just so easy to set up anytime you see it. So I have like a recurring task that goes through my email. And anytime it sees an email from a flight company, like a Lufthansa, it just goes and it grabs my boarding pass. so if it says like your check-in is ready it'll go and it'll fill out the form and it'll grab my boarding pass and so now this morning when i came here it was beautiful because i forgot to check in

as i do and when i was looking for the email i didn't find the email that said hey it's time to check in i found my actual like boarding pass in my email nice so those are the moments where you're like damn that is just making my life so much more simple and I did the same I said this again with like I did it with a bunch of German legal stuff so me having to set up appointments with the government yeah I just have it go and do that like for your LLC or whatever yeah or just like I had to get a sorry I had to get a um what did I have to get yeah we can post we can cruise just cruise it. Yep. I had to get my license renewed. And so I just had it set up, set me up an appointment to get my license renewed, which was beautiful because all I got was, Hey, your appointment is on this day. Here's your number and like bring these documents. And

then it created a calendar invite and I was good. So the cool thing I had, uh, I was actually out of Fable credits Yeah And I wanted to do it with the Claude model All right So I ended up using Opus 4 which means I can wait to see what happens when we throw Astra at it or whatever Uh but I like I been procrastinating making this demo of human layer Yeah And it's kind of hard to demo cause all the cool shit we do is like very collaborative. It's like, so like to do a good demo, I need to be in the middle of demoing and then be like, Hey Kyle, come comment on this thing or like, come like co-prompt this session with me. So it's like it's like a two-person demo and so I recorded all the footage I needed but it's like there's like a ton of downtime and I'm like I don't want to go read through all this stuff and like throw it in DaVinci or whatever and like and then have to try to put it back together so I hooked up there's this new editor called Palmier some YC company but it's basically like

DaVinci Resolve, but with an MCP. Beautiful. Which, DaVinci just set up their MCP, by the way. Oh, do they have an MCP now? Yeah. Which I'm very excited to try. Whenever I see non-tech company or non-startup-y tech companies try to make MCPs, the first three versions of them are always really bad. Yeah. It's a bit of a little wonky. You need someone who's super AI-pilled and has used a thousand MCPs and knows exactly what makes a good one. Otherwise, I'm... You do kind of have to have, like, eval your MCPs, don't you? That is a thing that... Because there's a lot of MCPs out there. There's not a lot of good MCP servers. Yeah, I mean, because you just like to design a good... It's like, you know, CodaHale has this bit. It's like, just like an axe must fit the human hand to be useful. Software must fit the human mind to be useful. But it's not a human mind, is it?

Exactly. So there's another take of this, which is MCPs must fit the agent mind to be useful. And if you don't know how agents think and what kind of tools they're good at calling and not good at calling, then it's unlikely you're going to nail the MCP on the first try. Yeah, that's one thing that I've seen folks doing is the whole, oh, how can we make the tool calling more reliable on these MCP servers? And so you have this stuff like tool search, but there's almost like this next layer that you need, which is tool recommending, because you're like, oh, hey, I need to have this person match with these tools. They always call, they really like this type of a thing. But anyway, I'm getting off track. What did you do with... Well, and just one more time on that. I also think there's a lot to be said for months and months and millions of dollars of compute being spent to RL the model on a specific tool set.

Yeah. Like for Cloud Code, it's a lot of the coding tools. And so it's like, I don't know, we built several harnesses internally. We keep like building them and then like throwing them out and rebuilding them. Really? As we like learn about the problem space. But the thing we do in all of them is like, if it's a Cloud model, we make all the tools that are like mirror things in Cloud Code look exactly the same as if it's running in Cloud Code. so that you don't have any issues like well you just take advantage of the you know again like millions of dollars and months of rl training that the labs are doing to teach these models to be really really good at doing it a certain way yeah and like codex is different the codex edit tool is like this patch thing that does everything and if you try to give codex the like old string new string patch tool that you get in cloud code it's just way worse at using it and so So it's like, how can you design your tools to look like what the model is RL'd to use? And the way you do that is you look at like, okay, in the Frontier Lab, like flagship harness,

how are the tools exposed to the model? Then we can have that reliability and we can know, like, is it going to work? Well, there's a higher probability chance it will because it just fits in with the schema that you know has been powerful. It wants to call things in that way. We can cross and then go left. Okay, we'll cross and go left. And the thing that I was... I think we're clear. Oh, really is it this easy? Boom. Nailed it. Well done. Dude, I love this town. I freaking love Amsterdam so much. And when it's sunny and you're on a bike, it's even better. Oh, here it is. We can stop here, throw the bike here in this parking spot. Oh, we made it, dude. We survived. Was a little bit more intense than I thought it was going to be. I wasn't expecting so much out of it. We'll try and grab this spot in front over there, maybe.

Or just... You can get two chairs. We'll figure it out. Should be simple. I don't know. I saw something on Twitter, which was like, the post was like, he'll climb this until it's professional quality. It was like a prompt someone gave to something. And so, like, I gave it all this raw footage of just me using it. It was, like, hours, not hours, but, like, at least two hours of footage to make, like, a one-minute or two-minute demo. And so I was, like, here's the outline of the demo I want to make. Here's a bunch of footage in a folder. Like, go make contact sheets of it of, like, you know, every two seconds. Like, so you can see in one big, in one image, like, token efficiently, you can see what happens in every clip. And then zoom in on the parts that you care about. And then here's an 11-labs key. and, like, basically make me a story. In case you need a voiceover. So I was like, I'm going to do the final voiceover, but I'm like, I want to hear how you think this goes and, like, help you, like, time it, like, and pace it exactly to, like, where things are happening. And, uh... And this is Opus 4.8. This is Opus 4.8. Not even, like, a super dope model, right?

I mean, Opus 4.8 is pretty damn good. Yeah. Up until Opus 4.8, I was a 4.5 guy. Really? You didn't go to the 4.6? I mean, I tried it a little bit. I tried 4.7 was, like, super spazzy. 4.8 was, like, it was good at the kind of things that I use. Like, if I'm doing, like, deep, deep, like, architecture coding, or even on the front end doing stuff that is, like, data plumbing and stuff. Turn around. Look behind you. Oh, it's funny because, yeah, because he can hear us. Yeah. data plumbing stuff I will always just use like codex pretty much entirely isn't it funny how we like we have our likes and dislikes for the different models like oh if we're doing data plumbing we'll go to one model we're doing whenever I'm doing any kind of brainstorming I'm always flawed with and usually it's fable if I can like to with the superpowers still okay and just

because I've come to like that one the most. Okay. Who knows if it's actually the best? Yeah. Right? But it's like the most familiar. It's less about what is perfect and more like what do you have good intuition for and like what do you, it takes time to learn how to use these things. Yeah. Yeah. And some of them you just get so frustrated with because you have to, as you said, like steer it in ways that, like why are you doing it that way? And maybe it is actually okay to go that way. It's just not how you would necessarily do it. and so you're out of your depth quicker. And then you're like, actually, I like this other model because it does it closer to the way that I would want it to do. Yeah. I usually tell people, like, don't waste time, like, min-maxing across Clawed and Codex and Cursor. Like, don't try to, like, it's really, build a really deep intuition on one model, and then maybe you can start bringing in other ones. But if you're just constantly switching, you're never going to kind of get to know any single one, and you're never going to know its strengths or be able to really depend on it.

Have a good idea of what's going to happen when you say a thing. But anyways, yeah, so we're using Opus 4.8. It was like, make the contact sheets. Then make me a storyboard. It was like HTML doc with two or three screenshots and the exact words that go on the talk track. And then two or three screenshots and for each beat, and there's like 10 beats in this one-minute video. Maybe like six. And then I was like, cool, I did a little bit of iteration on the storyboard, and then I'm like, I'm going out for a run for an hour. And I just put it in a loop of, like, hill climb this until it's professional quality. Compact. Hill climb it. I just, like, queued up, like, ten messages for it to just keep working while I was out for an hour. I came back, and, like, the demo was, like, low-key. Like, it sucks. Like, it's very slob. But, like, I was impressed with what I could do. It's, like, it's not exactly what I would have shipped, but I was like, this is, like, good enough that I'm just going to start recording my screen while I'm working, knowing that, like, and... You can find jams. Yeah. And I gave it, I also gave it a, like, speech-to-text key so it can see what I'm talking about while it's on screen.

And so it's like, yeah, it's slow, it's inefficient, I never, like, sit there and work back and forth. But now I kind of have my, like, you know, AFK workflow of, like, here's all the stuff, go make me a storyboard. And then I go away and do other stuff. And then I come back to the storyboard, I'm like, cool, here's, let's make these changes, cool, go make the video, and then we, like, iterate from there. it makes me think that it could pull out the gems and it could give you insights that you don't necessarily realize are there sometimes where it's like oh hey this is happening and you didn't even realize hey that's a novel thing wow okay cool I should talk about that more yeah the next you're so in the weeds that you don't see the forest from the trees you know yeah um yeah being able to take like i mean people they're like extract cool clips from a podcast ai has kind of been around for a while which i've never found one that is so good that i'm like wow i've got to pay for this yeah i tried a lot of them and it's not quite there yet but well but now i can run

this from my clod which means i can own all the preferences i can own the clod md i can write the skills myself which has always been the like i know a lot of people are saying it's like i don't want to use your agent yeah i want to use my agent and like point at your mcps don't ship me a like mediocre agent when i have the world's best harness at my fingertips yeah and my preference harness right like what i like but then again it goes back to the whole thing with if i'm using your mcp and is going to be able to do that is your mcp any good it has to be good yeah the mcps have to be good but it's like instead of investing time and like learning how to do sandboxes and running agents and like do multi-tenant agent cloud or whatever the hell it is it's like just build really really good tools for my agent to use well and that's one thing that i've been thinking about especially when it comes to browser use and how if you think about how we used to build software and create software it was very much because somebody was not happy with how things were being done and they would think, man, this is a pain.

Like, I think it could be better. Yeah. And then they would build that world that they envisioned. Okay. But now if agents, especially browser agents, are doing it, you don't have that pain. Yeah, I don't care. Pain is, it's in a different place. As long as the browser agent doesn't get lost and is, like, constantly texting me, like, hey, I need to go log into this page or whatever. Is this okay? Yeah. So then you can have shitty software out there but it not going to be like oh we need to reinvent this software in a way that is going to revolutionize things Because if the browsing agent again if it does it then why do you need new software I mean, okay, so here's my question. Do you think, like, browser agents are a band-aid? Like, do you think the future is everyone's just going to have MCPs and agent tools and browser agents is just like, you know, for the next two or five or ten years that it takes us to get there, it's going to take a long time. But do you think we'll always have websites? Or do you think in the future I'm just going to talk to Claude or Codex or whatever?

It's the gateway to the machine, of course, whether it's local or like you're just going to talk to the chat box. And whether or not it is doing things through the browser or it's doing things through the MCPs or the APIs, whatever it may be, that's kind of like implementation detail that I don't necessarily want to have to care about. It's just going to happen, right? Like, oh, it tries first with an MCP. It's not able to do it. Cool. Like, is there an API? Is there a public API? Do I need to pay for the API? Because that's another thing with browsing is like, you don't have to pay for it anymore in a way, but you also can't get the speed that you're used to with APIs. Yeah, you can't get the speed. and also like will all those websites actually still be profitable if like they were making money off of ads and the agencies the ads it doesn't care that or think about and i've been talking to a lot of folks about this if my agent now doesn't care about you upselling me on the e-commerce store yeah and all of this stuff that we've built for humans over the last 20 years to

fully get the most out of their session. Yeah. Now the agents, they just blow right by that. I mean, my agent has tried to upsell me before. Really? It's been like, oh, I was on this site shopping. I was testing a workflow of like, cool, send me the pictures of this thing I'm shopping for. And then I picked the one I liked. And it was like, hey, by the way, if you buy like two more things, you get free shipping. Do you want to do that? And I was just like, the same answer I always get, which is no. but like but the agent did like the upsell did transfer from the agent from the website through the agent to me like I got the pitch again which I was like yeah that's probably still going to be a thing yeah that's true or there's going to be different sneaky ways that it can come through with the agent but I mean if you said to the agent no and don't ever do that beautiful awesome excellent thank you and it's just my favorite cafe. Dude, I love a good pour-over. So the other thing, though, because I really think about this a lot with the browser use

or the computer use in general. Yeah. Do we have it now, and then later everything's MCP and API? Or is it always? Because I just don't see the German government in my little small-ass town adopting MCP anytime soon. So to fill out forms and stuff, okay, maybe it's for 10 years. Like you said, maybe it's like they don't do it now, just like not everyone had a Facebook page back in the day, but then everybody had to go and get one when Facebook was the one spot that you had to be. Well, in the States in like 2012 or something, it was a really big deal when we got healthcare.gov. It was like, oh, you can now go get your government benefits on the Internet. You don't have to go fill out a form. You don't have to send in a letter. It was like a huge deal. So we'll probably have something like that, which is like, you know, GovMCP or whatever it is. But again, I don't know when it's going to come, right?

Like it was in the U.S. it was, you know, 12 years after the like World Wide Web became like, oh, this is the future of the economy and information and communication. But my big question is, would that necessity be there to create the MCP if browser use can already do it? that's where I'm going to. I know you're going to like, hey, everything's moving towards MCPs because it's obviously the better way of doing it. But if you don't have that catalyst because it can be done already. Oh, it's beautiful. Thank you. Oh, nice. That's okay. We're very thirsty. We'll figure out how to drink it all. Yeah, I mean, the question is like, we'll, if, because today websites are great because they serve a dual purpose. It's for humans and agents can now use them reasonably well. versus like if there is no reason to have a human-facing site, then why not just make it as easy as possible? Yeah, everything's headless. But that is easy for things built today.

But I feel like anything that is, A, doesn't have a huge tech team behind it, and B, doesn't really see the need in it, and they're not fully convinced anyway, when are we going to get to that point where those folks switch over to fully headless. Just your product is your MCP server, which is wild to think. Your product is not anything more than how your MCP server can then leverage MCP apps to create a better experience inside of my chatbot. Yeah, I mean, you basically become an MCP over a system of record or an MCP that is interfaced to something in the real world. Or it's like moving physical goods to my location or something like that. Or like booking me a hotel or whatever it is. I've tried really hard to have the experiences so far on doing everything I can with browser use, right? Yeah. One is just booking out things.

Like, hey, let me book some museum visit. I was just in Tokyo. Yeah. And I booked a bunch of museum visits and that was fine. Like anything with a form. Well, that sounds great. I literally, my mind switched when Jason said, I never fill out forms anymore. Codex, go do this for me. From then on, it was, oh my God, if I'm ever finding myself filling out a form, I'm doing it wrong. I need to figure out ways to make it where my chat is my command center. and one thing that I did that a few friends thought was kind of novel so I'm that you've been doing this for ages is you get your daily briefing which is not that novel whatever it checks all of your emails all your slacks all your I have it checked what's up and telegram and signal and then I also have it check YouTube to see how we're performing there yeah it'll give me and it can do that with browsers again like it can look at your YouTube analytics yep and and check all of that.

And so the way that I respond to it is I don't then go, oh, Dex sent me this email, I should go and respond in Gmail. I just turn on Whisperflow, and then I say, okay, respond to Dex and say blah, blah, blah, and then do this. This is one of the best workflows that I've found, whether it's like reading a plan of what an agent wants to write in terms of code, or whether it's like, hey, look, here's a giant report of stuff. You just turn on Whisperfloats, think out loud as you're reading through it, and then send it to the model, and boom. And it comes back. If you need to iterate a few times, you can. One other thing that I've been really enjoying, and I have been talking to a lot of people about this, again, the Codex app. Yeah, the desktop app. Yeah, the desktop app. Sometimes it will give you back a response that is a card that you can edit in-app, like in the chat. So in this response. I've seen that. The last time I tried it, it was super buggy. I tried to edit it, and it sent the email.

And I was like, no, dude. There are 80 engineers on this project. Just on the desktop app. I have a buddy who works on Codex Desktop now, so I send him all my bug reports. Yeah, as you should. So I think they fixed that. But what I don't understand is why they don't have it come up more. and the editability of the chat or the responses from the models is a nice UI pattern that I want to see more and more. You would rather just edit it in line than just be like, change it to be like this? Well, sometimes it's a few words that I want to change. Yeah, so you don't want to be like, copy the thing, paste it in, and then paste the other thing you want to change it to. It's easier just to say, like, delete that whole sentence there by deleting it as opposed to, yeah, doing that workflow. And so that got me thinking, well, why don't we have document editing inside of our chats?

And why don't we have, like you just showed me, more commenting abilities inside of our chats? Why don't we do it? What about Notion drag and dropping text blocks? Yeah. or notion like being able to call a database in line. Yeah. This is the next feature I want from my like silly video production pipeline is I want, Paul Mirra doesn't have this today, but I want to be able to comment on the timeline. Like whatever, there's always some thing that you're working on, whether it's the code or a plan or an email. Like you want a really high bandwidth way to just be like, this timestamp, here's my comment. Without having to say, at this time you did this, and here's what was happening, and here's how I want it. It's just like make this. Frame.io does that. Exactly. Yeah. It's for other humans. Yeah. You want it so that it's an agent that can just know, hey, right here, take that part out. I mean, what I'll probably end up doing if Palmira doesn't ship comments on the timeline is I will probably be like, cool, now I'll upload it to frame. Like the workflow is like,

okay, when it's done, do an export and upload it to frame and I'll comment on that and then pull the frame comments. Oh, yeah. Like I think like the, I mean, this was kind of like early days of human layer, like the super broad idea was like, how do we give really high bandwidth, high quality, like review interface? And part of it was like, the model should text me when it needs help, but also like, I should be able to click a link and interact, whether it's like data labeling and I want to like approve or deny it, or whether it's a classification or it's an email to send or whatever it is, like all those things kind of benefit from like purpose built UIs for the task at hand. Yeah, yeah, exactly. And that is one other piece that I've been thinking about, which is context is that context is just as much about oh this means this in this organization and it is also when I present this thing to Dex I present it with this UI because it makes his job much easier it gets him from point A to point B faster yeah that is also context yeah and like

The default of most agents, I mean, this is why I struggle with chat and I think we need something richer, is people have been complaining for months about Fable just info dumps an entire wall of garbage, and you're like, give me something better. This was the skill we did, the open source skill we just published. Yeah, Showman. Yeah, Showman's beautiful. It's just like, I ain't reading all that. Make it more visual. Or Bro. It's the same thing. It's just like, come on, man. What are the things we can do to maximize the bandwidth of humans, both in terms of like the volume of information that can be transferred but also like how do we make it use the parts of your brain that are like not that don't require a lot of energy right like if i asked you this is old like code of hail talk that i recommend to everybody but it just like if I asked you what three plus six you don decide to add three and six The number nine jumps into your head But if I asked you to multiply two three-digit numbers, your pupils dilate and your adrenaline flows, and you're like, let me focus on this shit. Like, yeah, it's true in your head, and then it's like, and also, like, you're exhausted

at the end. And so it's like, how can we make things, like, how can we optimize the way our tools communicate to humans in a way that like uses the parts of your brain that don't require effort do you feel like that is as much of understanding the whole end-to-end or maybe not even end-to-end just the next step and then letting the model optimize for how it presents it or you it's a back and forth between how the model presents it and how you say you want it you're talking about like well I'll give you an example so we do the daily agentic newsletter and the way that we create that newsletter is we have ten different agents scouring all the different spots yeah whether it's reddit or X or just top news sources and it will bring us back a hundred different things that are happening today so it's a personalized news feed what you could do is say okay

well, I've got these 100 different pieces. Now, the end state is I want to get them into a newsletter with a little blurb, and then I want to comment on why I find this important. Yep. So, are you going to do all 100, or do you also have to kind of narrow it down? Yeah, exactly. Just five. Yeah, okay. We do five every day, and so you take those and you say, these five are the ones that I want in there, then again, this is why I come back to the context is also, can I create a GUI that will make it as easy as possible for me to just say, I want this, this, and this, and say that these things, here, give me the one or two sentence blurb, and then my blurb is, yeah, my blurb is this part. So you've got like the overview blurb, and then you've got why I feel like it's important, the human take. And then you want to be able to tag that up and make changes, either edit it directly or put comments on it. So the first step is I need to take all of these 100,

and I need to whittle it down to five that I like. And then from those five, they need to go into the newsletter sending software. It takes a few iterations, but you know, like, all right, here's the whole workflow. Potentially, there's a world where I'm copy and pasting this one, and then I'm adding the link to it and then I'm putting it into the newsletter writing software and that's really cumbersome. Or you build out that context again. You connect these two sources where I've got all of the different agents' feedback or the articles, I should say. I've got all the articles and I can just say select and then boom, it gets piped in and it's in my newsletter software already. And then I can just go and it also has the two sentence blurb and it's hyperlinked. Yeah. UTM parameters or whatever. Like all that stuff is pretty basic table stakes for a newsletter sending software. And then I just go in and I add my take at the bottom.

So what I'm trying to say is that whole end to end type of workflow. Yeah. I had to get better and better at. But I also have to know how to present it to me, like you're saying. So that three plus six is nine. And I just go, boom. I like that. Ooh, that's cool. That's novel. Boom. That one's in there. You don't have to, like, squint your eyes and be like, ah, what is this? I don't know what it is. How do I figure it out? Let me copy and paste it into here, and let me try and, like, think of something novel to say because I'm really trying to understand it. Yeah. So there's that. But then, again, what I keep coming back to is, does that even matter if we get good enough at the chat being the interface? Yeah. I'm not going to have a software that sends emails. I'm not going to have a software where I coagulate all this data. I'm just going to have the chat. The chat's going to have little mini apps in there, and some of them are just created on demand by the agent. So that's kind of where we are right now is we have these softwares that we've put as stop gaps.

Yep. And if you do something enough times, it's repetitive enough, If you have this workflow that you're comfortable with and you can optimize the workflow and plug in the human where it needs to plug in, however, how long will we need that for? Right. Exactly. How much of this stuff and it's like, okay, cool. There's always this tension between how do I solve problems today versus what is worth building? How much effort am I willing to put in if I think there's a 30% chance that this will be not relevant in a year or two years or 10% chance in four years or whatever. or whatever the probability curve is. Well, how do you... Because human layer is very much in the bloodbath space of building. Yeah. Everybody's building in the coding space because it is, up until now, the most lucrative. Well, and it's the one with the best problem-solution fit, basically. It actually works well.

I think actually like what we've learned a lot of in the last couple months working with like we work mostly with larger companies like our like ballpark is like at least 100 engineers. Most of the teams we work with have like more than 300. A handful of seed stage companies that love it, whatever. They're just like, you know, fans. But what we're finding more and more of is like every every principal engineer inside every company is kind of going on the journey of like building their own personal software factory. and then like a lot and then there's like well the CTO wants background agents and they want the like ramp inspect or like whatever all these like companies are bragging about this stuff. Everybody wants to be able to do that. Ramp ruined so many fucking software engineering roadmaps for that damn X post that they put out. Everyone's just like oh my god we need to be like ramp we need to be like Brex we need to be like WorkOS whatever it is and so what we actually found is like having a full stack IDE is like, it's very useful as like a starting point. And it's like, it's nice in terms

of a bridge of like, cool, people are used to sitting on their computer and talking to an agent and writing code or writing code in an IDE or whatever it is. And then everything after that is the same. When it's done, you make the pull request. And like, maybe there's a gentic review over there. But like, basically, the interface between the developer and the rest of their team and the production system is kind of the same. But then what actually I think what what what the industry needs is like these more like there's parts of building your own software factory that you should absolutely own especially like defining your dev environment and how the code runs and things like this um but there's parts of it that are very much i would i call like undifferentiated overhead of like cool i have an agent running in a container somewhere a sound sandbox or whatever it is we picked a stack for this and we can we have it running how do i stream messages in and out of that, right? Like, how do I hook that up to Slack or a custom UI or whatever it is, show what the agent is doing, let the user do approvals and send messages in? How do I, how do I, like, when the agent is editing code, how do I take that diff and make it available

to the team so that I don't have to wait for pull requests? It's small things and it's, like, it's very easy to vibe it out, but doing it in, like, a scalable way that's super real time, It actually ends up being, this is like, it's not even like, you don't even see it in our product, but we spend so much time building this sync engine so that when you're running it locally, you're actually like, your UI is talking to a cloud is talking to a demon running on your laptop. And for you, it feels real time. And you can run that demon anywhere. And so we spend so much time making that sync experience. We're building on the electric sequel and durable streams and all this kind of next gen real time streaming tech. and it's surprising how much that, like, it's just a little bit unwieldy, but doing it in a very effective way where you deal, like, client registration, long polling, all this, like, stuff that has been, like, kind of solved, but operating it is hard. And so it's, like, there's this idea of, like, cool, can we give people building blocks

that let them kind of, like, build this part of the software factory that they should own and really skip all the bullshit of dealing with all this sync infrastructure and stuff. Yeah, it's death by a thousand cuts. You have all of this stuff that you're doing, and especially what you were talking about, if you're at a certain scale, then somebody has to do it. If you're in an enterprise, you for sure are going to be getting architecture reviews. And it's somebody who is saying, we can't do that because we need all of these things. And you go, ah, yeah, well, our agent actually will get to that, I guess. But nobody actually wants to do that. Well, and it's like the people building these things, they have day jobs. It's like you do the Skunk Works project. I'm like, cool, I built the software factory. And, like, oh, we have 30 users. Now we have 50 users. And people are running a bunch of work through this background agent system I built. And then people have visa requests. And it's like, do you want your job to become, like, maintaining this, like, side project?

Do you vibe code it, or do you want to do your day job, or which parts of it are worth investing in? Same with GitHub Actions. In GitHub Actions, you define how is the language runtime set up, how are the tests run, but you don't build the thing that captures the logs, you don't build the scheduler, you don't build the thing that catches a webhook from GitHub and launches the work. You enjoy it to somebody else's labor. Exactly. It's like the overhead of building a CI. GitHub Actions got the interface really, really well. Like, hey, you build this YAML format, you commit it to your repo. I mean, Circle and Travis have this too, but like basically that idea of like the hard, boring, annoying, not sexy part of this is the like wiring everything together and, you know, running things on demand and all of this. And that is the part that like I think we want to be solving and like we've built the product to be like, cool, you Voltron it all together and you get this desktop IDE thing that you don't have to think about. But then you can like take the pieces, there's like vertical slices or you can like, oh, I just want artifacts. I just want when the agent writes a plan file, I want that to be available to everyone on

my team. I want to get a slack message that it was written. I want people to be able to comment. I want it to be easy to get those comments back to the agent. I smell a reefer. Ah, Amsterdam. Just in case, one more. Does that feel it? Just in case. Hopefully you're marking the ones you like. Bro, just by the way, we should rent one of those boats sometime, and we should do a podcast on it. Well, today we're going to do just that with Dex. The only catch is... I think I heard that fucking... You probably heard it. That's clear. All right, let's try again. Fucking sneeze. The sneeze made me break. I need to ring some bells. Don't let any of these pedestrians in the way. Infra-station. So many damn bricks. Doing some acid. Are we hot? Come on. Let's do it. Come on. Let's get into it. Come on. Let's get into it. Let's do it. Come on. Let's go do it. Come on. I feel like we got it. You feel like we got it?

番組の概要欄(原文)

<p>Two people, one tandem bike, and a lot of near misses along Amsterdam’s canals. <em>Dexter Horthy</em>, CEO and co-founder of <a href="https://www.humanlayer.dev/" target="_blank" rel="noopener noreferer">HumanLayer</a> and the person who coined “context engineering,” climbs on the back to talk about a problem every AI-heavy engineering team eventually hits: code that runs today that nobody understands three months later.</p><p><br></p><p>The ride starts with an old joke from the Claude 3.7 days: ship the slop, it’ll be GPT 7’s problem. That joke is aging badly now that GPT 6 is out and still can’t design clean abstractions. From there it becomes a tour of how agents are actually used right now. Computer use checks in for flights and books government appointments. Two hours of raw footage became a rough but promising product demo through Opus 4.8 and the Palmier MCP while Dex was out for a run. And the best MCP tools turn out to be the ones that mirror what Claude Code and Codex were trained to call.</p><p><br></p><p>Off the bike, over pour-over coffee, the questions get bigger. Are browser agents a bandaid until everything goes headless? What happens to ad-funded websites and upsells when an agent does the shopping? Why does chat still feel like such a low-bandwidth way to work with models? And why is every principal engineer quietly building their own software factory, then getting buried in the sync, streaming and approval plumbing that HumanLayer wants to turn into building blocks, the way GitHub Actions did for CI?</p><p><br></p><p>Demetrios Brinkmann: <a href="https://www.linkedin.com/in/dpbrinkm" target="_blank" rel="noopener noreferer">https://www.linkedin.com/in/dpbrinkm</a>Dexter Horthy: <a href="https://www.linkedin.com/in/dpbrinkm" target="_blank" rel="noopener noreferer">https://www.linkedin.com/in/dexterihorthy</a></p><p><br></p><p>Timestamps[0:00] Intro[1:38] The GPT 7 will fix it joke[3:03] GPT 6 still writes spaghetti[6:21] If it runs, does it matter[7:28] Computer use that fills out your forms[11:57] Editing a demo with Palmier MCP[13:16] Why most MCP servers are bad[14:32] Mirror the tools models were trained on[16:57] Hill climbing a demo while out running[23:49] Are browser agents a band-aid[32:23] Why chat needs richer interfaces[40:30] Every engineer is building a software factory[45:13] The GitHub Actions moment for agents</p>

出典・この記事について

番組
Agentic Conversations (formally mlops.community)(Demetrios)
元の回
From Slop Code to Software Factories
配信日
要約作成日
公式サイト
mlops.community

この要約・解説記事は、元の音声を文字起こしした内容をもとに AI(Claude)が日本語で作成したものです。 固有名詞や数値に誤りを含む場合があるため、正確な内容は元の音声でご確認ください。制作方法について

X でシェアSpotify で聴くApple Podcasts で聴く

関連エピソード