Merge Is the Bottleneck - Prasanna Sankar, Vorflux
ํ ์ค ํต์ฌ
AI ์์ด์ ํธ์ ๋ณ๋ชฉ์ ์ฝ๋ฉ ์์ฒด๊ฐ ์๋๋ผ ํ๊ฒฝ ์ฌํ, ๊ณํ, ํ ์คํธ, ๋ฆฌ๋ทฐ, ๋จธ์ง, ๊ทธ๋ฆฌ๊ณ ์์ ์ฐฉ์๊น์ง์ ์ ๊ณผ์ ์ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ๋ฐ ์์ผ๋ฉฐ, ์ด๋ฅผ ์๋ํํ๋ฉด ๊ฐ๋ฐ์ ๊ฐ์ธ์ ํ์ดํ์ด ์๋๋ผ ํ ์ ์ฒด์ ์ด์ ๋ฌธ์ ๋ก ๋ฐ๋๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:00
Prasanna์ ๋ฐฐ๊ฒฝ๊ณผ ๋ ๊ธด ์์ด์ ํธ ์์ ์ผ๋ก์ ์ด๋ ๊ฒฝ์ ํ๋ก๊ทธ๋๋ฐ์์ ์ถ๋ฐํด ๋๊ท๋ชจ ํ๊ณผ ์ฐฝ์ ์ ๊ฑฐ์น๋ฉฐ, ๊ฐ์ธ์ ์ํฅ๋ ฅ์ ํค์ฐ๋ ๋ฐฉ๋ฒ์ ๊ณ์ ์ฐพ์์จ ํ๋ฆ์ด ์๊ฐ๋๋ค. ๋ชจ๋ธ์ด ๋ช ๋ถ์ง๋ฆฌ ์์ ์ ๋์ด ๋ ๊ธด ์์จ ์์ ์ ์ํํ๊ธฐ ์์ํ๋ฉด์, ๋ ๋ง์ ํ ํฐ๊ณผ ์ถ๋ก ์๊ฐ์ ์จ์ ๋ ํฐ ์์ฐ์ฑ์ ๋ด๋ AI coworker์ ํ์์ฑ์ด ๊ฐ์กฐ๋๋ค.
-
3:46
ํด๋ผ์ฐ๋์์ ๊ฐ๋ฐ ํ๊ฒฝ ์ฌํํ๊ธฐ ํด๋ผ์ฐ๋ ์์ด์ ํธ๊ฐ ์ ๋๋ก ๋์ํ๋ ค๋ฉด ๋จ์ผ ์๋น์ค๋ง์ด ์๋๋ผ ๋ก์ปฌ ํ๊ฒฝ ์ ์ฒด๋ฅผ ๊ฑฐ์ ๊ทธ๋๋ก ๋ณต์ ํด์ผ ํ๋ค๋ ์ ์ด ํต์ฌ์ผ๋ก ์ ์๋๋ค. EC2 ์ธํ , ํฌํธ ์ฐ๊ฒฐ, ๋น๋ฐ๊ฐ, ์ธ์ฆ, seed data๊น์ง ํฌํจํด ์ด๊ธฐ ํ ํฐ์ ๋ค์ฌ์๋ผ๋ ์ฌ์ฉ์ ๊ฐ๋ฐ ํ๊ฒฝ์ ํด๋ผ์ฐ๋๋ก ์ฎ๊ธฐ๋ ๊ณผ์ ์ด ์ค์ํ๋ค.
-
5:10
๊ณํ ๋ ธ๋ ฅ๊ณผ ์์กด์ฑ ์ธ์ ์ค์ผ์คํธ๋ ์ด์ ์ฌ๋์ด ์๊ฐ์ ๊ฐ์ฅ ๋ง์ด ์ฐ๋ ๊ตฌ๊ฐ์ ์ค์ ๊ตฌํ๋ณด๋ค ๊ณํ ๋จ๊ณ์ด๋ฉฐ, ์ด ๋จ๊ณ์ ๋ ๋ง์ ์ถ๋ก ์์์ ํฌ์ ํด์ผ ํ๋ค๋ ๊ฒฐ๋ก ์ด ๋์จ๋ค. ๋ณ๋ ฌ sub agent๊ฐ ๋ ์์ธํ ์ค๊ณ์ ์ํคํ ์ฒ๋ฅผ ๋ง๋ค๊ณ , ์์กด์ฑ ๊ทธ๋ํ๋ฅผ ๋ฐํ์ผ๋ก ๋ ๋ฆฝ ์์ ์ ๋๋ ์ฒ๋ฆฌํ๋ ๊ตฌ์กฐ๊ฐ ํจ์จ์ ์ด๋ค.
-
6:41
๋ธ๋ผ์ฐ์ ํ ์คํธ, ๋ นํ, ์คํ ์ด์ง ๋งํฌ ํ ์คํธ๋ ๋ก์ปฌํธ์คํธ ์ค์ฌ์ผ๋ก ํ๋ฉด ํด๋ผ์ฐ๋ ์ ํ์ด ๋งํ๋ฏ๋ก, ๋จธ์ ์์ browser testing๊ณผ end-to-end testing์ ์ง์ ์ํํด์ผ ํ๋ค. ๊ธฐ๋ฅ์ด ์ค์ ๋ก ๋์ํจ์ ๋ณด์ฌ์ฃผ๋ ์์๊ณผ ๋ฐ๋ก ํด๋ฆญํด๋ณผ ์ ์๋ staging link๋ฅผ ์ ๊ณตํ๋ฉด, ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ์ฌ๋์๊ฒ ๋ช ํํ ์ ๋ฌํ ์ ์๋ค.
-
7:44
๋ ๋ฆฝ์ ๋ฆฌ๋ทฐ์ merge queue ์ฝ๋ ๋ฆฌ๋ทฐ๋ ์ฌ๋ฌ ๋ชจ๋ธ์ ๋์์ ํ์ฉํด ๋ ๋ฆฝ์ ์ผ๋ก ๊ฒํ ํ๊ฒ ๋ง๋ค๋ฉด ๋ณ๋ชฉ์ด ํฌ๊ฒ ์ค์ด๋ ๋ค. ๋์์ ์ฌ๋ฌ PR์ด ์ด๋ฆฌ๋ ํ๊ฒฝ์์๋ merge queue๊ฐ rebasing๊ณผ master ์ ๋ ฌ์ ์๋์ผ๋ก ์ํํด, ์ฌ๋์ด ์ผ์ผ์ด ์ถฉ๋๊ณผ ์์๋ฅผ ๊ด๋ฆฌํ์ง ์์๋ ๋จธ์ง๊ฐ ๊ฐ๋ฅํด์ง๋ค.
-
8:48
๋ณ๋ชฉ์ด ํ๋ก์ ํธ ๊ด๋ฆฌ๋ก ์ด๋ ๊ธด ์๊ฐ ๋์ํ๋ cloud agent๊ฐ ๊ฐ๋ฅํด์ง๋ฉด์ ํ ๋ฒ์ ์ฒ๋ฆฌํ ์ ์๋ ๋ณ๋ ฌ ์์ ์๊ฐ ํฌ๊ฒ ๋๊ณ , ๋ณ๋ชฉ์ ์ฝ๋ ์์ฑ์์ ํ๋ก์ ํธ ๊ด๋ฆฌ๋ก ์ด๋ํ๋ค. ๋ฌด์์ ์์ํ๊ณ ์ด๋ค ์์๋ก ์งํํ ์ง, ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ์ธ์ ์ ์ด๋ป๊ฒ ์กฐ์จํด ์ค์ ๋ก ๋๋ด๋์ง๊ฐ ํต์ฌ ๋ฌธ์ ๊ฐ ๋๋ค.
-
10:39
๊ธฐ์กด ์ ํธ์์ ์์ ์์ํ๊ธฐ ๊ณ ๊ฐ ํตํ, production alert, ์ฝ๋๋ฒ ์ด์ค ์์ ํ์ ์ฒ๋ผ ์ด๋ฏธ ์กด์ฌํ๋ ์ ํธ์์ ํด์ผ ํ ์ผ์ ์๋์ผ๋ก ๋ฝ์๋ด๋ ๋ฐฉ์์ด ์ค์ํ๋ค. ์ฌ๋์ด ๋งค๋ฒ ๋ณต์ฌํด์ ์์ํ์ง ์์๋ ๋๋ end-to-end plus one ์์ ์ owner์ ํ์ ๊ตฌ์กฐ๋ง ์์ผ๋ฉด autopilot๋ก ๋๋ฆด ์ ์๋ค.
-
12:58
๋ฌด๋ถ๋ณํ ์๋ํ๊ฐ ์คํจํ๋ ์ด์ ๋ชจ๋ ์๋ฆผ์ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํ๋๋ก ๋์ง๋ ๋ฐฉ์์ PR ํญ์ฃผ, ์ก์, ์๋ชป๋ silencing, ์๊ธฐ์น ์์ ๋น์ฉ ์ฆ๊ฐ๋ก ์ด์ด์ ธ ์ ๋ขฐํ ์ ์๋ค. ์ค์ํ ๊ฒ์ ์๋ฌด๊ฑฐ๋ ์๋ํํ๋ ๊ฒ์ด ์๋๋ผ, ์ ํ๋ ์์ฐ ์์์ ์ฒดํฌ์ธ๊ณผ ๊ฒ์ฆ์ ๋ฐ๋ณตํ๋ฉฐ ์ ๋ขฐ๋ฅผ ์๋ common sense ์๋ bot์ด๋ค.
-
14:17
Autobot, ์์ ๊ถ, ๊ณ ๊ฐ ์ง์ ์ฌ๋ก Autobot์ ๋ชฉํ์ ํ ์ฑ๋์ ๋ฐ์ ์ค์ค๋ก ์์ ์ ์์ํ๊ณ , opinionated bot directory๋ฅผ ํตํด ๋ฐ๋ก ์ธ ์ ์๋ ์ด์ ๋๊ตฌ๋ก ์ ๊ณต๋๋ค. on-call triage, CI ๊ฐ์, ํ๋ก์ ํธ ๊ด๋ฆฌ, ๊ณ ๊ฐ ํตํ ํ follow-up ์์ฑ๊น์ง ์ฐ๊ฒฐ๋๋ฉฐ, ์ฌ๋์ ์ฃผ๋ก ์น์ธ๊ณผ ํ๋จ์ ์ง์คํ๊ฒ ๋๋ค.
-
16:56
์ค์ผ์คํธ๋ ์ด์ , ์ด์ ํ๊ณ, ๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ณ๋ชฉ ์ต์ ๋ชจ๋ธ์ ๊ฐ์ ์ ๊ฐ๋ณ ์์ ๋ณด๋ค orchestration์ ์์ผ๋ฉฐ, ๋ฉ์ธ ์์ด์ ํธ๊ฐ ์ธ์ ์ ์์ํ๊ณ sub agent๊ฐ ๋ฌด๊ฑฐ์ด ์ผ์ ๋งก๋ ๊ตฌ์กฐ๊ฐ ๋ค์ ๋จ๊ณ๋ค. ๊ฒฐ๊ตญ ํ์ฌ๋ ๋ ๋ง์ ๋ฃจํ๋ฅผ ์๋์ผ๋ก ๋๋ฆฌ๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ๊ณ , ๋จ๋ ์ธ๊ฐ์ ์ญํ ์ zero to one๊ณผ ์๋ก์ด ๋ณ๋ชฉ์ ์ฐพ๋ ์ผ์ด๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ํด๋ผ์ฐ๋ ์์ด์ ํธ๋ฅผ ๋ง๋ค ๋๋ ๋ชจ๋ธ ์ฑ๋ฅ๋ณด๋ค ๋จผ์ ๋ก์ปฌ ํ๊ฒฝ ์ฌํ, ํ ์คํธ, ๋ฆฌ๋ทฐ, merge ํ๋ฆ์ ํ๋์ ์ ํ ๊ฒฝํ์ผ๋ก ๋ฌถ๋ ๊ฒ์ด ์ค์ํ๋ค.
- ์๋ํ์ ์ฑ๊ณต ๊ธฐ์ค์ '๋ ๋ง์ด ์ฒ๋ฆฌ'๊ฐ ์๋๋ผ '์ฌ๋ฐ๋ฅธ ์์ ๋ง ์ ๋ขฐํ ์ ์๊ฒ ์์ํ๊ณ ๋๋ด๋๊ฐ'์ ์์ด, ์ ํธ ๊ธฐ๋ฐ ํธ๋ฆฌ๊ฑฐ์ ์์ ๊ถ ์ค๊ณ๊ฐ ํต์ฌ์ด๋ค.
- AI ๋์ ์ดํ ๊ฐ๋ฐ์์ ๊ฐ์น๋ ์ฝ๋ ์์ฐ๋๋ณด๋ค ํ๋ก์ ํธ๋ฅผ ๋ถํดํ๊ณ , ์ฐ์ ์์๋ฅผ ์ ํ๊ณ , ์ฌ๋๊ณผ ์์ด์ ํธ๋ฅผ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ๋ฅ๋ ฅ์ผ๋ก ์ด๋ํ๋ค.