← Home

An anatomy of coding agents tackling robotics tasks

Tianyu Li, Yi Wu @ DexmateOct 28th 2026

Tianyu works on experiment design and result analysis. Yi works on experiment implementation and result reporting.

Using vision-language models (VLMs) to control robots is not a new idea. What is new is how easy and capable it has become. With models as strong as GPT-6 Astra and Opus 5.5, you no longer need a special system or careful prompt engineering. Give a coding agent a robot SDK, and it can follow commands like "put the fruit in the basket" or "open the door", often getting the job done.

Developers have shown many such demos. Agents have inserted a plug after one video demonstrationGPT-Policy-Eval One-shot Plug Insertion, learned to type on a keyboardLearning to Type and Self-express on a Keyboard, painted with a brushPainting the Golden Gate Bridge from a Semantic Prompt, controlled a robot they had never seenRapid Adaptation to an Unseen Robot Embodiment, copied a mobile-manipulation task from a single videoMobile Manipulation with In-context Learning, and solved tabletop and Rubik’s-cube tasks in simulationLLM Harness for Tabletop Robot Control,Robot Hands Solve a Rubik’s Cube. Others have benchmarked models and agents on real robotsRobocurve. “GPT‑6 Astra on robot arms.” September 4, 2026. Robocurve,XDOF Ember-0,RoboQuest. Closest to our study, Agent as PolicyJia et al. “Agent as Policy for Robotic Manipulation.” arXiv:2609.12541, 2026. Agent as Policy runs Codex and Claude Code as the robot policy and shows that saved experience makes later trials faster. AA-RoboticsAA-Robotics v0.1 Artificial Analysis, 2026. reports about 30 minutes per task for most models, against about 20 seconds for a person.

Still, few have looked closely at how a coding agent solves a robot task. What steps does it take? What tools does it build? What does it do well, and where does it struggle? We care because the answer tells us what to build. Some gaps are worth filling with better tools. Others the next, stronger model will close anyway, so building for them would be wasted work. One thing to emphasise: this study does not compare models or companies. We just want to understand how the agent works.

Experiment setup

We picked three tasks:

3×
Fruit basket

A simple tabletop task.

Task prompt
Put the fruit on the table into the basket. Do not use left arm. Do not move the base. Do not move the basket. You have 20 minutes to finish the task.
3×
Bowl rack

A precise task with two placements. The bowl must rest on the rack, then return to the table. This recording follows a simulation rehearsal.

Task prompt
Place the bowl from the table on the top of the rack and release it. Then pick it up again and put it back on the table. Do not move the rack. Do not move the base. You have 80 minutes to finish the task.
Placeholder video3×
Door enter

Mobile manipulation. The agent has to open the door with an arm and then drive the whole robot through the doorway without hitting the frame.

Task prompt
You are asked to enter the door in front of you and get in to the room. You have 20 minutes to finish the task.

A coding agent solves a robot task in two stages. We test each one on its own:

Input
User task
“Enter the door in front of you and get in to the room.”
Stage 1
Agent learning
  • checks tools and environment
  • builds missing tools: pixel → 3D point
  • solves the task
timelong
Saved
Skill
What worked: notes and code.
README.md
pix2base.py
plan_door_enter.py
Stage 2
Agent execution
  • new session loads the skill
  • little left to build
  • does the task again
timeshorter
Skill files from a real door-enter learning run.
The two stages. In learning, the agent builds what it is missing and saves what worked as a skill. In execution, a new session reuses it.

Our robot is a Dexmate Vega, a wheeled bimanual mobile manipulator: a wheeled base, a torso, two arms with grippers, a camera in its head and one on each wrist. For the agent, we use Claude Code with Opus 5.5 at medium effort, a balance of speed and thinking, and Codex with GPT-6 Astra at Ultra effort, which thinks the most.

