How Software Factories Improve Themselves โ Suraj Gupta, Warp
ํ ์ค ํต์ฌ
์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ ์คํฌยท๊ธฐ์ตยท๋ชจ๋ธ ๋ผ์ฐํ ์ ์ธ๋ถ ๋ฃจํ์ ํ๊ฐ ์ฒด๊ณ๋ก ๊ณ์ ๊ฐฑ์ ํ ๋ ์ค์ค๋ก ๋ ๋น ๋ฅด๊ณ ์ ๋ ดํ๊ฒ ๊ฐ์ ๋ ์ ์์ผ๋ฉฐ, ๊ทธ ๋ณํ๋ ์ฌ๋ ๊ฒํ ์ ์ถ์ ๊ฐ๋ฅ์ฑ ์์์ ์์ ํ๊ฒ ์ด์๋ผ์ผ ํ๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:00
์๊ฐ Warp๋ ์์ด์ ํฑ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ํด๋ผ์ฐ๋ ์์ด์ ํธ ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์์ผ๋ฉฐ, ์ด๋ฒ ๋ฐํ๋ ์ค์ ๋ก ๊ตฌํ ๊ฐ๋ฅํ ์๊ธฐ๊ฐ์ ๋ฐฉ์์ ์ด์ ์ ๋ง์ถ๋ค.
-
0:50
์๊ธฐ๊ฐ์ ์ํํธ์จ์ด ํฉํ ๋ฆฌ ์๊ธฐ๊ฐ์ ์ ์์ด์ ํธ๊ฐ ์๊ฐ์ด ์ง๋๋ฉฐ ๋ ์ข์์ง๋ ๋ฅ๋ ฅ์ด๊ณ , ์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ ํธ๋ฆฌ์์ง๋ถํฐ ํ๋ก๋์ ๊น์ง ์ผ์ ์๋์ผ๋ก ๋๊ธฐ๋ ๊ตฌ์กฐ๋ค. ํต์ฌ์ ํฉํ ๋ฆฌ ์์ฒด๊ฐ ์๊ฐ์ด ์ง๋๋ฉฐ ๋ ํจ์จ์ ์ด๊ณ ๋น ๋ฅด๊ฒ ๊ฐ์ ๋๋ ๋ฐฉ๋ฒ์ด๋ค.
-
1:50
ํฉํ ๋ฆฌ๊ฐ ๊ฐ์ ๋๋ ์ธ ๊ฐ์ง ๋ฐฉ์ ํฉํ ๋ฆฌ๊ฐ ์ค์ค๋ก ์ข์์ง๋ ๋ฐฉ๋ฒ์ผ๋ก ์คํฌ, ์ง์ ๊ธฐ์ต, ๋ชจ๋ธ ๋ผ์ฐํ ์ ์ธ ๊ฐ์ง๋ฅผ ์ ์ํ๋ค. ์ดํ ๊ฐ ๋ฐฉ์์ด ์ค์ ์ด์์์ ์ด๋ป๊ฒ ์ฑ๋ฅ๊ณผ ๋น์ฉ์ ๋ฐ๊พธ๋์ง ์ค๋ช ํ๋ค.
-
2:05
์คํฌ๊ณผ ์ธ๋ถ ๋ฃจํ ์์ด์ ํธ ์คํฌ์ ์์ด์ ํธ์๊ฒ ์ ์ฐจ์ ๊ธฐ์ต์ ์ฃผ๋ ๋ฐฉ๋ฒ์ด๋ฉฐ, ๋ฐ๋ณต๋๋ ์์ ์ ์ฐจ๋ฅผ ๋ช ์ํด ๋๋ค. ํ์ง๋ง ์คํฌ์ ์๊ฐ์ด ์ง๋๋ฉด ๋ก๊ธฐ ๋๋ฌธ์, ์ธ๋ถ ๋ฃจํ ์์ด์ ํธ๊ฐ ๋ด๋ถ ๋ฃจํ ์์ด์ ํธ์ ์คํ ๊ฒฐ๊ณผ์ ํผ๋๋ฐฑ์ ๋ณด๊ณ ์คํฌ์ ๊ฐฑ์ ํด์ผ ํ๋ค.
-
3:15
Warp์ ํธ๋ฆฌ์์ง ์คํฌ ๋ฐ๋ชจ GitHub issue๊ฐ ๋ค์ด์ค๋ฉด ํธ๋ฆฌ์์ง ์์ด์ ํธ๊ฐ ๋๋ฝ๋ ์ ๋ณด๋ ์ค๋ณต ์ฌ๋ถ๋ฅผ ํ๋จํด ๋ถ๋ฅ ์์ ์ ์ํํ๋ค. ์ด ์์ ์ ๊ฐ๋จํ ์ํฌํ๋ก๋ก ์๋ ์คํ๋๋ฉฐ, ์ค์ ์ด์ ์ค์ธ ์คํฌ ๊ธฐ๋ฐ ํธ๋ฆฌ์์ง ์ฌ๋ก๋ก ์ ์๋๋ค.
-
4:15
์ธ๋ถ ๋ฃจํ ์์ด์ ํธ ์ธ๋ถ ๋ฃจํ ์์ด์ ํธ๋ ํธ๋ฆฌ์์ง ์์ด์ ํธ์ ๊ฒฐ์ ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ๊ด์ฐฐํ๊ณ , thumbs up/down, ๋๊ธ, Warp ๊ตฌ์ฑ์์ ํผ๋๋ฐฑ์ ์์งํด ์คํฌ์ ๋ ๋์ ๋ฐฉํฅ์ผ๋ก ํฉ์ฑํ๋ค. ์ด ๋ฐฉ์์ผ๋ก ๋ด๋ถ ๋ฃจํ ์คํฌ์ด ์ง์์ ์ผ๋ก ๊ฐ์ ๋๋ค.
-
5:00
์คํฌ ์ ๋ฐ์ดํธ๋ pull request๋ก ์งํ ์คํฌ ๋ณ๊ฒฝ์ pull request๋ก ์ฌ๋ ค Git์ ํตํด ์ถ์ ๋๋ฏ๋ก, ์๊ฐ์ด ์ง๋๋ฉฐ ์คํฌ์ด ์ด๋ป๊ฒ ๋ณํ๋์ง ์์ ํ ๊ฐ์์ฑ์ ํ๋ณดํ ์ ์๋ค. ๋ํ ์ฌ๋์ด ๊ฒํ ์ ์ฐธ์ฌํด ์ธ๋ถ ๋ฃจํ ์์ด์ ํธ๊ฐ ์ค์๋ฅผ ๋ง๋ค์ด ์ฑ๋ฅ์ ๋จ์ด๋จ๋ฆฌ๋ ์ผ์ ๋ง๋๋ค.
-
5:35
์ง์ ๊ธฐ์ต ์คํฌ์ด ์ ์ฐจ๋ฅผ ๊ธฐ์ตํ๋ค๋ฉด, ์ง์ ๊ธฐ์ต์ ๊ทธ ๋ฐ์ ์ฌ์ค๊ณผ ํ์ต ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด ๋๋ ์ฅ์น๋ค. ์ด์ ์ ํด๊ฒฐํ ์ด์์ ์์ธ๊ณผ ๊ฒฐ๋ก ์ ์ฌ์ฌ์ฉํ๋ฉด ๊ฐ์ ๋งฅ๋ฝ์ ๋ค์ ๋ชจ์ผ๋ ํ ํฐ ๋ญ๋น๋ฅผ ์ค์ด๊ณ ๋ฏธ๋ ์คํ์ ๋ ์ ํํ๊ฒ ๋ง๋ ๋ค.
-
6:35
Sentry ์์ด์ ํธ์ ๊ธฐ์ต ๋ฐ๋ชจ ์์ด์ ํธ๋ณ memory store์๋ ๊ณผ๊ฑฐ root cause analysis์์ ์ป์ ์ฌ์ค์ด ์ถ์ ๋๋ฉฐ, ์ฌ๋๋ ์ถ๊ฐยท์์ ยท์ญ์ ํ ์ ์๋ค. ์ ์ด์๋ฅผ ์ฒ๋ฆฌํ ๋ ์์ด์ ํธ๋ ์ด ๊ธฐ์ต์ ์ฐธ์กฐํด ์์ ์ ๋น ๋ฅด๊ฒ ๋๋ด๊ณ , ์ค์ ๋ก ์ด๋ค ๊ธฐ์ต์ ์ฌ์ฉํ๋์ง๋ ๋ณด๊ณ ํ๋ค.
-
8:15
ํ๋ค์ค ๊ฐ ๊ธฐ์ต ๊ณต์ Oz์์๋ Warp Zone, proprietary harness, plot code, Kodak ๋ฑ ์ด๋ค ํ๋ค์ค์์๋ ์ง์ ๊ธฐ์ต์ด ์๋์ผ๋ก ์์ฑ๋๋ค. ๋์์ ๋ชจ๋ ๊ธฐ์ต์ ์ถ์ ๊ฐ๋ฅํ๊ณ , ์ฌ๋์ด ๊ฒํ ยท๋ฒ์ ๊ด๋ฆฌยท์ญ์ ยท์์ ํ ์ ์๋ค.
-
8:45
๋ชจ๋ธ ๋ผ์ฐํ ํธ๋ฆฌ์์ง๋ ๋จ์ CI ์์ ๊ฐ์ ์์ ์ ํญ์ Opus๋ฅผ ์ฐ๋ฉด ๋น์ฉ์ด ๊ณผ๋ํ๊ฒ ์ปค์ง๋ฏ๋ก, ์์ ๋ณ๋ก ์ ์ ํ ๋ชจ๋ธ์ ๊ณ ๋ฅด๋ ์ผ์ด ์ค์ํ๋ค. Warp๋ ๊ธฐ๋ณธ ์ ๊ณต ๋ผ์ฐํฐ์ธ auto models๋ก ์๋ก์ด ๋ชจ๋ธ๋ค์ ์ง์ ํ๊ฐํ๋ฉฐ ๋น์ฉ ๋๋น ์ฑ๋ฅ์ ์ต์ ํํ๋ค.
-
9:40
์๋ ๋ชจ๋ธ ์ ์ฌ์ฉ์๋ ํน์ ๋ชจ๋ธ์ ๊ณ ์ ํ์ง ์๊ณ Warp์ auto models๋ฅผ ๋ฐ๋ก ์ฌ์ฉํ ์ ์๋ค. ์ด๋ ๋ชจ๋ธ ์ ํ์ ๋ฏธ๋ฆฌ ๊ฒฐ์ ํ์ง ์์๋ ๋๊ฒ ํด ์ฃผ๋ฉฐ, ์ํฉ์ ๋ฐ๋ผ ๋ ๋์ ๊ธฐ๋ณธ ์ ํ์ ์ ๊ณตํ๋ค.
-
9:50
๋ง์ถค ๋ผ์ฐํ ๊ท์น ๋ฐ๋ชจ ์ฌ์ฉ์๋ ์ค์ ํ์ผ๋ก ๋ผ์ฐํ ๊ท์น์ ์ง์ ์ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง์ด๊ทธ๋ ์ด์ ์ GLM fire, runbooks์ API ๋ฌธ์๋ Quen ๊ฐ์ ์์ผ๋ก ํ์คํฌ ํด๋์ค๋ฅผ ๋ชจ๋ธ์ ๋งคํํ ์ ์๋ค. ๋ค๋ง ์ด๋ฐ ๊ท์น์ ์์ง ๊ฒฝํ์ ์ฑ๊ฒฉ์ด ๊ฐํ๋ค.
-
10:50
๋ค์ ๋จ๊ณ: ๋ผ์ฐํ ํ๊ฐ ์์ผ๋ก๋ ๊ณ ๊ฐ ์ํฌํ๋ก์ ๋ง๋ eval์ ์ ์ํด ์ด๋ค ๋ชจ๋ธ์ด ํน์ ํ์คํฌ์์ ๋ ๋์์ง ์ฒด๊ณ์ ์ผ๋ก ๊ฒ์ฆํ๊ฒ ๋๋ค. ์ผ๋ฐ ๋ฒค์น๋งํฌ๊ฐ ์๋๋ผ ์ค์ ์ฌ์ฉ์๊ฐ ์ค์ํ๊ฒ ์ฌ๊ธฐ๋ ๊ธฐ์ค์ผ๋ก ๋ผ์ฐํ ํ์ง์ ์ธก์ ํ๋ ๊ฒ์ด ๋ชฉํ๋ค.
-
11:40
Warp ๋ด๋ถ์ ๋ผ์ฐํ ๋ฐฉ์ Warp๋ ๋ชจ๋ธ ๋ผ์ฐํ ๊ท์น๊ณผ ๋ณ๋์ eval sidecar๋ฅผ ๋๊ณ , prompt๊ฐ ๋ค์ด์ค๋ฉด ์ฌ๋ฌ ๋ชจ๋ธ์ ๋ณ๋ ฌ๋ก ์ํํ๋ best-at-k ๋ฐฉ์์ผ๋ก ์ ํฉํ ๋ชจ๋ธ์ ์ฐพ๋๋ค. ๊ทธ ๊ฒฐ๊ณผ UI ์์ ์๋ GLM์ด ๋ ํจ์จ์ ์ด๋ผ๋ ์์ ํ๋จ์ ๋ด๋ ค ๋น์ฉ์ ์ค์ด๊ณ , ์ด ๊ธฐ๋ฅ์ ๊ณ ๊ฐ์ฉ ์ ํ์ผ๋ก ํ์ฅํ ๊ณํ์ด๋ค.
-
12:25
๋ง๋ฌด๋ฆฌ ํต์ฌ ๋ฉ์์ง๋ ์ํํธ์จ์ด ํฉํ ๋ฆฌ๊ฐ ์คํฌ, ๊ธฐ์ต, ๋ผ์ฐํ ์ ์ธ๋ถ ๋ฃจํ์ ํ๊ฐ๋ก ๊ณ์ ๊ฐ์ ํด์ผ ์ค์ ๋ก ๋ ๊ฐํด์ง๋ค๋ ๊ฒ์ด๋ค. ์ด๋ฐ ๋๊ตฌ์ ์ด์ ์๋ฆฌ๋ฅผ ์ง์ ์ด์ผ๊ธฐํ๊ณ ์ถ๋ค๋ฉด Warp ๋ถ์ค๋ก ์ค๋ผ๋ ์๋ด๋ก ๋๋๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ์คํฌ ๊ฐฑ์ , ๊ธฐ์ต ์ถ์ , ๋ชจ๋ธ ์ ํ์ ๋ชจ๋ ์๋ํํด๋ ์ต์ข ๋ฐ์์ pull request์ ์ฌ๋ ๊ฒํ ๋ฅผ ๊ฑฐ์น๊ฒ ํ๋ฉด ์์ ์ฑ๊ณผ ๊ฐ์ ์๋๋ฅผ ํจ๊ป ์ก์ ์ ์๋ค.
- ์์ด์ ํธ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ ์ง์์ ์คํฌ๊ณผ memory store๋ก ๋ถ๋ฆฌํด ๊ด๋ฆฌํ๋ฉด, ์ ์ฐจ์ ์ฌ์ค์ ๊ฐ๊ฐ ๋ ์ฝ๊ฒ ์ ๋ฐ์ดํธํ๊ณ ์ถ์ ํ ์ ์๋ค.
- ๋ชจ๋ธ ๋ผ์ฐํ ์ ๊ณ ์ ์ ์ฑ ๋ณด๋ค ์ค์ ์ํฌํ๋ก ๊ธฐ๋ฐ eval๋ก ์ด์ํด์ผ ๋น์ฉ ์ ๊ฐ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํ๊ณ ํ์คํฌ๋ณ ์ต์ ๋ชจ๋ธ์ ์ง์์ ์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค.