Slides: Automating Large Scale Refactors with Parallel Agents - Robert Brennan, OpenHands

Source Video

Automating Large Scale Refactors with Parallel Agents - Robert Brennan, OpenHands

Relationship To World's Fair 2026

These slides are extracted from a public AI Engineer YouTube video connected to World's Fair 2026. Speaker-matched clips are supporting context unless later confirmed as exact session recordings; official livestream recordings are day-level/event-level source material.

Related Scheduled Sessions

Extracted Slides

slide-001.jpg

OCR text:

Automating Massive |

Refactors with Agents |

(3,0; OpenHands

slide-002.jpg

OCR text:

sc ened iiedinn teline Ticeniediae elena Do utyewr om € EDO ee eh Orne

° | re 5 ae Um

a o re

Cn ee ie ae ee ee 00000) 2 eo we om Og

ne About Us

a Mz |

= ,

- EB Robert Brennan OpenHands *

CEO and Co-founder, An MiTlicensed

‘ ve OpenHands coding agent

slide-003.jpg

OCR text:

[ee Oo ot Briggs om ¢€ Tw Pr i a era

ry Le is

7 iG a a to 3@ ™ ay Pre

; ; 2 ;

Di a ie ae eae ee O000O* «© fo we om 6 B

NE npn cert tune Neer a

2 A Brief History of LLM Coding

— 2022: Context-unaware code snippets e

"| oe e “Write python for bubble sort” ?

Ta 2023: Context-aware code generation °

ones @ 2

= e® ‘Write a suite of unit tests for this function’ 2

‘ 2024: Single agents for atomic coding tasks. .

bee e “Implement the GET /products endpoint and use & %

| curl to validate that it works”

vo oe 2025: Parallel agents for large-scale work ee ee ee

. . e@ “Migrate our app from Redux to React Query”

5 coven ene no yan yan ode)

slide-004.jpg

OCR text:

a he oe BS ktm oe € ED ws ee a ret La

° Cn rr aghan

r ra ee

; ; ; 9 ;

Deine Gee ee ee C0000’ 2 8 oO ee om

- Evolution of AI-Driven Development

. ~~ Plugins + IDEs + Local Agents - »* CloudAgents + Orchestration ;

- a, OpenHand

=) CLI Pp Cloud SDK :

- ao

|

- ae es

_ ep en ccorson [I co

"eee HS >

_ Tactical Median Developer Early Adopter Agentic

: ccs wash weeee ns 2025-11-22 14:38:38

slide-005.jpg

OCR text:

4

] er:

aaa

Ce Ie na rial

— b a is ant at fl

ie es _

: 7" , 2025-11-22 14:41:33

JFK 27-B1.300 jj ;

slide-006.jpg

OCR text:

[i i co rd QZ. tee ehr ie ¢ OA 26 mF ew toy

a Cn aa

a soe Cae 4 nT? any

eT ae ee * O2O00? = & oO wa - om. + BR

~ ee ; | | | |

Coe Showcase: Automating Massive Refactors

z= Chick to view video

_™ . 6) ¥ rs ;

weve 7 d

oe |

slide-007.jpg

OCR text:

Cn i oc rd Re to ee 2 Oo. ee ee eerie

oy 1. a a

as : °c bs as a

rerio O0000° 2% o -—- om +

wae “ . . . :

Fa Showcase: Automating Massive Refactors

|| Chick to wew video 2

Vv . = | .

ee ~

slide-008.jpg

OCR text:

° see

vat ieee ry

camith48/OpenHends =

- Deperrient » = Obce5 Details & LOA Metacata

Stats mw tae

oz eS

oO ~ Code Metrics 14 tees) ‘

teB3a " tt

- 0 66.0 $96

SeceOs: $93 138

b794a3 8166 0.20

. £]

Depersencws (9)

; Na

r A c > Dependents (4)

D

1 Li L/ ~~ odes (4)

} ” OOONIRON20D Ver MAN ton on +

—_ .

Fad

Lg . .

OPENING EDD Lereetiditaryn emote workinmce Dy +