Instead of letting the agent drive the robot with code, we give it a small set of MCP tools: move a hand to a pose, turn the head, open or close a gripper, step the base, and take a look (camera images with depth, plus where each joint is). Every motion goes through our control service, which checks joint limits and self-collision. That's all it gets. There is no object detector, so to find the banana the agent has to look at the image and work out where it is. There is no path planner, so a hand moves in a straight line, and if the table is in the way, that's the agent's problem. The agent can write and run code to help itself think, but it can only move the robot through the tools. The whole system prompt is one sentence: "You control a real Dexmate VEGA robot through the MCP tools." We wanted to see what the agent does when it is on its own.

Results and findings

Opus 5.5 MediumGPT-6 Astra UltraMin–max
Results for the fruit-basket and door-entry experiments using the original tool interface. Bars show means. Bowl rack is excluded because no trial succeeded in this condition.

With the original tool interface, both models succeeded in all 24 fruit and door trials. The bowl-rack task, which requires more precise manipulation, had no successful trials in this condition and is discussed separately. Runs also varied substantially within a model and task. One Opus door learning run took 4.58 minutes and another 9.13 minutes. Executions reusing the first skill took 2.92 and 4.44 minutes, while those reusing the second took 6.45 and 6.65 minutes.

Learning a task took 4–13 minutes and cost $1.9–9.4. But the cost of learning matters less than the cost of execution. Learning is paid once. Execution is paid every time the robot does the task, and it is still expensive. With Opus, it takes about 2.5 minutes and $1.2 to put one fruit in a basket, and about 5 minutes and $2 to walk through one door. At this speed and cost, clearing a table of 20 objects would take nearly an hour and cost about $25. If the robot had to pass 5 doors to come find you, that’s about 25 minutes and $10. With Astra, the table would take over 3 hours and nearly $90, and the 5 doors nearly an hour and almost $40. These results made us look at what the agent actually does during learning and execution.

Where does the agent spend its time and effort?

Take away

A ready plan still leaves substantial work in checking, adapting, and coordinating execution.

  • Recorded robot actions occupy only 20–36% of task time across the task/model groups; repeated checks, code writing, and response gaps fill much of the interval between actions.
  • Saved procedures reduce some work, but execution still requires local decisions. Fixed sleeps can add waiting even after motion finishes.

The agent solves tasks through a repeated loop: observe → plan and calculate → act and monitor → verify and adjust. Here we show the full process of an agent learning and executing the fruit pick-and-place task. Each return to the model adds time: in measured observation-to-next-tool cycles with visible model output, the next tool request arrives after an average of 5.6 seconds for Opus and 12.1 seconds for Astra. These gaps include input handling, reasoning, response generation, and latency. The agent repeats these cycles as it checks the scene and prepares the next action; writing or adapting code counts toward task time in both learning and execution.

Observe and locate

The agent reads the task and control interface, requests camera images, and selects pixels for the banana and basket.

The model identifies the objects and chooses where to measure.

control.info → control.observe → choose object pixels

Planned procedures can be ready long before the task is finished.

In one fruit execution run, a saved planner produces the waypoint sequence by 19 seconds, yet completion takes 161 seconds. Across the successful fruit and door trials with the original interface, recorded robot actions occupy only 20–36% of task time on average across the four task/model groups. Much of the elapsed time falls between actions.

Another fruit execution shows what can fill that time. Moving above the basket takes 4.2 seconds, followed by 126 seconds before a centering correction is requested. The recording below follows that interval: the agent obtains one fresh RGB-D observation, writes and runs four Python checks on the saved data, and prepares an enlarged crop before choosing a 6.5 cm sideways correction.

Fruit execution · time since arrival above the basket

Observe and save the scene

At +0.4 s, the agent requests one fresh RGB-D observation and saves the images, depth, camera pose, and robot state.

The following checks reuse this observation while the robot waits above the basket.

control.observe → save RGB-D data

