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
- No individual scheduled session mapping has been assigned yet; treat this as an event livestream deck.
Extracted Slides

OCR text:
Automating Massive |
Refactors with Agents |
(3,0; OpenHands

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

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)

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

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 ;

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 |

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 ~

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

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

OCR text:
2025-11-22 14:59:08

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

OCR text:
=: =] f n y
td
, my \,. on
: 4
; i“ and
b Seer ol Bemege Aaa ;
| ;
aR ee

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

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

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

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

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

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

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

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

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*)
filenamefile 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*

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

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 -

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.