2025-11-22 14:54:08

slide-009.jpg

OCR text:

O Peo

Pe roy Ca enn ne

on CR aE CULT siete kiya een ra rene orc

6 crsmea

iD 1 eee ee ee Be B gli Pee

2025-11-22 14:58:18

A 7

slide-010.jpg

OCR text:

2025-11-22 14:59:08

slide-011.jpg

OCR text:

, ne i he eo Me i he fF Oa PC ee a ed

° ee ee ge %

F ; ; rae’ mF

, , Ps

Uae Oe ee ieee O0000" © Bo Home + ®

2 Me | aN FE LT, EES Gee ee Re sp

oo Task Decomposition

. “ Break your end-goal down into tasks that:

yee e Are one(-ish) shottable .

“ewe e Fitina single commit , a ad 2

vo : e Can be executed in parallel oo, 7 :

eee e Can be verified by a human as correct ~f ed _* »

a ; . 2

4 / or incorrect °

ee e Clear dependencies/ordering between

. tasks

(Cm)

- _.

; can vamgene son 2025-11-22 15:00:23

slide-012.jpg

OCR text:

=: =] f n y

td

, my \,. on

: 4

; i“ and

b Seer ol Bemege Aaa ;

| ;

aR ee

slide-013.jpg

OCR text:

Gre hie tm tetery Beemenete Bitten tet Weim tp DM bes ote ¢g ED 56 mF tee rey

a a) fo) ‘ 7

. e 2 ao a a

. 7 . 2

2025-11-22 15:12:11

slide-014.jpg

OCR text:

CO oe ok ne a Sow tpeercain ¢ Ow 26 mw OF he tee ate

° [ | oad a a 64

i Ca ane te

, F . ; Po

tw) ee be

rede caer 5 5 = a

cve-demo-ai-engineer

2025-11-22 15:13:01

slide-015.jpg

OCR text:

i eo er oo Qiwiare rte ¢€ EO os, or rar)

e ta! ce] a + ey

z Ca) ry * ue

. . . z

( ) one cve-demo-ai-engineer aT

Code wade eee ee a aaee aa Ba eas ialiad teas

tea or n Cance! changes Commit changes...

2 ae ad “tares 8 ad aad

Ps eT ee

te ee ee rece a ee

Fe ae ro ae

2025-11-22 15:13:51

slide-016.jpg

OCR text:

Ce ee to i eS Qiwsse neta ¢€ ED SS, 28 wm FP we ISR tis

ca Cn] Qo toe * Me

5 Car ee

F " F e ;

Nard

foresee a aes eras ao aes oars reat re Gnk sethn as AP moe

PE Beery eat

eae vias microagents

ore

aa tet)

re eee

Banta

rr

remy eae’

amie ene oa tea eta

Loe

Paar

Cre eee

eer

Cat

car ace Oa

oe erence id

2025-11-22 15:14:21

slide-017.jpg

OCR text:

0 ee ee a D : i en oe oe — Pe ee i ee had

ra a] ee

_ : Car 7 be . iB

r . F a ,

eels New personal access token (classic)

een Nera

Bape on aad ae ont Od a aT TPT aa Ree Ta ak Roar Le Core es Ce

Serer Tren ean en cae aitelY felt fungal faa co Ocean ea re oan Gals eit es eo] f

for Goan HT TES of canon used te

cane ee eee

Llc

Bele

Expiration

RE CKLTER Craver sys yee

Select scopes

Sooper: cele te alesse for personal toners

iPro)

roms hee

iy emer ears Caza

[oe Sea bs

be te oot ears 14.

Pana mR nara CS

worktiow

2025-11-22 15:14:46

Paces E Le Tse

slide-018.jpg

OCR text:

j

|

i

i

a J

| 4

ad meted cre

e! ,

an

an

,. 3 i wa

i a, 8 Onenrtandal

z

a al

7 . iow ' 2025-11-22 15:15:11

JFK27-B1.300 ,™ a ' a

slide-019.jpg

OCR text:

, eS Gr awrats- ¢€ HF &, a i a See

) Cn) fo) eS %