The 126 seconds span repeated rounds of choose a check → compose code → run it → interpret the result → refine the next pose. Coding therefore continues during execution: even with a saved skill, the agent writes new code to check the current geometry and adapt the next move.

Motion completion does not end a fixed sleep.

After issuing a motion, the agent receives a message that execution has started and can call sleep while the robot continues moving. The agent chooses the sleep duration; the timer does not end automatically when motion completes. In this door example, the action finishes at 4.2 seconds, the sleep returns at 6.6 seconds, and the next command arrives at 8.6 seconds: 2.4 seconds of sleep after completion, followed by a further 2.0-second response gap.

Elapsed from action start 0.0 s
Motion
Sleep
Response

Motion starts

The agent requests a left-hand approach pose for the door task. The control service returns while the movement is still underway.

The agent can make another tool call before the robot finishes.

control.set_hand_pose → execution started

Across eight Opus trials using fixed sleeps, waiting outside recorded actions consumes at least 42.5 seconds per trial on average, about 14% of task time. The mismatch comes from estimating a duration and starting the timer after motion is already underway. Some Astra runs instead use an automated status-polling loop, which can react to completion.

Saved skills reduce agent task time.

Opus’s task time falls by about 33% on average, while Astra saves only about 10%. Astra’s traces show that it continues to write checking code, revisit geometry, and reason through local corrections during execution, even with a saved procedure. This additional work may explain why reuse produces only modest time savings. Next, we examine what agents package into those tools and skills.

What tools and skills do agents build?

Take away

Reusable tools reduce some work, but key decisions and supervision remain with the model.

  • Agents save geometry helpers, task procedures, and lessons, while the model still chooses targets, contact strategies, and corrections.
  • Providing more tools replaces some calculations but does not reliably improve time, cost, or success: interpreting outputs and adapting the plan still takes work.

Agents build helpers and retain key decisions

Across tasks and models, agents repeatedly build helpers for the same operations: converting camera measurements into robot coordinates, calculating poses from chosen targets and alignments, preparing command sequences, and checking what happened. Common tools include:

  • Locate an object in 3D: combine depth, camera intrinsics, and camera pose to turn an image pixel into a point in the robot’s coordinate frame.
  • Calculate hand poses and prepare moves: quaternion helpers convert the agent’s chosen alignment into rotations. Scripts produce command sequences from measured object positions.
  • Check motion completion: watchers check whether the robot has settled and a commanded action has finished.
  • Inspect geometry and outcomes: depth-cloud and gap checks help inspect a doorway. Other helpers preserve camera snapshots, compare observations, or calculate the space occupied by the robot’s body.

The details follow the task. For fruit, helpers calculate grasp and basket poses and support checks after a short test lift. For doors, they estimate lever contact and whether the whole robot will fit. Examples include a top-down depth view, a gap estimate, and a helper that uses the robot description to calculate link positions and clearance against the door frame.

Many important decisions remain with the core model. For example, in the learning stage, the agent often identifies the object and selects image pixels itself; its projection helper converts those pixels into robot coordinates. This division of work appears across four capabilities:

Capability

Decisions made by the core model

Support from generated tools

Visual grounding

Identify the relevant object or part and select image pixels or regions.

Sample depth, project pixels into 3D, and sometimes extract color masks.

Choosing an interaction

Choose where and how to make contact—for example, grasp across the banana or press down on the door lever.

Calculate rotations and generate parameterized pose sequences.

Adapting the procedure

Decide when to change the approach, insert an intermediate pose, or retry a failed grasp.

Calculate revised poses and check candidate routes using the available motion services.

Interpreting outcomes

Judge whether the object is held, the door is open, or another correction is needed.

Check motion completion, preserve observations, and quantify geometric changes.

This distinction also separates motion completion from task success: a helper can report that the commanded movement has finished, while the model must still judge whether it achieved the intended result.

Skills combine procedures, tools, and lessons

