๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

AI Writes Code Faster Than Uber Can Merge It - Preetam Dwivedi & Manjari Akella, Uber

AI Engineer ยท 2026-11-09 16:00 ยท 27:35

ํ•œ ์ค„ ํ•ต์‹ฌ

Uber๋Š” AI๋กœ PR ์ƒ์„ฑ ์†๋„๊ฐ€ ๊ธ‰์ฆํ•˜์ž merge queue๋ฅผ ๋” ๊ณต๊ฒฉ์ ์œผ๋กœ ์ตœ์ ํ™”ํ•˜๊ณ , ์ผ๋ถ€ ๊ฒ€์ฆ์„ post-merge๋กœ ์˜ฎ๊ธฐ๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฐฉ์‹์œผ๋กœ trunk ์•ˆ์ •์„ฑ๊ณผ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋™์‹œ์— ๋Œ์–ด์˜ฌ๋ ธ๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:04
    ๋ฌธ์ œ ์„ค์ •๊ณผ merge queue์˜ ๊ธฐ๋ณธ ์›๋ฆฌ ๋Œ€๊ทœ๋ชจ monorepo์—์„œ๋Š” ๊ฐœ๋ณ„ PR์ด CI์—์„œ green์ด์–ด๋„ ๋‹ค๋ฅธ PR๊ณผ ํ•ฉ์ณ์ง„ ๋’ค trunk๊ฐ€ ๊นจ์งˆ ์ˆ˜ ์žˆ์–ด, ์—ฌ๋Ÿฌ ๋ณ€๊ฒฝ์„ ์ˆœ์„œ์™€ ์กฐํ•ฉ๊นŒ์ง€ ๊ณ ๋ คํ•ด ๋จธ์ง€ํ•˜๋Š” merge queue๊ฐ€ ํ•„์š”ํ•˜๋‹ค. Uber๋Š” target analysis, probabilistic speculation, large change bypass๋กœ ๋ณ‘๋ชฉ์„ ์ค„์ด๋ฉฐ trunk๋ฅผ green์œผ๋กœ ์œ ์ง€ํ•ด ์™”๋‹ค.
  2. 6:01
    AI๋กœ ์ธํ•œ ํญ์ฆ๊ณผ ๊ธฐ์กด ๋ฐฉ์‹์˜ ํ•œ๊ณ„ AI-generated change๊ฐ€ ๋Š˜๋ฉด์„œ ์š”์ฒญ๋Ÿ‰์€ 90๊ฑด/์‹œ๊ฐ„์—์„œ 130๊ฑด/์‹œ๊ฐ„์œผ๋กœ ์•ฝ 44% ์ฆ๊ฐ€ํ–ˆ๊ณ , P95 land time์€ 30๋ถ„์—์„œ 3~4์‹œ๊ฐ„์œผ๋กœ ์•…ํ™”๋๋‹ค. trunk๋Š” ๊ณ„์† green์ด์—ˆ์ง€๋งŒ, ๊ฐœ๋ฐœ์ž๋Š” ๋จธ์ง€ ๋Œ€๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์‚ฐ์„ฑ์ด ํฌ๊ฒŒ ๋–จ์–ด์กŒ๋‹ค.
  3. 7:01
    ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋Š˜๋ฆฌ๊ธฐ ์œ„ํ•œ ์„ธ ๊ฐ€์ง€ ๊ฐœ์ž… admission gating์œผ๋กœ peak hour์˜ expensive change๋ฅผ ์ฐจ๋‹จํ•ด 20% ์ด์ƒ throughput์„ ์˜ฌ๋ฆฌ๊ณ , deferrals๋กœ ๊ฑฐ์ ˆ ๋Œ€์‹  ์žฌ์‹œ๋„ ๋Œ€๊ธฐ์—ด์— ๋ณด๊ด€ํ•ด ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ๊ฐœ์„ ํ–ˆ๋‹ค. ์ด์–ด conflict relaxation์—์„œ Jaccard scoring์œผ๋กœ ์ถฉ๋Œ ๊ฐ•๋„๋ฅผ ์ •๋Ÿ‰ํ™”ํ•ด ์•ฝํ•œ ๊ฐ„์„ ์„ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ ๋ณ‘๋ ฌ์„ฑ์„ ํšŒ๋ณตํ–ˆ๋‹ค.
  4. 18:01
    ๊ฒ€์ฆ์„ ๋‚˜์ค‘์œผ๋กœ ๋ฏธ๋ฃจ๋Š” ๋Œ€์‹  ์‚ฌํ›„ ๋ณด๊ฐ• ์ถฉ๋Œ ์™„ํ™”๋ฅผ ๊ณผ๊ฐํ•˜๊ฒŒ ์ ์šฉํ•œ ๊ฒฐ๊ณผ ์ฒ˜๋ฆฌ๋Ÿ‰์€ ์ตœ๋Œ€ 250๊ฑด/์‹œ๊ฐ„ ์ˆ˜์ค€๊นŒ์ง€ ๋Š˜์—ˆ์ง€๋งŒ, ์ผ๋ถ€ ์กฐํ•ฉ์€ ์‚ฌ์ „ ๊ฒ€์ฆ๋˜์ง€ ์•Š์€ ์ฑ„ trunk์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด post-merge validation ์‹œ์Šคํ…œ์ธ stowpipe๊ฐ€ landed commit์„ ์ง€์† ๊ฒ€์ฆํ•˜๊ณ , ์‹คํŒจ ์‹œ on-call์ด revert ๋˜๋Š” fix๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.
  5. 24:01
    ์„ฑ๊ณผ์™€ ๋‹ค์Œ ๋‹จ๊ณ„ ์ด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ์œผ๋กœ peak ์‹œ ์•ฝ 300 lands/hour์™€ 30๋ถ„ P95 land time์„ ๋‹ฌ์„ฑํ•˜๋ฉฐ, January ๋Œ€๋น„ 233% ์ˆ˜์ค€์˜ ๊ฐœ์„ ์„ ์–ป์—ˆ๋‹ค. ๋‹ค์Œ ๊ณผ์ œ๋Š” ๊ด€๋ จ ๋ณ€๊ฒฝ ๋ฐฐ์น˜, service ๋‹จ์œ„๋กœ ๋” ์„ธ๋ถ„ํ™”๋œ green ํŒ์ •, ๊ทธ๋ฆฌ๊ณ  broken trunk ๋ณต๊ตฌ ์ž๋™ํ™”๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

  • AI๋กœ ๋ณ€๊ฒฝ ์ƒ์„ฑ ์†๋„๊ฐ€ ๋นจ๋ผ์งˆ์ˆ˜๋ก, ๋ณ‘๋ชฉ์€ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์•„๋‹ˆ๋ผ ๋จธ์ง€์™€ ๊ฒ€์ฆ์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ์ „์ œ๋กœ ์›Œํฌํ”Œ๋กœ๋ฅผ ๋‹ค์‹œ ์„ค๊ณ„ํ•ด์•ผ ํ•œ๋‹ค.
  • ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋Š˜๋ฆฌ๋ ค๋ฉด ๋ชจ๋“  ๋ณ€๊ฒฝ์„ ๋™์ผํ•˜๊ฒŒ ๋‹ค๋ฃจ๊ธฐ๋ณด๋‹ค, ๋น„์šฉ์ด ํฐ ๋ณ€๊ฒฝ๋งŒ ๊ณจ๋ผ ๋” ๊ฐ•ํ•˜๊ฒŒ ์ œ์–ดํ•˜๋Š” ์ •์ฑ…์ด ํšจ๊ณผ์ ์ด๋‹ค.
  • ์‚ฌ์ „ ๊ฒ€์ฆ์„ ์ „๋ถ€ ๊ณ ์ง‘ํ•˜๊ธฐ๋ณด๋‹ค ์ผ๋ถ€๋ฅผ post-merge๋กœ ์˜ฎ๊ธฐ๊ณ , ๋Œ€์‹  ์‚ฌํ›„ ๊ฒ€์ฆยท๋ณต๊ตฌ ์ฒด๊ณ„๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ „๋žต์ด ํ˜„์‹ค์ ์ธ ๊ท ํ˜•์ ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.