a °c - 7 rs

r . P ms E

ord ,

SESS Ea sse UC [ale

a

i 2025-11-22 15:15:57

slide-020.jpg

OCR text:

Ce er i ec Qostagwee ee. ¢ EA or ee a rr aro

oa ee ©} oo

sad _ Cary re F F

, , , P ,

Pre rSterase OO000" 2 Bo ome

ee eh we ee me Ne moe A OP RF te ee et beer Ree ye

we Vibecoding CVE Remediation: Setup

e

cena Access this presentation to copy/paste! dub.sh/openhands-workshop

e Create a GitHub repo to hold your work ;

Be / ® Get a GitHub token *

github com, settings, lakens 2

‘ Scopes repo, workflow 2

—_ export GITHUB_TOKEN=...

= e Getan LLM Token “

Mee | $10 free by stgning up for OpenHands »

rT @ = app.all hands.dev/settings/apr-keys Pa

Anthropic, OpenAl, etc will also work

» export LLM_API_KEY-...

| e Start an Agent Server

eo 7 docker run -p 8000:86086 ghcr.io/openhands/agent-server :314348a-python!

ee e Create AGENTS md, cursorrules, or an OpenHands microagent

Point to docs openhands dev/sdk and github com/QpenHands/soltware-agent-sdk

g CeO 2025-11-22 15:17:24

slide-021.jpg

OCR text:

c\'[oocepted]'}

ith debug to see polling in action

('asctine'

"levelname'

'INFO'.'name

'sockets.py",

'lineno':

'mossage

'openha

nds.agent_server.sockets',

Event Websocket Connected:922d8427-7e27-49a4-90d3-b16e7284455c*)

filename

file operations,and actions!

2825-11-2219:18:10.180,1evenae':“INF0',nme

'uvieor

houldnow see **real-tise status updates

n.access

client_addr':null,request_line*:null,status_code

'2825-11-2219:18:18,181*,1evelnome'INF0'.

null)

('asctine

'uvicor

n.occess'

cllent addr':null,request line':null,*status_code

null)

59K

('asctime'

client.addr'

NT.,T,

null,

"nane

'uvicor

n.access'

null.

'request.line'

`levelnane'

`INFO'

"statun.code"

'openha

null)

nds.agent_server.sockets",

'asctime

'filename

'sockets.py'.

'lineno"

"name

ebsocket d1sconnected:922d8427-7c27-49a4-90d3-b16e7284455c)

'message

'Event

'asctime

"levelname'

`INFO'.

nds.agent_server.sockets',

'filename

'sockets.py'.

'lineno':

"name`

'openha

*Event websocket disconnected:fc4aB483-abfc-45eB-Bab8-ce58dB558615)

'osctime

'INFO'

nds.agent_server.sockets',

'filename'

'sockets.py'.

"lineno'

openha

“Event websocket disconnected:bded8557-6ebf-4a73-996e-535caBfecec4')

('asctime'

levelnane

'INFO'

nds.agent_server.sockets'.

"filename'

'sockets.py'.

'lineno':8s.

'message

'openha

Event websocket disconnected:6ale94f5-g2Ba-48fe-a194-4f2aed5abe4a)

C('asctine

`filename'

'server.py'.

'lineno′:264,

'levelname

'message'

'INFO'

orn.error'

'Shutting do

uvie

('asctine'

'Levelnane':

"INFO'.

Waiting for appllo

'name':

'uvicor

n.error'

"filena

'on.py".

1ineno:67,

'message'

mversatsoc error(8]:

STr

ation shutdown,')

C('asctine':

2825-11-2220:17:36.417','1evelnae:WARNING

penhands.agent_server.vscode_service',

"filename'

'vscode_service.py'.

"'name'

onvereatiorxrroe(0)

vsCode server did not stop gracefully.killing proce

neno':78,

'sessage':

update step

mith state_lock

('asctine'

2825-11-2228:17:36,428,1eve1name:INF0′,name*:uv1cor

-devbex

10:180 git checkout

-/git/cve-ge

n.error',

'filename'

"on.py".

1ineno:76,essage:'Appication shutdo

-devbox-/git/cve

(astime:*2825-11-2228:17:36,428.1evelnae:INF0

wncomplete.`}