During the learning stage, the agent develops a method and supporting tools, then records them for a fresh execution session. A saved skill combines a written procedure, reusable code, and lessons from the attempt. For example, one learning run on the fruit task saves the following files:

File

What it contains

SKILL.md

The pick-and-place procedure, instructions for using the tools, example measurements, and lessons from the attempt.

pixel_to_base.py

Converts selected image pixels and depth into positions in the robot’s coordinate frame.

quat.py

Converts between rotation matrices and quaternions for hand orientation.

plan_pick_place.py

Takes fruit and basket positions and the fruit’s orientation, then prints a sequence of hand-pose and gripper commands.

Inside the SKILL, the agent records the following five-step procedure (condensed):

  1. Perceive. Identify fruit and basket pixels in the head-camera image, then use pixel_to_base.py with depth and camera pose to calculate their positions in the robot’s coordinate frame.
  2. Plan. Pass the fruit and basket positions and the fruit’s orientation to plan_pick_place.py. The script prints a command sequence; the agent issues the commands one at a time and checks that each motion has finished.
  3. Grasp. Approach from above with the fingers closing across the fruit’s width. Check the wrist-camera image to confirm that the fruit is centered between the fingers before closing the gripper.
  4. Transfer. Back out through a tilted intermediate pose, then approach the basket with the hand yawed 45 degrees toward it. This records the route used to overcome the arm’s difficulty reaching sideways in the original orientation.
  5. Release and verify. Lower to about 0.20 m above the table, open the gripper, retreat upward, and check in the head-camera image that the fruit is inside the basket.

The SKILL also preserves example fruit and basket coordinates, table and rim heights, and a hand orientation used for the transfer. Its lessons explain why the procedure includes intermediate moves: a large hand rotation was refused, so the agent split it with a 45-degree tilted waypoint. When packaging the skill, the agent encoded this intermediate waypoint in plan_pick_place.py and explained its purpose in the written procedure. It also notes that torso movement changes the head-camera pose, requiring fresh projection when the observation changes. These details describe the recorded attempt; the next session must check them against its own scene.

Providing tools does not reliably improve results

If agents repeatedly build similar helpers, can we save work by providing those capabilities in advance? We compare the original tool interface with an expanded interface. The original interface already provides camera images, depth, robot state, and Cartesian hand motion; inverse kinematics is handled by the control service in both conditions. The added tools expose object localization and more explicit motion planning:

Capability

Previous version

Added method and tool

Locate objects

Model-selected pixels or custom image masks, followed by pixel-to-3D code.

SAM3 text-prompted segmentation (perception.segment), followed by RGB-D back-projection into robot coordinates. Returns masks, confidence, 3D centroids, axes and extents; object_cloud and overlay expose points and visual checks.

Find reachable hand poses

Agent proposes poses; the control service solves IK when a motion is submitted.

Orientation sampling with damped-least-squares IK from multiple joint configurations (control.reachable_poses). Returns feasible orientations, joint solutions and joint-limit margins without moving the robot.

Check a proposed path

Agent reacts to refused motions and constructs intermediate waypoints.

Sampled trajectory checks (control.check_waypoints): joint limits, robot collision spheres, table clearance, and agent-supplied obstacle or held-object geometry. Reports the failing step and clearance.

Execute coordinated motion

Individual Cartesian hand commands, with service-side IK.

Explicit arm-and-torso commands (control.move_whole_body), using joint-space interpolation or Cartesian waypoint IK with smooth minimum-jerk timing.

To our surprise, more tools did not translate into better overall results in these runs. Mean completion time and model cost both increased in 75% of task/model/stage comparisons.

Task / model

Learning: Δ time / cost

Execution: Δ time / cost

Success rate: original → expanded

Fruit / Opus

-18% / -9%

+15% / +32%

100% → 100%

Fruit / Astra

-2% / +44%

+9% / +66%

100% → 100%

