Everything Is a Rollout — Alex Shaw + Ryan Marten, Terminal-Bench, Harbor, Laude Institute

AI Engineer · 21 min · 218 sentences · from YouTube's caption track

Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.

  1. 00:00Awesome.
  2. 00:01[music]
  3. 00:13[applause]
  4. 00:16Thank you so much.
  5. 00:18Uh so yeah, like you said, my name is Alex Shaw.
  6. 00:22I work at Lot Institute.
  7. 00:23Um, and I'll be speaking today about Harbor, which is an agent evaluation and uh, RL environment framework.
  8. 00:31And the title of my talk is everything is a rollout.
  9. 00:34And I think you'll see as I get into it why we titled the talk that way.
  10. 00:39Um, but first I want everybody to come travel back in time with me to the year 2018.
  11. 00:46So eight eight years ago.
  12. 00:48Um, and we're going to talk about some of the things that were going on in 2018.
  13. 00:53So, uh, probably you're you're going to see Avengers Infinity War later today.
  14. 00:58The second one is just getting released.
  15. 01:01Uh, GPT1 was was just released and you probably didn't even notice, although maybe some people did.
  16. 01:08Um, musically, this random startup was about to rebrand to a product called Tik Tok.
  17. 01:17And you might have just learned about AirPods when you saw somebody walking around with headphones that had no cord.
  18. 01:23Um, so what about what about software engineering?
  19. 01:26What did software engineering look like in 2018?
  20. 01:30Uh, we're going to read this tweet from Stay Sassy Sassy with two two A's.
  21. 01:35Um, about what it was like to write code in 2018.
  22. 01:38So it says, "It's 2018 and your coworker just sent you a 400 line pull request.
  23. 01:43You get a cup of coffee and sit down to review it.
  24. 01:46It's beautiful.
  25. 01:46Elegant micro refactors, crispy method names.
  26. 01:50You catch a few things, but that's okay.
  27. 01:51It's part of the dance.
  28. 01:53They didn't consider extensibility on part of their API.
  29. 01:56Here's a comment, buddy.
  30. 01:57And this is actually just part of the tweet, so it keeps going.
  31. 02:00You should look it up if you want.
  32. 02:02And it's obviously written humorously.
  33. 02:05Um, but the thing is, it does feel a little bit nostalgic.
  34. 02:10Um, just like some of these other things that were going on in 2018.
  35. 02:15Now, the thing is, uh, this only changed maybe six or 12 or 18 if you're a very early adopter months ago.
  36. 02:23Um, but it but it already feels like the distant past in some ways.
  37. 02:27Uh, and I think it's time to start talking about well, what will the history book say about software engineering?
  38. 02:34And when I say software engineer, I mean that style of 2018 software engineering.
  39. 02:39Um, it will probably say the the the history books will probably say a lot of things.
  40. 02:44Um, but I think one thing for sure that they'll say is software engineering was when you knew what the code would do before you ran it.
  41. 02:51Um, so and that brings me then to a different tweet from France Chalet uh where he says, "Agentic coding is a form of machine learning.
  42. 03:02Generated code is best treated as a blackbox artifact whose behavior and generalization should be managed via empirical evaluation like with any ML model."
  43. 03:12Um, and that kind of brings us to the next part in this talk, which is to compare and contrast what agent development looks like versus what more traditional software engineering development looks like and why it demands a new set of tools to really understand what's going on and have confidence
  44. 03:28and trust.
  45. 03:30Um, so here's a here's a 2018 program right here.
  46. 03:34Uh, so you can tell already the purpose of the program is to extract phone numbers from text.
  47. 03:41And we have a rejax right here that uh looks for the phone number.
  48. 03:45And I can say with 100% confidence what will happen if I run this program 1 million times in a row.
  49. 03:53Um so now let's update it to the 2026 version.
  50. 03:59So uh I swap out my reax and instead obviously I throw in my model call instead and I say extract this phone number.
  51. 04:09Um, so in some ways this is actually a more powerful program because uh the reax was actually a little bit brittle.
  52. 04:16It would have missed any phone number that wasn't formatted exactly like how it was specified.
  53. 04:22Whereas I'm pretty confident that this program with GPT 5.5 will catch a lot of the phone numbers that are formatted weirdly.
  54. 04:29Um, however, if I ran this exact program one million times, I'm not 100% confident that it will print the same thing every single time or that I know exactly what it will print.
  55. 04:43Um, it probably gets it right almost every time.
  56. 04:46This is a pretty simple task.
  57. 04:48Um, but, uh, this is obviously far simpler than the things we're asking these models to do.
  58. 04:54And the uncertainty only increases as the complexity of the task increases.
  59. 04:59Uh so now let's come back to Francois's tweet and let's update it a little bit.
  60. 05:05We'll generalize it.
  61. 05:06So he says agentic coding and my claim is well just agents in general are a form of machine learning.
  62. 05:12And then he says generated code is best treated as a blackbox artifact and I say agent performance itself is best treated as a blackbox artifact.
  63. 05:21Uh and that brings us to our to our new paradigm.
  64. 05:24So uh we know now agent development is more similar to machine learning than it is to software engineering.
  65. 05:32So what are the things that we should keep an eye out for the the tools that you use for machine learning and also the pitfalls of machine learning and what are the analoges for those with agent development.
  66. 05:43So we have machine learning on the left agent building on the right.
  67. 05:46Uh so training data that now looks like environments and then your test and your validation set that looks like a val which if you take off the mask is also actually just environments at least the style that we'll be talking about today.
  68. 06:02Um weights your model weights are now skills prompts tools the model whether you're picking between models or actually updating the model yourself.
  69. 06:13uh your loss function looks now more like environment rewards and feedback.
  70. 06:18Your backrop or optimizer is now some context textbased optimization algorithm like Jeepa or even just running a coding agent in a loop.
  71. 06:29Uh your gradient descent step looks like a pull request into your repo.
  72. 06:34And overfitting looks like reward hacking or also just uh overfitting that's also possible for agent development.
  73. 06:42Um, so we have these things on the left, there's, you know, products and libraries and platforms that were built for these purposes.
  74. 06:51And then for everything on the right, we're just getting started.
  75. 06:54So, uh, we built Harbor to answer some of these questions.
  76. 06:57We're building it to answer more of these questions, but other people are also building interesting products and interesting frameworks to help people tighten this loop of agent development.
  77. 07:08Um and then something else to consider is that uh as popular as machine learning was and it spawned some of the largest companies in the world, you have like data bricks which are worth uh hundreds of billions of dollars.
  78. 07:21Um already the number of people using and building agents is probably magnitudes larger than the number of people that ever uh were doing machine learning and that trend will will only continue.
  79. 07:35Uh and now let's look at the last piece of Francois's tweet that I want to call out uh which is uh these these agent agent performance uh dut should be managed via empirical
  80. 07:48evaluation.
  81. 07:49Uh and that brings us to our next question which is how do I actually evaluate an agent?
  82. 07:55Uh and this is when we start to get into uh what what harbor does.
  83. 08:02So the answer as we already gave away earlier is environments.
  84. 08:05That's your aval and your training data.
  85. 08:08And what is an environment in this case?
  86. 08:11Well, we need an instruction.
  87. 08:12We need some way to tell the agent what it's supposed to do.
  88. 08:16And then we need some place for the agent to try to do this thing.
  89. 08:20And right now all of the agents run on computers and they do stuff on computers.
  90. 08:24So we'll put it into a computer, but we'll put it into a virtual computer.
  91. 08:27So a sandbox.
  92. 08:29Um, and then we need some way of telling whether or not the agent actually did the thing that we told it to do in the sandbox within some amount of time or other stopping condition.
  93. 08:40And that's your verifier, which is like some programmatic tests or rubrics um or agent that comes in to see what happened.
  94. 08:48So in Harbor, you specify this as a file directory.
  95. 08:52And this uh specific directory layout has become relatively standard in a lot of the environment space.
  96. 09:00So lots of people have adopted it and use it as a way to specify environments which is useful because then it can easily pass between hands and becomes interoperable.
  97. 09:09Um and then okay cool we have a bunch of data now we've implemented a bunch of these environments.
  98. 09:14Now how do I actually use it to start understanding what my agent can and can't do and how to make it better.
  99. 09:21Um so that's a harbor roll out and uh so what you do is you start with your tasks and then you take it you start up your sandbox and then step one you pass that sandbox to your agent.
  100. 09:33So you're either running your agent outside the sandbox and executing commands into it or you're running it inside the sandbox and it's calling whatever its commands are as part of its program.
  101. 09:43Uh, and then it runs for some amount of time until it hits a stopping condition, produces some trajectory, and we'll come back to that later because that's important.
  102. 09:51And then you pass that sandbox to the verifier, which uh runs some verification process.
  103. 09:57And then finally, you stop the sandbox.
  104. 09:59The verifier produces a reward or a set of rewards and then you take those, you aggregate them a bunch across a bunch of rollouts in a data set with some agent, and that becomes your valid result.
  105. 10:10So this process here which looks relatively simple is actually extremely universal and uh it's also a little bit over overly simplified.
  106. 10:20So Harbor by now allows for a lot of different flavors of rollout.
  107. 10:23So you can do multi-step, you can run your verification in a separate sandbox, you can collect artifacts, you can simulate a user.
  108. 10:30Um but this is kind of like the the the bare bones approach uh that they're all built off of.
  109. 10:37So what is Harbor more specifically?
  110. 10:39One, it's a format for specifying agentic environments.
  111. 10:43Two, it's an open-source framework for performing rollouts in parallel using any agent with any model in any sandbox on any task.
  112. 10:52And it's a registry of popular training and a val environment sets.
  113. 10:55I think we have like three or 400 Aval sets by now.
  114. 10:58And in fact, I think two or three benchmarks even came out today that run with Harbor.
  115. 11:02Um, so we're excited about that.
  116. 11:03And in general, it is trying to be a common language for environments.
  117. 11:07So a way for people to specify things that are extremely interoperable and it allows you to maximize data velocity and just increases progress in the industry.
  118. 11:17Uh so who needs a val?
  119. 11:18Uh now that we understand how to make them, we understand how to use them.
  120. 11:22Well, now who should actually be doing this?
  121. 11:24And the answer is every single company that uses computers.
  122. 11:28And I think that's probably close to all of the companies in the world.
  123. 11:34And the reason is because if you're doing something on a computer, then you should be seeing if you can use AI to automate part or all of that process that you're currently performing on a computer.
  124. 11:44Uh because that will increase the productivity of your company and therefore increase the value that your company generates.
  125. 11:51Uh so I like this quote from Satcha Nadella from the applied compute podcast he did last week.
  126. 11:56He says if you want to build an agentic system start with the aval that matters and your ability to grade the outcome and then say I welcome all models.
  127. 12:07So I like that last line because what he goes to say is that as soon as you have an aval the power is now in your hands.
  128. 12:15You can consider every single model.
  129. 12:18You don't have to trust brand.
  130. 12:19You don't have to trust somebody else's aval.
  131. 12:21You don't have to trust a public aval.
  132. 12:22Um and you can kind of skate the paro however you desire to uh balance that cost performance tradeoff.
  133. 12:30So step one build the eval step two kind of optimize against it.
  134. 12:35Um so what will people evaluate and uh I'm going to list four things and these four things are based off of what we actually see people using harbor to build a val for right now.
  135. 12:46Uh so so the first type of a val is people evaluating how well agents build their products.
  136. 12:53So everybody that's building a software product has some internal codebase or set of internal code bases.
  137. 12:58Um I think ramp recently announced like rampbench which is aubench built off of their internal codebase and what that allows them to do is pick the coding agent or the model that performs best on their internal use cases and they don't have to you know maximize token spend.
  138. 13:14instead they can make informed and educated decisions about how they build their products with agents.
  139. 13:19The second type of AVL that we see people build is how to evaluate uh how well agents use your product.
  140. 13:27So anybody that builds a software product is probably moving towards a world where they offer some sort of headless mode.
  141. 13:34So you see some companies have obvious have always been this way.
  142. 13:38They've been developer first like uh HubSpot and Stripe and things like that.
  143. 13:43And the idea is uh if you can make an aval to see how well agents use your product and then iterate on your product to make it more usable for agents,
  144. 13:51you're going to get more usage and therefore your product uh will become more valuable to agents.
  145. 13:57And then uh three evaluate how well agents power product features and then four evaluate how well agents automate internal processes.
  146. 14:06So depending on what type of company company you are, uh one or more of these might apply to you, but everybody should be considering right now how they can do one of these things.
  147. 14:15Um okay, so what are the different use cases of the harbor rollout?
  148. 14:20So we've talked about aval that's the most popular right now.
  149. 14:24Um oh oh here we go.
  150. 14:26I actually have a video even of us doing an eval in harbor.
  151. 14:30So this is uh how you can run it from the command line or have your agent run it from the command line.
  152. 14:34So you can see here it says harbor run.
  153. 14:36We're running in this case terminal bench 2.1 with codeex and GPT 5.5. And we're saying let's run 64 in parallel.
  154. 14:46And then we actually type in the launch command right here which is something we're rolling out soon which allows you to launch the rollouts on harbor servers which means you can just fire and forget and go to sleep and then come back the next day and 10,000 rollouts are done for you.
  155. 15:02And you can kind of see in here what it looks like to look at those rollouts happening.
  156. 15:06Um, but they don't complete in the time span of this video because rollouts can take a while.
  157. 15:11Uh, which is another case for parallelizing as much as you possibly can to tighten that uh that loop and maximize your throughput.
  158. 15:20Um, so there are people who create tasks and sell those as data.
  159. 15:26So there's actually like a multibillion dollar market right now that exists probably around harbor data and also other types of data.
  160. 15:33Um but it's uh very uh I guess lucrative right now where experts can specify certain types of tasks that they would like automated and then sell those to one of the labs that's training models to uh improve on that capability.
  161. 15:47Uh you can also do what we call prod rollouts.
  162. 15:51So remember harbor is evaluate any agent with any model.
  163. 15:56Uh I guess not even evaluate we'll just say uh run any agent with any model in any sandbox on any task.
  164. 16:04And that actually doesn't mean you have to do it for evaluation.
  165. 16:07It also doesn't mean you have to do it for training.
  166. 16:10It could literally be that you want to do what we've been calling agentic map reduce which is you just want to run a ton of agents on distributed compute.
  167. 16:19of sandboxes in parallel and then somehow aggregate those results probably also intelligently.
  168. 16:25So things like looking over a bunch of trajectories to detect reward hacking or I don't know like processing a bunch of receipts for reimbursements or searching over your obsidian files to figure out
  169. 16:37uh semantically what where you wrote some note or processing a bunch of PRs to ask a question about it.
  170. 16:43So we see a bunch of different use cases.
  171. 16:44This is actually an emergent use case.
  172. 16:46So, we didn't build Harbor for this, but we see people doing it a lot.
  173. 16:50So, we actually built this feature and launched it just for this.
  174. 16:53So, it's Harbor Exec.
  175. 16:54Uh, it's going to go away kind of soon, but you can see in this scenario, actually, let me see if I can pause this.
  176. 17:01So, uh, I'm actually going to go back a little bit before we kicked it off.
  177. 17:06So, I'm saying Harbor Exec input is all of my codec sessions from the June 20s.
  178. 17:14And then I say prompt if I corrected the agent write an analysis.json with mistake reason and correction.
  179. 17:20And then my reduce prompt is summarize recurring mistakes and failure categories into a concise feedback.mmd file.
  180. 17:26And you can see in this case I'm running on modal.
  181. 17:28I do the map step with cursor CLI because it's cheap and fast.
  182. 17:33And then I do the reduce step with fable 5 because I wanted to have like an accurate summary and I care about intelligence in that scenario.
  183. 17:40So, and then I'm limiting it to 32 because I didn't actually want to process all of my sessions for this demo.
  184. 17:46But you could there's no reason you couldn't do like 10,000 sessions or a thousand sessions and then maybe you have to go and understand the results more deeply.
  185. 17:54But um Oh, shoot.
  186. 17:57But uh yeah, you can kind of see here I think.
  187. 18:01So we kick this off.
  188. 18:03A bunch of these rollouts start in parallel.
  189. 18:04This one is running locally on my computer with like cloud sandboxing but orchestrated locally.
  190. 18:09And then you can see here all of the cursor rollouts running right now.
  191. 18:16Uh but those will take a second to finish.
  192. 18:18And then you can see the reduce step here where Fable recommended me like recurring mistakes.
  193. 18:26And like these recurring mistakes, for example, could be used to inform the next batch of Harbor tasks that I create to evaluate my agent and pick like a better agent or train up a scale or something like that.
  194. 18:36So uh another use case of Harbor.
  195. 18:39And then we see people taking the trajectories and doing SFT.
  196. 18:42And then we also see people taking the reward or rewards the trajectory in the form of tokens and doing actual reinforcement learning.
  197. 18:51Uh for example, Tinker launched an integration with Harbor.
  198. 18:55And then uh people also do other types of optimization.
  199. 18:58So we mentioned JEA but any of these like evolutionary methods you take the text feedback in the form of a trajectory and the Aval and you can do some sort of like auto hill climbing with a harness or a scale.
  200. 19:10Um so in the last couple minutes I just want to talk about some cool things people have built with Harbor.
  201. 19:15I'll try to breeze through this.
  202. 19:17Uh so uh Frontier Suite and ultra long horizon software engineering benchmark built on Harbor Banker toolbench and investment banking benchmark built by handshake on Harbor.
  203. 19:29Um Swix saying that his team at Cognition migrated all their valves to harbor.
  204. 19:34This Rune bench this is one of my favorites.
  205. 19:36It's like a benchmark to measure how well agents can play Runescape.
  206. 19:40Um Scale launched their whole Sweet Atlas suite on Harbor.
  207. 19:45Uh, pool side uses Harbor to do all of their evaluations for model training.
  208. 19:50Uh, Kevin Goo created auto agent which is a self-optimizing agent that all you have to plug in is a Harboral.
  209. 19:58Uh, after query post train a model using Harbor Cognition released Frontier Code recently which is a Harbor benchmark and lang chain just integrated deep agents and their sandboxes into Harbor.
  210. 20:10Uh and then actually just today, Snorkel released Senior Sweet Bench, which is a benchmark for measuring how well agents can function under ambiguity with behavioral feedback.
  211. 20:22So, uh that's kind of a brief overview of Harbor and the different things you can do with it.
  212. 20:27I would encourage everybody here to check it out.
  213. 20:29And then this is a link to my Twitter.
  214. 20:32And the reason I'm linking my Twitter, usually I link Harbor Docs, but we're actually actively trying to grow the Harbor team right now.
  215. 20:39So if you want to get involved then shoot me a DM on Twitter and if you just want to see the docs then click the docs link on my Twitter and that's the best way to get there.
  216. 20:48Uh so thank you very much
  217. 20:51[applause]
  218. 21:07[music]