"filename':

`nane':

:'uvicor

direnv:unloading

10:19)cd

n.error',

'server.py'.

1ineno:94,*messge

'Finishedserve

edo-devbox-/git

process[7].color_message':

Finished server processuee1b36ndlu

28:17)ghclone rbren/ove-demo-ai-engineer

Exoeption ignored in:function BaseSubprocessTransport.del..at Bx75e25s

1b[0]')

Cloning into'cve-deno-al-engineer

eote:Enumerating objecte:8, done.

Traceback (most recent call last):

69b748-

Countingobjects:1ae(8/8),done

Conpressing ob]ects:10e(4/4),done

F1le*asyncio/base.subprocess.py,1ine 184.in close

F1leasync1o/base_subprocess.py,1ine 126,1ndel.

renote:Tota]8(detae).reused(delta a),pack-reu

F1le'asyncio/unix.events.py

File*asyncio/unix.events.py”

1ine 568,in close

Receiving cbjects:18en (8/8).done.

1ine 592,in_clo

2017)cdcve-deno-a1-engineer/

devbox-/git

File'asyncio/base_events.py"

line 799,in call soon

stat:canot statxgit/FETOHEAD:

Nosuch file or directory

File'asyncio/base_events.py'

1ine 545.in_check_closed

RuntineError:Event loop is closed

git/cve-d

slo+

edo-devbox

2h32±59s

174.138.76.92d1sk

Z2

epu

:8-bash*

slide-022.jpg

OCR text:

ockets',fllenane*:'sockets.py”

1ineno:53,essage

Event webaocket Connected:fc4a

483-a6fc-45e0-8ab8-ce58d0558615')

('aectine':

2025-11-2219:18:10.173',1evelnaeINFO°

"name'

'uvicorn.error'.

e':

'wsproto.inplpy'.

11nno:259,mesge*172.17.0.1:36182

('asctine':

2825-11-2219:18:18,174'levelnome':

.ONT.

f1lename:sockets.py”.

1ineno:53,message

`none'

openhands.agent_server.s

Bb77cd63-2891-4358-9ad3-fa4afbf7bcc9

ockets',

Event websocket Connected:922d8

run openhands--resune 8b77cd53-2e91-4358-9ad3-fa4afbf7bcc9 to resume this conversation

427-7c27-49a4-98d3-b16e7284455c')

`C

("asctine'

2025-11-2219:18:10,188,*1evelnam

'INFO'.

direnv:1oading-/git/cve-demo-2/.envrc

ddr:null,

request line:null,“status code:null)

'uvicorn.access'

'client

direnv:export +GITHU8_TOKENLLx_APIxEY

('asotime'

2025-11-2219:18:10,181,1evelname

"INFO'.

uvicorn.access'

in2h1841

'requeet_line':null,status_code'

null)

"client

-derbox

openhands*c

addr'

null,

0T10S0,)

'INFO'

-derbox-/git/eve-demo-22main+

Ttnu:.ppe

request.line:null“status.code*

null)

'name'

'uvicorn.access'.

'client

28:18cd./cve-deno-ai-engineer/

(asctime':2825-11-2219:18:44,948

'filename"

"lineno":

'levelna

direnv:unloading

'INFO'

openhands.agent.server,s

2d8427-7c27-49a4-98d3-b16e7284455c)

ockets'

'sockets.py'

message"

Event websocket disconnected:92

do-devbox

-/git/cve-

(as0t1me':'2825-11-2219:18:44,948',

'INFO'

'socketo.py'

'openhands.agent.server.s

4a8483-a6fc-45e8-Bab8-ce58d558615')

"filenase':

'lineno*:85,

'nessage'

Event websocket disconnected:fo

versation.error[]

versatior

('asctime*;'2825-11-2219:18:44,948','1evelne

'sockets.oy'.

.OI.

'openhands.agent_server.s

ockets'

'filene

'linene*:85,

'nessoge'

'Event websocket disconnected:bd

Update step

(asctine:2025-11-22 19:18:44.948,*1evelnam

edB557-6ebf-4a73-996e-535ca8fecec4)

ith state lock

'sockets.py'.

lineno:Bs,message'

'INFO'

'name':*openhands.agent_server.s

devbox

11s

ockets',

Event ebsocket disconnected6a

Be94f5-928a-48fg-a04-4f2aed5abe4a)

-devbox

C(asctime':2825-11-2228:17:31.3881evelname':INF0

19:19)cd

ae':'server.py'.

"nar

"uvicorn.error",

'filen

direnv:unloading

('asctime

'on.py"

1ineno*:67.essegewasting for ppl1cation shutdown.)

`INFO'.