Door / Opus

+22% / +8%

+8% / +26%

100% → 100%

Door / Astra

+18% / +32%

+61% / +56%

100% → 66.7%

Changes are relative to the original interface; “+” means more time or cost. Means include successful runs only, and sample sizes are small. Learning is the initial attempt; execution reuses its saved skill in a fresh session. Time excludes subsequent skill packaging; model-session cost may include in-session writing, but excludes separate skill writing, judging and tool-service costs.

The agents did adopt the supplied tools: all fruit and door attempts used waypoint checks and whole-body motion, and more than 90% used segmentation. The traces show both the work these tools replace and the decisions they leave to the agent:

Perception replaces some calculations but still needs interpretation. In one fruit run, the agent used the 3D centroids returned by SAM3-based perception to set target positions, replacing manual pixel selection and projection for that localization step. It still rejected an uncertain extra basket detection as a shadow and worked out the hand’s alignment. In another run, an uncertain “banana” result prompted another query with “yellow banana” and “yellow fruit” and a zoomed crop. The tool supplies masks and geometry; the agent selects detections and judges whether the grasp worked.

Planning can expand into repeated search and revision. In one fruit execution run, the agent made five reachability queries and nine waypoint checks before its first motion, about 2.7 minutes into the attempt. Those calls occupied only about 23 seconds; the agent also inspected results, recomputed orientations, and revised the approach. Some checks caught paths too close to the table. The run succeeded in 4.79 minutes: the tools returned quickly, but using them still required substantial planning.

The supplied tools replace some helper calculations, while interpreting their outputs and adapting the plan still takes work. Agents continue to write task-specific geometry and pose code; some door runs even bypassed segmentation. These examples do not establish that SAM3 is worse than the model’s vision or that the checks were unnecessary. They show that tool use did not reliably produce faster, cheaper, or more successful task completion.

For the bowl task, the expanded toolbox was still insufficient: all provided-tools trials without simulation failed. One learning run placed the bowl on the rack, but seven attempts to regrasp the rim missed, leaving it unable to return the bowl to the table. The extra tools supplied localization and motion checks, but did not resolve the contact and regrasp decisions needed to complete the task. We next test whether building a simulation helps with this delicate manipulation.

Can building a simulation help?

Take away

Rehearsal can improve the solution, while simulation assumptions limit what a successful test proves.

  • In the successful recording, failed rehearsals led the agent from a diameter grasp to a rim pinch before physical execution.
  • The agent also chooses geometry, friction, and grasp assumptions. A simulated pass needs validation against real contact, support, and release.

Simulation gives the agent a way to test an interaction before trying it on the robot. Since the earlier bowl-rack trials had not completed the task, even with the expanded toolbox, we added an instruction to build a simulation and rehearse the solution first:

You must build a physics simulation of the real scene and run your whole solution in it first, then do it on the real robot. Blender and Isaac Sim (conda env behavior) are installed.

With simulation, agents achieved a 25% overall success rate. In a separate successful recording, shown below, observation, simulation building, and rehearsal took 46.6 minutes, followed by 2.4 minutes of physical execution. The head and wrist views are aligned by task stage.

The agent builds both the scene and the test

The agents used Blender or Isaac Sim with available robot assets, but constructed the task scene and rehearsal code themselves. Their common loop was observe the scene → construct a model → simulate candidate motions → inspect the outcome → revise. In the successful recording, the agent chose Isaac Sim, fitted the table plane from depth, and estimated the bowl and rack geometry from images and point clouds. The resulting model combines observations with assumptions:

Component

Grounded in observations or supplied assets

Chosen by the agent

Robot

Available robot model and current joint state.

Collision representation, joint drives, and replay code.

Task scene

Depth and images of the table, rack, and bowl.

Simplified geometry, bowl wall thickness, and fixed or movable objects.

Contact physics

No measured grasp friction or force in this recording.

