AI Engineer Code 2025
Agents are Robots Too: What Self-Driving Taught Me About Building Agents — Jesse Hu, Abundant
Read the talk
Agents Are Robots Too: Building for Actions and Their Consequences
A coding agent needs more than a capable model: it needs an observable environment, feedback from its actions, and a development loop that learns from failures.
From a talk by Jesse Hu
Before you start: Familiarity with tool-calling agents, shell commands, and basic model training will help; robotics concepts are introduced as they arise.
What surrounds the model?
What does it take to turn a capable model into an agent that works in the real world? Jesse Hu approaches that question through his experience in machine learning and robotics. He describes work at YouTube and Google on two-tower embeddings, early BERT, and mixture-of-experts models; at Waymo on data, reward modeling, and evaluation; and at Abundant on datasets for foundation-model labs training coding agents. The connection here is general robotics practice, rather than internal Waymo systems.
Hu frames the engineering burden as 1% model and 99% everything else. These are illustrative proportions, not a measured allocation. In robotics, everything else includes hardware, sensors, actuators, integration, deployment, simulation, and training. A strong model leaves most of the system still to build.
A digital agent has a body too. APIs and MCP tools give it ways to act; terminals, browsers, and virtual machines provide richer environments. An operating system and persistent filesystem expand that body further. The relevant comparison is not simply between a language model and a robot’s brain, but between two complete systems that sense and change their surroundings.
Both systems also need an offline stack: simulation and training, continuous retraining, monitoring, and human feedback loops. Hu recalls a recurring observation in self-driving: the strongest team may win through its offline tooling as much as through its model or runtime. Better development infrastructure lets engineers investigate behavior, iterate faster, and ship more reliably.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
A command is not its outcome
Turn a steering wheel left. How far did the car actually turn? The command alone cannot answer that question: actuation is imperfect, so the controller must measure the result and adjust. That measurement closes the loop between intended motion and actual motion. Closed-loop control uses the consequences of an action to inform the next action.
The coding-agent equivalent is a long-running Bash command. If the agent cannot observe output while the process runs, determine whether it has completed, or stop it early, it has lost essential feedback and control. Starting the process is only the first step. The interface must also support observing and intervening in its execution.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Conversation turns choose when the agent can react
Robotics makes input design explicit. A system might observe through vision, lidar, radar, or a combination. It must also choose when to observe: periodically, when an event arrives, or at a faster fixed cadence. Hu gives 50 Hz—50 observations per second—as one example of periodic world-state sampling. Repeated observations let the controller update its state estimate and replan as the world changes.
Agents often inherit a different clock from conversation: take a turn, execute a tool, wait for the entire response, then take another turn. That is a design choice even when no one explicitly chose it.
| Interaction pattern | What it makes easier | What it constrains |
|---|---|---|
| Complete conversation turns | Reasoning about each input and output | Reaction while a tool is still running |
| Repeated world observations | Updating plans as conditions change | Requires handling ongoing changes |
Turns provide clear boundaries, but a boundary can become a delay. An agent waiting for a tool response may be unable to react immediately to a pop-up or intervene in a long-running process. The important question is when the environment can tell the agent that its plan needs to change.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Choose what an action means
Handcrafted tools and streams from tools or users are only some of the available interfaces. Terminal-Bench’s Terminus uses an interactive tmux session. Hu highlights character-level interaction, including Control-C and window commands: the agent can manipulate a terminal session instead of treating every command as an indivisible request and response. The interface provides those capabilities; observation frequency still depends on how the agent uses it.
For example, a Bash controller can start a process in a detached terminal, inspect its output, and later send an interrupt:
bash
# Start an illustrative long-running process.
tmux new-session -d -s agent-job \
'bash -c "while true; do date; sleep 1; done"'
# Observe the current terminal contents.
tmux capture-pane -p -t agent-job:0.0
# When an observation or user request calls for stopping it:
tmux send-keys -t agent-job:0.0 C-c
The key separation is between launching, observing, and interrupting. A controller can decide what to do between these operations instead of waiting for the original process to return.
Robotics offers the same freedom at different levels. An action might mean moving up one block and across two, or specifying a point in continuous space. It might operate in two or three dimensions, and control position, velocity, or acceleration. Each representation makes some behavior easy to express and other behavior awkward. For agents, the analogous choice includes structured MCP calls, terminal characters, or lower-level mouse and keyboard actions.
Hu describes a Dreamer example with mouse and keyboard interaction at 20 frames per second. The exact paper is not identified in the talk; the related Dreamer 4 paper uses that cadence in a Minecraft setting, not a general desktop-automation demonstration. The design question remains useful: which capabilities does an action interface expose, and which does it prevent the agent from expressing?
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
The world does not reset when a session ends
A driving game can spawn a car at the beginning of a session and discard it at the end. A real car occupies space before and after the task. How it arrived, where it will stop, its speed, and the motion of nearby vehicles all matter. The task exists inside a continuing world.
Coding agents are moving through a similar transition. A disposable session can produce an artifact and disappear. A persistent VM retains running processes and files. An agent joining a workplace also enters ongoing activity, such as existing Slack conversations. It needs to account for the environment it inherits, not just the instruction that started its session. That changes runtime behavior and the starting conditions needed for meaningful evaluation and simulation.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Small mistakes change the next input
Imitation learning trains on demonstrations, much as supervised fine-tuning trains a coding model on human examples. Reinforcement learning offers another approach, with simulation as one possible training environment. Hu introduces DAgger as relevant background to the distribution problem in imitation learning; it belongs to imitation learning rather than being another name for RL.
The difficulty is that the agent helps create its own future inputs. Once its behavior departs from the demonstrated path, it can encounter states unlike those in its training examples. A browser pop-up makes this concrete: a human handles it naturally, but an agent that has not learned that situation may become confused. Its next mistake can take it farther from familiar states, producing a cascade rather than an isolated prediction error.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Simulate the consequences, not just the prediction
An action changes the problem the agent must solve next. A classifier produces a prediction; an agent predicts, acts, encounters the consequences, and reevaluates its earlier decisions. Those consequences unfold in a messy world, where the initial plan may quickly stop matching reality.
Simulation provides a way to represent that messiness in a starting state and then explore what follows. Instead of evaluating only the path already observed, a simulator can play out alternative paths as the agent’s behavior changes. These are counterfactual rollouts: different possible continuations from a situation. Hu’s testing pyramid places simulation beneath test-track testing and production, making it part of the infrastructure for exploring consequential behavior.
A Markov decision process, or MDP, supplies vocabulary for this loop: an agent receives state and reward information, chooses an action, and affects an environment that produces the next situation. The value of the formalism is practical communication. It gives a team precise objects to discuss when deciding what the agent observes, what it controls, and how its behavior is evaluated.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Understanding the scene does not finish the task
Hu characterizes self-driving work from 2017 to 2020 as heavily focused on perception: identify objects, put boxes around them, and assume driving around those boxes will be relatively straightforward. That assumption concealed the complexity of choosing and executing actions. Recognizing the scene was not enough to drive through it.
Language agents face a comparable gap. A model may interpret a detailed description and generate a long, sophisticated reasoning trace, yet fail when its plan becomes a chain of real tool calls. A call fails, progress stalls, or the agent cannot correct its own mistake. Hu places much of the remaining engineering work in that execution-and-recovery loop.
Cars and code nevertheless offer unusually favorable starting points. Hu contrasts self-driving’s production use in limited settings with the demo-stage maturity of much other robotics. Cars already have refined human controls, electronic actuation, and built-in telemetry. They provide both an interface for taking actions and an interface for collecting evidence about what happened.
Coding has a similar advantage: predefined actions and observable results make software convenient to operate and learn from. Knowledge work that requires the full desktop is often harder to codify. When selecting a new domain, ask two connected questions: does an existing human interface make actions accessible, and does it expose enough information to observe their consequences?
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Use deployed failures to guide the next experiment
Improving an agent is a hill-climbing process. In a conventional application, implementing a feature usually gives a fairly direct route to delivering that feature. With an agent, an engineering change is often a hypothesis about improving a metric. Run the experiment and the score may rise—or fall. Progress comes from repeated experiments, not from assuming each implementation adds capability.
The self-driving development cycle connects those experiments to the world:
- Learn: improve the model or system using available evidence.
- Simulate: examine behavior before deployment, using simulation to support both learning and deployment confidence.
- Deploy: expose the system to real conditions.
- Collect logs: capture what happened in those conditions.
- Feed simulation: use those logs to ground the next round of simulated scenarios and experiments.
The return path matters. Without real-world evidence feeding back into it, simulation can drift away from the situations the deployed agent actually encounters.
Hu uses a hypothetical 70% benchmark score to show the limits of an aggregate number. A score gives a broad signal, but categories, cities, and failure modes reveal where behavior breaks down. Inspecting individual failures can tell the team what to change and where another experiment is likely to help. Hu describes that triage process as central to Abundant’s tooling and its work helping customers improve their systems.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
From impressive demonstrations to completed work
Hu’s closing slide displays a 2.5% automation rate on real work, labeled RLI. It invokes the Remote Labor Index and compares the state of agents with self-driving in 2015. Read the figure as a benchmark snapshot of end-to-end work completion, not a current estimate of economy-wide automation. Strong predictive models and impressive demonstrations still leave a substantial gap before reliable completion: actions have consequences, and real environments introduce complications that a plan must survive.
Closing that gap ties together feedback, observation timing, action interfaces, persistent state, simulation, and the infrastructure used to improve the system. Hu proposes agentics as a name for a practice built on these concepts—a field with reusable abstractions and scientific methods, rather than a succession of ad hoc agent implementations.
The reading path follows the problems an agent builder already encounters: open-loop and closed-loop control for feedback; MDPs and fully versus partially observable environments for describing the world; DAgger for imitation-learning distribution shift; and offline RL, introductory reinforcement learning, and recent robotics literature for learning from experience. These ideas become easier to grasp when attached to a stuck process, an unexpected pop-up, or a persistent environment. Agents act in the world, make mistakes, and have to recover. Building that recovery is part of building the agent.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Explains the tmux-based terminal interface, keystroke actions, external execution process and sandbox assumptions.
The original paper on collecting expert labels for states encountered by a learned policy and aggregating them across training iterations.
Further reading
The October 2025 launch report evaluates complete freelance deliverables across 240 projects and explains common failure categories.
Studies offline Minecraft learning from pixels and mouse/keyboard actions, with reinforcement learning performed inside a learned world model.
Shows Minecraft agent evaluations, imagined training trajectories and human interaction with the learned world model.
Read the complete timestamped transcript
- 0:01
All right. So this is my talk called Agents are Robots Too. I've given different variants of this talk in person for different events, but this is the first one that I've done for coding agents.
- 0:15
So to kick things off, um, just a little bit about me. I've been a lifelong ML engineer, and I've worked at places like YouTube and Google, where I worked on the two-tower embedding model, as well as some early work on BERT and Mixture of Experts.
- 0:31
I worked on ML and robotics at Waymo, where a lot of my focus was on the data side, as well as reward modeling and evaluation. And most recently, I've been working on a company called Abundant, where we work on a lot of the same concepts applied to datasets for foundation model labs and their training for agentic coding
- 0:52
models. Um, none of this will cover any inside information about Waymo, but will instead cover some general topics that are carried over from self-driving and robotics into digital agents.
- 1:11
So I'll kick things off in kind of like talking about what some of the parallels are. And I think one of the main things is that you sort of have this 1% versus 99% problem, where you think that the model is doing most of the work, but when you get into real world applications, the model is only
- 1:28
doing 1% of the work, and 99% of the work goes into other things. So in robotics, you have the hardware and sensors and actuators. You have integration deployment, and you have this whole offline stack that does simulation, training, um, and other things.
- 1:44
In agents, you also have this. So if we take a look at the two stacks, um, so in, in robotics you have hardware and you have actuators, you have the fleet.
- 1:53
And in agents you also have, um, sort of like a body, right? Whereas robotics is, you know, very obviously embodied because you go from a brain to a physical body.
- 2:04
In agents, you go from a model to sort of a body of a digital robot that includes tools. So now we have APIs and MCPs, as well as more advanced, uh, embodiment in terms of the terminal and the browser and the VM.
- 2:18
So you're starting to see like the robot's hands and arms and legs, to even more advanced things like the entire OS and persistent file systems and things like that.
- 2:30
Um, in addition, you have the offline stack to still transfer over. So we're not just finished when we have the model. We also have to continuously retrain. We have to monitor these things.
- 2:39
We also have human feedback loops and all this other stuff that we have to build as far as the tooling to even support development of the agent. And that's like sort of one of the first learnings that I, I wanna share, is that, um, oftentimes in self-driving, people would often talk about the winning team not just having
- 2:56
the best model and the best online stack, but having the best offline stack, because that enables developers to be much faster and ship more, much more reliably.
- 3:08
So moving on, there's this concept I wanna share in robotics of open-loop and closed-loop. This is very simply, uh, being able to take an action or to, uh, move an actuator or a motor, and then being able to get the feedback of how that actually, uh, happened in the real world, so that you can close the loop
- 3:27
on that actual action. So for example, if I turn the wheel left, I want to actually measure, uh, how much did my car actually turn, so that I can recalibrate and make sure that I'm turning exactly the amount I intended to because these things aren't perfect.
- 3:42
In the same way, we're starting to see where some open-loop things actually need to be closed. So for example, if I run a bash command and I run an open-ended process, well, sometimes I can't observe the outputs, at least not in real time.
- 3:55
I can't measure whether that bash command completed, and I can't exit early if I need to. So that, that's an example of where we need to make things more closed loop.
- 4:06
Another thing that's kind of nuanced is the fact that, um, we are implicitly discretizing in time. So what do I mean by that? There are explicit design choices that we need to make in robotics about the input space and then the action space.
- 4:22
And particularly in the input space, you have different modalities. So you have the option to use vision, lidar, radar, all of these different inputs, and then combine them in different ways to get a sense for the world.
- 4:35
You also have the ability to discretize the world in different ways. You can sample things every second. You can sample things only when they're pushed to you, or you can sample things in this example in like fifty hertz, so fifty times per second.
- 4:48
So that means I'll keep updating the state of the world, and I'll keep replanning, uh, and I'll react to the world very quickly. However, in agents, we've kind of done this implicitly.
- 4:58
So in agents, we often have a conversation, so we wait to take our turn. We execute a tool, wait for the entire response. Maybe we do that in, in sort of weird ways, but we don't do this thing that's natural in robotics, where we keep sampling from the world, and we keep interacting in real time.
- 5:16
So this is an implicit design decision that is made that has its pros and cons. The pros are, it's very easy to reason about when we have turns. It's very easy to reason about a conversation.
- 5:26
It's really easy to reason about an input and output of a turn. Um, but, uh, uh, in, in, uh... but the downside of that is that we don't get to do things in real time.
- 5:37
We can't immediately respond to a pop-up. We can't immediately interact with a long-running process. So these are the implications of the design decisions that we make.
- 5:50
So more on those, uh, inputs and action spaces. So in inputs, we actually have handcrafted a bunch of tools, a bunch of ways that we can stream from tools, we can stream from the user.
- 6:03
But there are other options out there. So one example I wanna highlight is the Terminus agent from Terminal Bench. Um, so this is very, very awesome and unique in that they're actually using a Tmux stream So you can actually do character by character, uh, input and output if you want to, where you can do things like Control
- 6:19
C, or you can do various window commands if you want to. Um, so that, that's a very unique and more flexible way of interacting with our action space that we don't traditionally think about when designing agents.
- 6:33
Other ways in which you could do action space in robotics, we could plan in purely XY, so you'd move up one block, and then move over by two. You can do that in coarse ways, you can do that in continuous space.
- 6:45
You can do things in 2D, you can do, do things in 3D, you can do things in acceleration instead of just position, you can do things in velocities. Um, in agents, we should also think about this, although it's less relevant.
- 6:56
You can... You don't have to think about just interacting with, uh, MCPs and tool calls. Like I mentioned with Terminus, you can interact with the computer at a character level.
- 7:05
You can even do things like the Dreamer paper, where you interact with a computer purely by interacting at 20 frames per second with the mouse clicks and keyboard. So the question is, what trade-offs are we making and what implicit or explicit design decisions have we made that either enable us to do more or is limiting what we
- 7:25
can do with our agent? The next thing I want to talk about is how we're going from stateless processes to stateful processes. If you think about driving, in a video game, you can spawn from nothing, and you don't have to worry about where I came from and where I go after I terminate the session.
- 7:43
You just have to worry about what I do during that session, but that's obviously not true in the real world. In the real world, you have a real car.
- 7:49
That car takes up mass, it takes up space, and so you do have to worry about where that car ends up, and you have to worry about how we got into the scene, right?
- 7:57
Everything is moving. There are implications to how fast you're moving and how fast everyone else is moving. Similarly, we're going from these stateless agents to more stateful agents, right?
- 8:07
Before, we just had to spin up a session, end the session, get an artifact out of it. That's great. Now we have VMs. VMs that are stateful, both in terms of what's running, but also the persistent file store.
- 8:19
And so now when we have agents and we spin them up, we have to consider, hey, what, what is the entire space that we're running into? What are all the Slack messages that are currently going on?
- 8:28
What is the state of the world? What are all of the things that I have to interact with? And not only how we do that, deal with that online, but how does that impact how we do evaluation and simulation?
- 8:38
So these are, this is one of the more interesting things that's happening in agent space right now.
- 8:43
One of the more nuanced things, more familiar to the people that are working on modeling and training, is a sort of like DAgger and out-of-distribution problem. So just like in robotics and agents, we have options of training our models with imitation, uh, imitation learning being similar to the SFT from human demonstrations, versus RL.
- 9:02
And RL can be in simulation or it could be in other ways as well. But one of the known issues with imitation is that as soon as you get a little bit out of distribution or off policy in relation to the human examples, you get really out of distribution.
- 9:17
And you can start to see this in agents such as browser agents when you see a pop-up that never happened in training because humans actually interact with pop-ups quite naturally that it gets confused, and it gets really confused.
- 9:27
So this is an issue of cascading issues that you can see has been studied for quite a while in robotics.
- 9:35
And the general theme around this is that actions have consequences. We're not just dealing with classification models. We're not just dealing with prediction models or sequences. We're dealing with a whole new paradigm in which you predict, you act, and then you deal with the consequences of that action, and then reevaluate everything you've done before, and that's really
- 9:55
tough because actions have consequences, and actions have consequences in a very messy real world.
- 10:03
And as a result of the complexity of the real world, that's where simulation comes into play, such that you can represent all of these complexities and all the messiness of the real world into your starting state, and you can play through, uh, the real world, not just in a single path, but all of the paths that you
- 10:20
could possibly take as your agent changes. So we call that playing out counterfactuals.
- 10:28
The other thing to be aware about, and this is sort of like classic reinforcement learning or robotics, is the concept of MDP. And so that's where there's an agent that takes into account a state and a reward, and then will take actions on an environment or a world, and this is just sort of a formalism about how
- 10:45
to conceptualize how you're running the agent loop. And these are just useful framatives to have on hand, so that you can describe and you can communicate what's going on.
- 10:57
The reason this is important is because we're moving from just plain chat models to agent models that take action. For context, a lot of self-driving, uh, initially seemed really fast, but it was really slow in progress because of the sort of the same issues.
- 11:12
So everybody in the space from 2017 to 2020 was really focused on perception models and thinking that all you really needed to do was, uh, take the state of the world and make boxes, and then you can drive around the boxes really easily.
- 11:27
It turns out that assumption wasn't necessarily true, and there was a lot of hidden complexity in creating action models and not just predictive models. Similarly, in language models, we can see that we can understand basically everything about the world that comes in via text.
- 11:44
We can generate really long, sophisticated reasoning traces.
- 11:49
But when you take these really sophisticated plans, really sophisticated chains of tool calls, and you implement them in the real world, you can see things go wrong all the time.
- 11:58
You can see the tool calls fail, and the agent failed to progress. You can see the agent failed to correct from its own mistakes. This is sort of the loop that is deceptively tricky about when you get into actions from predictive models.
- 12:13
This is really where the bulk of the work had been and where a, a bulk of the work will continue to be in agents as well.
- 12:22
I also wanna point out, in both of these cases, in self-driving when it comes to robotics, and in code when it comes to digital agents, we're actually very lucky in both.
- 12:32
Like, why are we lucky? I mean, you can see self-driving working really well in production today in limited cases, whereas the rest of robotics is still limited to demos.
- 12:40
And this is because of how we have this machine that's predefined with human controls. It's been really well refined over the last few decades, and then it has electronic controls, and it has built-in telemetry, right?
- 12:55
So it's something that, you know, you already have a predefined interface to take actions with, and you have predefined interfaces to collect the data from.
- 13:05
So that makes it really convenient to operate through code, and it makes it really convenient to perform machine learning and learning in general on. We have this predefined interface with predefined actions and predefined telemetry, and that makes it much, much easier of a task than going into some of these other knowledge work tasks that require the full
- 13:26
desktop and things that are less easy to codify.
- 13:31
So when we explore new domains, these are some of the things we'd wanna consider. W-- Is there somewhere where we already get a predefined human interface that makes it easy to do those two things?
- 13:44
Finally, I wanna talk about one of the things that we face from day to day, and that's the hill climbing process. And if you're not familiar with hill climbing, it's basically this iterative process of building or iterating on a complex system, such as an LLM or an agent, when you don't always make forward progress.
- 14:02
So before, when we were working on a full stack web applications or working on more simple systems, you implement a feature, and you probably guarantee that feature will arrive into prod.
- 14:11
Nowadays, you have this sort of like nebulous metric that you're trying to hit, and the only way you can do that is by guessing and checking. So you have a metric, like a benchmark, then you make some guess, you run some experiment, and you hope you go up.
- 14:24
Sometimes you go down. But as long as you keep going up and up and up, then you can r- eventually reach your goal, and that's the concept of hill climbing.
- 14:31
But how we do it in the self-driving way is a little bit more sophisticated. We actually start by learning and then going through simulation. Simulation helps you deploy with confidence, and it also helps your learning.
- 14:41
But then once you deploy, you can actually get logs from the real world that feed back into your simulation engine. That's really important because you want to ground your simulation on something.
- 14:51
And so you start to get this full loop. The logs actually become a much more important part of the process than they are today. You can get a lot more insights than just your numbers, right?
- 15:01
So like a 70% at a benchmark will tell you a little bit. But if you start to break them down into different categories, different cities, different ways you can mess up, start to triage the individual failures, you can get a lot more insights about how to improve your system and on where to improve.
- 15:17
And that's a lot of what we've developed our tooling around and a lot of what we've developed our processes around that helps some of our customers with their hill climbing.
- 15:25
Finally, like, you know, we're only part of the way there. At least this is a metric from the remote labor benchmark. And, you know, I like to compare this to where self-driving was back in the beginning, and it's because we have really great demos, and we have really great predictive models, but we're not nearly there as far
- 15:41
as end-to-end work completion. A, a lot of the reasons are because of the things I brought up before with actions having consequences and the complexity of the real world.
- 15:50
To recap, we've covered the parallels between robotics and agents. Some of those are having to do closed loop systems, getting closed loop feedback, how we discretize systems, how we pick action and input spaces, how we can go from stateless to stateful, how we're going from predictive models to action models, how we utilize simulation in deployment and in
- 16:12
training, um, and how infrastructure is really important to the entire development process. If you've gotten this far, I'd like to say congrats, and you've become a master in this new topic that we're calling agentics.
- 16:24
Because why not? Because, you know, robotics sounds cool. Why not make this agent development stuff just as cool? Um, because I think it, it takes a lot of these core concepts and abstractions to really make this go from something that we hack on to something that has dedicated real science and really becomes a practice.
- 16:42
And so if any of these concepts are useful for you, like a lot of these things are pretty easy to understand and read about. You can read about open-loop and closed-loop control, MDPs, fully versus partially observable environments.
- 16:55
You can read about DAgger. Uh, offline RL is a really cool topic that is featured in more recent robotics work. And then just like the intro reinforcement learning book is all great.
- 17:04
You probably will understand these things natively because the problems are really obvious and easier to understand in agent space. And finally, you can read up on a lot of the recent robotics literature as well since a lot of the field is converging, so you can just start from the papers.
- 17:20
Just as a recap, you know, agents are robots too. They act in the real world. They make mistakes. They have to recover. And all of these little things really matter.
- 17:29
Thanks. You can feel free to get in touch. Here's my email, [REDACTED:email_address]. Feel free to send me any thoughts or feedback. Thanks.