Harness Engineering: How to Build a Software Factory โ Dru Knox, Tessl
ํ ์ค ํต์ฌ
์ฝ๋ฉ ์์ด์ ํธ๋ฅผ ์ด๋ฏธ ์ฐ๊ณ ์๋ ํ์ด ํ๋ค์ค ์์ง๋์ด๋ง์ผ๋ก ๋ดยท์ธยท๋ฉํ ๋ฃจํ๋ฅผ ์ค๊ณํ๋ฉด, ์์์ ๊ฐ์ ์ ์ค์ด๋ฉด์๋ ๋ ๋์ ํ์ง์ ์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ก ์งํํ ์ ์๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:00
์๊ฐ Tessl์ ์์ด์ ํธ ํ์ฑํ ํ๋ซํผ์ด๋ฉฐ, ํต์ฌ ์ฃผ์ ๋ ํ๋ค์ค ์์ง๋์ด๋ง์ ํตํด ๊ฐ์ธ์ด๋ ํ์ ์์ฐ ๋ฐฉ์์ ์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ก ๋์ด์ฌ๋ฆฌ๋ ๋ฐฉ๋ฒ์ด๋ค.
-
0:43
์ด ๊ฐ์์ ๋์ ์ด ๋ด์ฉ์ ์ฝ๋ฉ ์์ด์ ํธ๋ฅผ ์ด๋ฏธ ์ฐ๊ณ ์๊ณ , ์ฌ์ดยท์ค๊ฐ ๋์ด๋ ์์ ์์ ๋์ฒด๋ก ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ํ์ ๊ฐ์ฅ ์ ๋ง๋๋ค. ์ํํธ์จ์ด ํฉํ ๋ฆฌ์ ๊ฐ๋ , ์ด๋ฅผ ํฅํ ํต์ฌ ์ค์ฒ, ๊ทธ๋ฆฌ๊ณ Tessl์ด ๋๋ ๋ฐฉ์๊น์ง ์์๋๋ก ๋ค๋ฃฌ๋ค.
-
2:03
์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ ๋ฌด์์ธ๊ฐ ์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ ์ต์ข ์ ํ ์์ฒด๋ฅผ ์์ด์ ํธ๊ฐ ๋ง๋ค๊ณ , ์์ง๋์ด๋ง ํ์ ๊ทธ ์ ํ์ ๋ง๋๋ ๊ณต์ฅ ์์คํ ์ ๊ฐ์ ํ๋ ๋ฐ ์ง์คํ๋ ์์ด์ ํฑ ์์คํ ์ด๋ค. ํ์ ์ญํ ์ ๋ ์์จ์ ์ด๊ณ ์๋ํ๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๋ฉด์ ์์ฐ ํ์ง์ ๋์ด์ฌ๋ฆฌ๋ ์ชฝ์ผ๋ก ์ด๋ํ๋ค.
-
2:58
์์จ์ฑ, ์๋ํ, ํ์ง ์์จ์ฑ์ ์์ด์ ํธ๊ฐ ์ ๋ต์ ๋๋ฌํ๊ธฐ ์ํด ์ผ๋ง๋ ์ ์ ์ธ๊ฐ ๊ฐ์ ์ด ํ์ํ์ง, ์๋ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ผ๋ง๋ ๋ฏฟ๊ณ ๊ทธ๋ฅ ๋๋ฆด ์ ์๋์ง, ํ์ง์ ์ค์ ์ฐ์ถ๋ฌผ์ ์์ค์ด ์ผ๋ง๋ ์ข์์ง๋ฅผ ๋ปํ๋ค. ๋จผ์ ์์จ์ฑ์ ๋์ด๊ณ , ๊ทธ๋ค์ ์๋ํ๋ฅผ ๋๋ฆฌ๋, ํ์ง์ ์ ์งํ๊ฑฐ๋ ์ ์ง์ ์ผ๋ก ๊ฐ์ ํ๋ ํ๋ฆ์ด ์ค์ํ๋ค.
-
4:33
์ฑ๊ณผ: ๋ ๋์ ํ์ง ์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ ๋จ์ํ ๋ฐฐํฌ ์๋๋ฅผ ๋์ด๊ธฐ ์ํ ์๋จ์ด ์๋๋ผ, ๊ฒฐ๊ตญ ๋ ๋์ ํ์ง์ ๋ฌ์ฑํ๊ธฐ ์ํ ๊ตฌ์กฐ๋ค. ๋ฐฑ๋ก๊ทธ์ ๋ฌปํ ์๋ ๋ฒ๊ทธ ์์ , ํ ์คํธ ๊ฐ์ , ์ํคํ ์ฒ ๋ฆฌํฉํฐ๋ง์ ๋ ๋ง์ ์๊ฐ์ ์ธ ์ ์์ด ์ฅ๊ธฐ์ ์ผ๋ก๋ ์ฝ๋ ํ์ง๊ณผ ํ์ ์ ํญ์ด ํจ๊ป ์ข์์ง๋ค.
-
6:13
ํ๋ค์ค ์์ง๋์ด๋ง ํ๋ค์ค ์์ง๋์ด๋ง์ ์ํํธ์จ์ด ํฉํ ๋ฆฌ์ ํ์ํ ๋ฃจํ๋ฅผ ์ค๊ณํ๊ณ ๊ฐ์ ํ๋ ํต์ฌ ์ค๋ฌด๋ค. ์ต๊ทผ์๋ loop engineering์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ, ์ ํ ์์ฒด๋ณด๋ค ๊ทธ ์ ํ์ ์๋์ผ๋ก ๊ฐ์ ํ๋ ๋ฃจํ๋ฅผ ๋ง๋๋ ๋ฐ ์ด์ ์ด ์๋ค.
-
6:43
๋ด๋ถ ๋ฃจํ, ์ธ๋ถ ๋ฃจํ, ๋ฉํ ๋ฃจํ ๋ด๋ถ ๋ฃจํ๋ PR ์ด์ ์ ์์ด์ ํธ๊ฐ ๋น ๋ฅด๊ณ ์ ๋ ดํ๊ฒ ๋ฐ๋ณตํ๋ ๋จ๊ณ๋ก, ์์จ์ฑ์ ๋์ด๋ ๋ฐ ์ง์ ์ ์ด๋ค. ์ธ๋ถ ๋ฃจํ๋ PR ์ดํ์ ๋ ๋น์ผ ๊ฒ์ฆ ๋จ๊ณ์ด๋ฉฐ, ๋ฉํ ๋ฃจํ๋ ๋ก๊ทธยทPRยทํผ๋๋ฐฑ์ ๊ด์ฐฐํด ์ค์๋ฅผ ๋ค์ ๋ฐ๋ณตํ์ง ์๊ฒ ๋ง๋๋ ํ์ง ๊ฐ์ ์ ํต์ฌ์ด๋ค.
-
9:08
ํ๋ค์ค ์์ง๋์ด๋ง์ด ์ด๋ ค์ด ์ด์ ์ด ์ผ์ ๋น ๋ฅด๊ฒ ๋ณํ๋ ์ง์์ ๋ฐ๋ผ๊ฐ์ผ ํ๊ณ , ๊ธฐ๋ฅ ๊ฐ๋ฐ๊ณผ ๊ฒฝ์ํ๋ ๋น๊ณํ ์ ๋ฌด์ด๋ฉฐ, ํ์ํ ์ ๋ณด๊ฐ ๋ก์ปฌ ๋ก๊ทธ๋ ๊ฐ์ธ์ ๋จธ๋ฆฟ์์ ํฉ์ด์ ธ ์๋ค๋ ์ ์์ ์ด๋ ต๋ค. ๋ฐ๋ผ์ ์ง์์ ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธํ๊ณ , ์์ ์ด ๊ธฐ๋ก๋๋ ํ๋ฉด์ผ๋ก ์ํฌํ๋ก๋ฅผ ์ฎ๊ธฐ๋ ์์์ ์ธ ์ค๊ณ๊ฐ ํ์ํ๋ค.
-
11:13
์ธ ๊ฐ์ง ๊ณ์ธต ํ๋ค์ค ์์ง๋์ด๋ง์ ์ ์ด ํ๋ฉด, ์คํ์ ์์ด์ ํธ ์ค๋น ์ํ, ๊ฐ์ ๋ฃจํ์ ์ธ ๊ณ์ธต์ผ๋ก ๋๋ ์ ์ ๊ทผํ๋ ๊ฒ์ด ์ค์ฉ์ ์ด๋ค. ์ด ์์๋๋ก ๋ค๋ฃจ๋ฉด ์ ๋ณด ์์ง, ์คํ ํ๊ฒฝ ์ ๋น, ์ง์ ๊ฐ์ ์ ๋จ๊ณ์ ์ผ๋ก ๊ตฌ์ถํ ์ ์๋ค.
-
11:33
์ ์ด ํ๋ฉด ์ ์ด ํ๋ฉด์ ์ด์ ์ถ์ , PR ๋ฆฌ๋ทฐ, ์ํฌํ๋ก์ ํ๋ ์ด๋ถ ๋ฐฐํฌ๋ฅผ ํ๋์ ์ฝ์ ์ ์๋ ํ๋ฆ์ผ๋ก ์ ๋ฆฌํ๋ ๊ธฐ๋ฐ์ด๋ค. ๋ชจ๋ ์์ ์ด issue tracker์์ ์์ํด sandbox์ ์์ด์ ํธ์ PR ๋ฆฌ๋ทฐ๋ก ์ด์ด์ง๋ฉด, ์ดํ ์๋ ์ต์ ํ์ ํ์ํ ์ ํธ๋ฅผ ๋ชจ์ ์ ์๋ค.
-
12:47
์คํ์ ์์ด์ ํธ ์นํ์ ์ผ๋ก ๋ง๋ค๊ธฐ ์์ด์ ํธ๊ฐ ์ค์ ๋ก ์ผํ๋ ค๋ฉด CLI, API, ๋ด๋ถ ์๋น์ค ์ ๊ทผ, ์์ฐ ๋ก๊ทธ, ์คํ ํ๊ฒฝ ๋ฑ ๋ง์ ์์๋ฅผ ์ ๋ฆฌํด์ผ ํ๋ค. ์๊ฐ๋ณด๋ค ํจ์ฌ ๋ง์ ์์กด์ฑ๊ณผ ๊ฑฐ๋ฒ๋์ค, ์ปดํ๋ผ์ด์ธ์ค, ์ ๊ทผ ํต์ ๊ฐ ์ฝํ ์์ด, ๊ฒฐ๊ตญ ์กฐ์ง์ ์ผํ๋ ๋ฐฉ์์ ๋ฌธ์ํํ๊ณ ํ์คํํ๋ ์์ ์ด ๋๋ค.
-
14:22
๊ฐ์ ๋ฃจํ ๊ฐ์ ๋ฃจํ๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ๊ฒํ๊ณ , ๋ฐ๋ณต ์์ ์ ์๋ํํ๋ฉฐ, ๊ฒฐ๊ณผ ํ์ง์ ๋ค์ ๊ธฐ์ค๊ณผ ํ๋ ์ด๋ถ์ ๋ฐ์ํ๋ ๋จ๊ณ๋ค. ํต์ฌ์ ํ ๋ฒ ๋ฐ๊ฒฌํ ์ค์๋ฅผ ๋ค์ ๋ฐ๋ณตํ์ง ์๋๋ก skills๋ ํ๋ ์ด๋ถ์ ๋น ๋ฅด๊ฒ ๊ฐฑ์ ํ๋ ๊ฒ์ด๋ค.
-
15:32
Tessl์ด ๋๋ ๋ฐฉ์ Tessl์ ์์ ๋จ๊ณ๋ก ์ง์ ๊ฐ๋ฅํ ์ ํ์ ๋๊ณ , ์ต์ ํ๋ค์ค ์์ง๋์ด๋ง ๊ดํ์ ๋ฐ๋ผ๊ฐ๋ฉฐ, ๋ชจ๋์์ผ๋ก ํ์ํ ๋ถ๋ถ๋ง ์ ํํ๊ฒ ์ค๊ณ๋์ด ์๋ค. skills registry, issue tracker์ GitHub ์ฐ๊ฒฐ, ์ฝ๋ ๋ฆฌ๋ทฐ ๋๊ตฌ๋ฅผ ํตํด ์ ์ด ํ๋ฉด๊ณผ ์๋ํ ์์์ ์ ์ฝ๊ฒ ๋ง๋ ๋ค.
-
17:37
Tessl Agent Tessl Agent๋ ๋ฐ๋ณต๋๋ ์์ ์ ์ฐพ์ automation์ผ๋ก ์ ํํ๋ ๋ฐ ํ์ํ ๋ณ๊ฒฝ ๊ด๋ฆฌ๋ฅผ ๋๊ณ , flaky tests ๊ฐ์ ์ฃผ๊ธฐ์ ์์ ์ ์คํฌ๊ณผ GitHub Action์ผ๋ก ์ฎ๊ธด๋ค. ๋ํ ์ํคํ ์ฒ ํ์ง, ์ฝ๋ ์ค๋ณต, ํ ์คํธ ํ์ง, ๋ณด์ ์ทจ์ฝ์ ๊ฐ์ ์ ์ง๋ณด์ ์์ ์ ๊ธฐ๋ณธ ์ ๊ณต ๋ฐฉ์์ผ๋ก ๋๋ฆด ์ ์๋ค.
-
18:47
Tessl Launch Tessl Launch๋ ์ด๋ค skill์ด๋ ์๋ํ ์ํฌํ๋ก๋ก ๋ฐ๊พธ๋ ๊ธฐ๋ฅ์ด๋ฉฐ, ์ํ๋ coding agent๋ฅผ ์ ํํด sandbox์ ๊ถํ์ ๋ถ์ฌ ์คํํ ์ ์๊ฒ ํ๋ค. GitHub token๊ณผ ์ฝ๋ฉํธ ์๋ต ๊ธฐ๋ฅ๊น์ง ํฌํจ๋์ด, ์์ ์ ์คํฌ๋ก ์ ๋ฆฌํ ๋ค ํ ์ ์ฒด์ ๋ฐฐํฌํ๋ ํ๋ฆ์ด ์ฌ์์ง๋ค.
-
19:37
์ถ์ ํ ์งํ ์งํ ์ํฉ์ manual takeover ๊ฐ์, human PR comments ๊ฐ์, ์ธ๊ฐ ๊ฐ์ ์์ด ์์๋ PR ์ฆ๊ฐ๋ก ์ธก์ ํ๋ ๊ฒ์ด ์ ์ฉํ๋ค. ์ต์ข ์ ์ผ๋ก๋ ํ์ง์ ๋จผ์ ์ ์งํ๊ณ , ๊ทธ๋ค์์๋ ์ค์ ๋ก ๋์ด์ฌ๋ฆฌ๋ ๋ฐฉํฅ์ผ๋ก ์ฑ๊ณผ๋ฅผ ๋ด์ผ ํ๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ์์ด์ ํธ ์ฑ์๋๋ '์ผ๋ง๋ ์ ๋งํ๋๊ฐ'๋ณด๋ค '์ผ๋ง๋ ์ธ๊ฐ ๊ฐ์ ์์ด ๋๋ฆฌ๊ณ ๋ ๋ฏฟ์ ์ ์๋๊ฐ'๋ก ์ธก์ ํด์ผ ํ๋ค.
- ์ํํธ์จ์ด ํฉํ ๋ฆฌ๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ชจ๋ธ ์ฑ๋ฅ๋ณด๋ค ๋จผ์ ์ด์, PR, ๋ก๊ทธ, ํ๋ ์ด๋ถ์ ๋ชจ๋ ์ฝ์ ์ ์๋ ํํ๋ก ๋ชจ์ผ๋ ์ ์ด ํ๋ฉด์ด ์ฐ์ ์ด๋ค.
- ์ค๋ฌด์์๋ ํฐ ์๋ํ ํ ๋ฐฉ๋ณด๋ค flaky tests, ์ฝ๋ ๋ฆฌ๋ทฐ, ๋ฐ๋ณต ์ ๊ฒ ๊ฐ์ ์์ ๋ฃจํ๋ฅผ ํ๋์ฉ ์ ํํํ๋ ๋ฐฉ์์ด ๊ฐ์ฅ ์ง์ ๊ฐ๋ฅํ๋ค.