Bowl mass, friction, and gripper strength.

Plan and checks

Joint waypoints checked through the control service; simulated bowl pose and tilt.

Grasp strategy, motion sequence, and what counts as a successful lift or placement.

The agent saves the scene, physical parameters, joint waypoints, and replay code as reusable files. But the test is only as complete as its model: the rack is fixed in this example, so the simulation cannot reveal whether a collision would move it. The agent chooses both the plan and the conditions under which that plan is tested.

Use simulation for rehearsal to find the correct solution

The agent did not find the successful grasp in one pass. It first tried squeezing across the bowl’s diameter. When test lifts failed, it adjusted the approach; when those changes still failed, it changed the contact strategy to a rim pinch. Play the edited sequence below to follow selected rehearsals in order, with holds on the outcomes and a final comparison of the two grasps.

Test a diameter grasp

Test. Close the fingers across the bowl’s diameter, then raise the hand.

Result. The fingers slip past the bowl as the hand rises. The bowl stays on the table.

What changes next. Inspect the rendered contact and finger geometry; try changes to the hand’s height, opening, and position.

The final rehearsal also placed the bowl on the rack, released it, regrasped it, and returned it upright to the table. After checking this full sequence, the agent reused the joint waypoints on the real robot and checked camera feedback along the way.

A simulated pass does not guarantee physical success

Grasp retention can be assumed too generously. In a failed trial, the simulation attached the bowl to the hand with a force-limited joint after detecting contact at both fingers. This allowed a complete simulated cycle, but did not establish that friction alone would hold the real bowl. A separate contact-only test showed slippage, and the real test lifts failed.

Geometric errors can change the first contact. In another failed trial, the real hand touched the bowl earlier than the contact simulation predicted. The agent revised the wrist geometry and approach, then rebuilt and rehearsed again. A final simulated cycle passed near the deadline, but the agent never executed that plan. The logs establish a contact mismatch; the proposed wrist-model correction remains the agent’s hypothesis about its cause.

A failed rehearsal still needs to change the next action. In another case, a recovery simulation lost the bowl. The agent dismissed this as an interpolation artifact and continued with real execution; the task remained unfinished and the rack moved.

Simulation can help an agent refine a workable strategy, but its value depends on whether contact, support, and release transfer to the real robot. These exploratory trials also allowed 80 minutes rather than 40, so the success-rate difference cannot be attributed to simulation alone.

Recognizing contact does not reliably lead to safe action

Take away

Recognizing danger does not reliably lead to timely corrective action.

  • The selected clips show contact that went unnoticed, contact mistaken for progress, and recognized risks followed by continued action.
  • Task completion and normal motion feedback do not establish safe execution. Contact, response delay, and intervention need separate evaluation.

We targeted several selected contact incidents alongside the agents' operation. The clips show fingers bending against a door, an arm pressing into a rack, a rack falling off the table, and possible fingertip contact with the tabletop. Some contacts receive no explicit acknowledgment; others are interpreted as task progress. Even when an agent identifies danger, its next action can continue the risky interaction.

Contact went unnoticed

In a fruit trial that reused a saved skill, the hand came down over the banana until the fingertips pressed onto the table. The saved skill had even placed a table obstacle to keep the fingertips off the table. The agent then closed the gripper and checked the wrist camera, but only to see whether the banana was between the fingers: “I've got the banana secured between my fingers now.” Neither its reasoning nor its final report mentions the table. The task succeeded, so nothing in the outcome shows the contact.

Recognized risk, delayed response

While the right hand pressed against the door near the hinge, the agent recognized that the contact risked “high force on that arm” and said it should retract the hand. Its next motion command instead drove the base another 15 cm forward, describing the right arm as a “bumper.” It requested retraction about 48 seconds after identifying the risk. The model could describe the hazard, but that judgment did not promptly constrain its actions.

Contact was mistaken for progress