nme

'uvicorn.error",

'filenas

20:17) gholone rbren/eve-deno-al-engineer

devbox

-/gtt

Cloning into*cve-deno-ai-engineer'

C(act1me':*2025-11-2220:17:36,417,1eve1na

vscode_servicepy

"WAANING','name

'lineno′:78,'es#ge

jasluabespupquado,

Enunerating objects:8,done.

"filename':

vSDude server

enote:

Counting objects:1ee (8/8). done.

did not stop gracefully.killing process)

('osctime'

'lineno':76,'message*;

Application ahutdown complete.)

name':*uvicorn.error`,

'fileno

Conpressing objects:1een(4/4).done

Total8(deltaa).reusede(deltaa).pack-re

'on.py'

enote:

(`asctine

'levelname'

'INFO'.

"name`

'server.py

'lineno:94,message:Finished server process[7l*,color.message

'wicorn.error',

"fslena

Receiving cbjects)1ees(8/8).done

te/-xogaap-op

nished server process[Lueetb[36ntdlub1b[an]’)

'F1

20:17)cdcve-deno-ai-engineer/

Exception ignored in:<function BaseSubprocessTransport._del

Tracebock (most recent call last):

atax75e25a69b748

-devbox-/git/eve-d

0-at-engineermain+

Fileasyncio/base_subprocess.py

Fijeamyncio/base.aubprocess.py,1ine184.1n clos

1ine 126,in_del

total28k

File*asyncio/umix.events.py”.

File'asyncio/urdx.events.py"

4root docker4.ekNov2228:17

line 568,

Iine592,

inclose

drxr-xr-x12rootroot

Fileasyncio/base_events.py

inalose

7root docker 4.BkNov 2220:17

4.BKNov2228:17

Line 799.

tncall.soon

3root docker4.kNov 222:17

.git

File'asyncio/base.evente.py

1ine 54s,in_check.closed

1root docker

Runtimerror:Event loop in cloed

23 Nov 2228:17 READE.md

edo-devbox-2h32n59s

-/git/cve-de

d-36)174.138.76.92d1k

slide-023.jpg

OCR text:

[i ee ee, a Dd QT Beet tea g ow Pe rr tard

od Ln! ce] o a :

i 5 Cae are et

r ey F

S&2& OpenHands so ” OF Uperrurauopscninds

(aervem feb GU tLe

Be ¢ On thn page

Lay a

ME ee ee

Wperrtanets Coad wen yaa

ae Quan Stem tet ine ee

tates

Getting Started

caesenyy snacmcoines

+ Executetes Beery Uteng Doctor

Fa a catenin

Req e Pyro CMe aed nn stale

tnetat Operands

ve tool tratatt dopennsnas

Run Opentands.

Upgrade Opentiands

sR gyrate eaten ay

se su tees : 2025-11-22 15:18:39

i -

slide-024.jpg

OCR text:

Cn co eh or Ld QM ket ate gg Oo. ee es ere

° [| co) on . * f

. © 8 Tbe Es

, ‘ A a &

| eae wren

of

=

ry

a

ry

2025-11-22 15:19:04

Slide-Derived Subjects To Review

Subject extraction uses video title, related session titles/descriptions, transcript context, and OCR text when available. OCR is best-effort and should be reviewed against the embedded slide images.