Another door trial shows a different failure: contact was mistaken for progress. With the fingertips pressing against a stationary door, the agent said it was maintaining contact to keep the door open, then commanded another 4 cm push. It later retracted the hand and corrected its interpretation: the latch was still engaged, and the apparent opening had been movement against the door.

Recognition came too late

The rack trials expose both delayed recognition and whole-body effects. In one trial, a right-hand approach also rotated the torso, swinging the left arm into the rack. The agent worried about that collision while the motion was underway, but continued waiting and checking status; the operator supplied the emergency stop. In a separate trial, the agent recognized that it had knocked the rack off the table roughly 16 seconds after the fall. It announced that it was stopping, but the next recorded call was an observation. No stop command appeared before operator interruption, although it issued no further motion commands.

These cases also show why tool feedback alone was insufficient. The motions that toppled the rack reported normal completion. The agent had modelled rack obstacles and checked earlier trajectories, but its final placement adjustment omitted that obstacle geometry. A successful command or an earlier clearance check did not establish that the next interaction was safe. Safe execution requires the agent to connect what it sees and predicts to a timely change in action. Several selected contacts occurred in trials that ultimately succeeded, so task completion and safe execution need separate evaluation.

Discussion

Given a robot interface and a one-line system prompt, coding agents solved tabletop and mobile manipulation tasks without a prewritten task-specific solution. With the original interface, every fruit and door run succeeded. The agents interpreted images, calculated poses, wrote helper code, recovered from refused motions, and saved procedures for a fresh session. Bowl rack remained harder: the simulation condition achieved 25% overall success, under a longer time budget.

The traces also show where the agents struggle. They propose unreachable poses, misjudge contact, and sometimes interpret an unsuccessful interaction as progress. These errors can involve visual estimates, reasoning, or assumptions in tools and simulations. Speed is another limitation: measured observation-to-next-tool cycles averaged roughly 6–12 seconds. Repeated local checks can therefore dominate task time even when the overall plan is already available.

Better models may reduce these errors and delays, but our tool and skill experiments point to another source of work. Adding tools did not reliably improve performance, and a saved procedure still left the agent writing checks and revisiting geometry. Providing a capability is not enough if the model must repeatedly interpret its outputs and coordinate every step. We should build execution skills that check whether they apply, carry out a procedure, verify its outcome, and handle familiar corrections. The model can then intervene when those checks fail or the situation is unfamiliar.

Safety needs a separate response path. In the contact examples, the agent sometimes missed the hazard; in others, it recognized the risk but continued acting. This suggests that stopping and enforcing motion or force limits should not depend on the next model response. Fast feedback and safety constraints should be enforced independently of the model’s judgment. Task success must also be evaluated alongside unintended contact, response delay, and operator intervention.

The large model still has an important role as a learner. On an unfamiliar task, it can inspect the scene, construct tools, test candidate solutions, and record what works. Simulation can support that process: failed rehearsals led the agent to revise its grasp before physical execution. But the agent also chooses the simulated geometry and contact assumptions. The resulting skill needs validation against real interactions; a simulated pass alone does not establish that it will transfer.

During execution, the model can act as a planner and supervisor: select and combine skills, check progress at meaningful stages, and revise the plan when needed. It can also be the problem solver for unfamiliar scenes or failed skills. This division gives the model responsibility for decisions that need broad context, while controllers and validated skills handle repeated execution and immediate feedback.

These exploratory trials cover a small set of tasks, but they suggest a clear direction: pair stronger models with execution, feedback, and safety mechanisms that reduce the need for constant model supervision. Progress depends on both the model’s capabilities and how the robot system uses them.

Citation

If this post is useful for your work, you can cite it as:

@misc{li2026agentanatomy,
  author       = {Li, Tianyu and Wu, Yi},
  title        = {An Anatomy of Coding Agents Tackling Robotics Tasks},
  year         = {2026},
  howpublished = {Blog post}
}