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

Harness Engineering: How to Build a Software Factory โ€” Dru Knox, Tessl

AI Engineer ยท 2026-10-07 00:30 ยท 20:32

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

์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ ์ด๋ฏธ ์“ฐ๊ณ  ์žˆ๋Š” ํŒ€์ด ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง์œผ๋กœ ๋‚ดยท์™ธยท๋ฉ”ํƒ€ ๋ฃจํ”„๋ฅผ ์„ค๊ณ„ํ•˜๋ฉด, ์ˆ˜์ž‘์—… ๊ฐœ์ž…์„ ์ค„์ด๋ฉด์„œ๋„ ๋” ๋†’์€ ํ’ˆ์งˆ์˜ ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ๋กœ ์ง„ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

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

  1. 0:00
    ์†Œ๊ฐœ Tessl์€ ์—์ด์ „ํŠธ ํ™œ์„ฑํ™” ํ”Œ๋žซํผ์ด๋ฉฐ, ํ•ต์‹ฌ ์ฃผ์ œ๋Š” ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง์„ ํ†ตํ•ด ๊ฐœ์ธ์ด๋‚˜ ํŒ€์˜ ์ƒ์‚ฐ ๋ฐฉ์‹์„ ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
  2. 0:43
    ์ด ๊ฐ•์˜์˜ ๋Œ€์ƒ ์ด ๋‚ด์šฉ์€ ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๋ฅผ ์ด๋ฏธ ์“ฐ๊ณ  ์žˆ๊ณ , ์‰ฌ์šดยท์ค‘๊ฐ„ ๋‚œ์ด๋„ ์ž‘์—…์—์„œ ๋Œ€์ฒด๋กœ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๋Š” ํŒ€์— ๊ฐ€์žฅ ์ž˜ ๋งž๋Š”๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ์˜ ๊ฐœ๋…, ์ด๋ฅผ ํ–ฅํ•œ ํ•ต์‹ฌ ์‹ค์ฒœ, ๊ทธ๋ฆฌ๊ณ  Tessl์ด ๋•๋Š” ๋ฐฉ์‹๊นŒ์ง€ ์ˆœ์„œ๋Œ€๋กœ ๋‹ค๋ฃฌ๋‹ค.
  3. 2:03
    ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ๋ž€ ๋ฌด์—‡์ธ๊ฐ€ ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ๋Š” ์ตœ์ข… ์ œํ’ˆ ์ž์ฒด๋ฅผ ์—์ด์ „ํŠธ๊ฐ€ ๋งŒ๋“ค๊ณ , ์—”์ง€๋‹ˆ์–ด๋ง ํŒ€์€ ๊ทธ ์ œํ’ˆ์„ ๋งŒ๋“œ๋Š” ๊ณต์žฅ ์‹œ์Šคํ…œ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•˜๋Š” ์—์ด์ „ํ‹ฑ ์‹œ์Šคํ…œ์ด๋‹ค. ํŒ€์˜ ์—ญํ• ์€ ๋” ์ž์œจ์ ์ด๊ณ  ์ž๋™ํ™”๋œ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ์ƒ์‚ฐ ํ’ˆ์งˆ์„ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ์ชฝ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.
  4. 2:58
    ์ž์œจ์„ฑ, ์ž๋™ํ™”, ํ’ˆ์งˆ ์ž์œจ์„ฑ์€ ์—์ด์ „ํŠธ๊ฐ€ ์ •๋‹ต์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ์–ผ๋งˆ๋‚˜ ์ ์€ ์ธ๊ฐ„ ๊ฐœ์ž…์ด ํ•„์š”ํ•œ์ง€, ์ž๋™ํ™”๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ผ๋งˆ๋‚˜ ๋ฏฟ๊ณ  ๊ทธ๋ƒฅ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€, ํ’ˆ์งˆ์€ ์‹ค์ œ ์‚ฐ์ถœ๋ฌผ์˜ ์ˆ˜์ค€์ด ์–ผ๋งˆ๋‚˜ ์ข‹์€์ง€๋ฅผ ๋œปํ•œ๋‹ค. ๋จผ์ € ์ž์œจ์„ฑ์„ ๋†’์ด๊ณ , ๊ทธ๋‹ค์Œ ์ž๋™ํ™”๋ฅผ ๋Š˜๋ฆฌ๋˜, ํ’ˆ์งˆ์€ ์œ ์ง€ํ•˜๊ฑฐ๋‚˜ ์ ์ง„์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š” ํ๋ฆ„์ด ์ค‘์š”ํ•˜๋‹ค.
  5. 4:33
    ์„ฑ๊ณผ: ๋” ๋†’์€ ํ’ˆ์งˆ ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ๋Š” ๋‹จ์ˆœํžˆ ๋ฐฐํฌ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์ด ์•„๋‹ˆ๋ผ, ๊ฒฐ๊ตญ ๋” ๋†’์€ ํ’ˆ์งˆ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ์กฐ๋‹ค. ๋ฐฑ๋กœ๊ทธ์— ๋ฌปํ˜€ ์žˆ๋˜ ๋ฒ„๊ทธ ์ˆ˜์ •, ํ…Œ์ŠคํŠธ ๊ฐœ์„ , ์•„ํ‚คํ…์ฒ˜ ๋ฆฌํŒฉํ„ฐ๋ง์— ๋” ๋งŽ์€ ์‹œ๊ฐ„์„ ์“ธ ์ˆ˜ ์žˆ์–ด ์žฅ๊ธฐ์ ์œผ๋กœ๋Š” ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ํ˜‘์—…์˜ ํญ์ด ํ•จ๊ป˜ ์ข‹์•„์ง„๋‹ค.
  6. 6:13
    ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง์€ ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ์— ํ•„์š”ํ•œ ๋ฃจํ”„๋ฅผ ์„ค๊ณ„ํ•˜๊ณ  ๊ฐœ์„ ํ•˜๋Š” ํ•ต์‹ฌ ์‹ค๋ฌด๋‹ค. ์ตœ๊ทผ์—๋Š” loop engineering์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ, ์ œํ’ˆ ์ž์ฒด๋ณด๋‹ค ๊ทธ ์ œํ’ˆ์„ ์ž๋™์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š” ๋ฃจํ”„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์ดˆ์ ์ด ์žˆ๋‹ค.
  7. 6:43
    ๋‚ด๋ถ€ ๋ฃจํ”„, ์™ธ๋ถ€ ๋ฃจํ”„, ๋ฉ”ํƒ€ ๋ฃจํ”„ ๋‚ด๋ถ€ ๋ฃจํ”„๋Š” PR ์ด์ „์— ์—์ด์ „ํŠธ๊ฐ€ ๋น ๋ฅด๊ณ  ์ €๋ ดํ•˜๊ฒŒ ๋ฐ˜๋ณตํ•˜๋Š” ๋‹จ๊ณ„๋กœ, ์ž์œจ์„ฑ์„ ๋†’์ด๋Š” ๋ฐ ์ง์ ‘์ ์ด๋‹ค. ์™ธ๋ถ€ ๋ฃจํ”„๋Š” PR ์ดํ›„์˜ ๋” ๋น„์‹ผ ๊ฒ€์ฆ ๋‹จ๊ณ„์ด๋ฉฐ, ๋ฉ”ํƒ€ ๋ฃจํ”„๋Š” ๋กœ๊ทธยทPRยทํ”ผ๋“œ๋ฐฑ์„ ๊ด€์ฐฐํ•ด ์‹ค์ˆ˜๋ฅผ ๋‹ค์‹œ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“œ๋Š” ํ’ˆ์งˆ ๊ฐœ์„ ์˜ ํ•ต์‹ฌ์ด๋‹ค.
  8. 9:08
    ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง์ด ์–ด๋ ค์šด ์ด์œ  ์ด ์ผ์€ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ•˜๋Š” ์ง€์‹์„ ๋”ฐ๋ผ๊ฐ€์•ผ ํ•˜๊ณ , ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ๊ณผ ๊ฒฝ์Ÿํ•˜๋Š” ๋น„๊ณ„ํš ์—…๋ฌด์ด๋ฉฐ, ํ•„์š”ํ•œ ์ •๋ณด๊ฐ€ ๋กœ์ปฌ ๋กœ๊ทธ๋‚˜ ๊ฐœ์ธ์˜ ๋จธ๋ฆฟ์†์— ํฉ์–ด์ ธ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ ์ง€์‹์„ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ์ž‘์—…์ด ๊ธฐ๋ก๋˜๋Š” ํ‘œ๋ฉด์œผ๋กœ ์›Œํฌํ”Œ๋กœ๋ฅผ ์˜ฎ๊ธฐ๋Š” ์˜์‹์ ์ธ ์„ค๊ณ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
  9. 11:13
    ์„ธ ๊ฐ€์ง€ ๊ณ„์ธต ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง์€ ์ œ์–ด ํ‰๋ฉด, ์Šคํƒ์˜ ์—์ด์ „ํŠธ ์ค€๋น„ ์ƒํƒœ, ๊ฐœ์„  ๋ฃจํ”„์˜ ์„ธ ๊ณ„์ธต์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์‹ค์šฉ์ ์ด๋‹ค. ์ด ์ˆœ์„œ๋Œ€๋กœ ๋‹ค๋ฃจ๋ฉด ์ •๋ณด ์ˆ˜์ง‘, ์‹คํ–‰ ํ™˜๊ฒฝ ์ •๋น„, ์ง€์† ๊ฐœ์„ ์„ ๋‹จ๊ณ„์ ์œผ๋กœ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.
  10. 11:33
    ์ œ์–ด ํ‰๋ฉด ์ œ์–ด ํ‰๋ฉด์€ ์ด์Šˆ ์ถ”์ , PR ๋ฆฌ๋ทฐ, ์›Œํฌํ”Œ๋กœ์™€ ํ”Œ๋ ˆ์ด๋ถ ๋ฐฐํฌ๋ฅผ ํ•˜๋‚˜์˜ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ๋ฆ„์œผ๋กœ ์ •๋ฆฌํ•˜๋Š” ๊ธฐ๋ฐ˜์ด๋‹ค. ๋ชจ๋“  ์ž‘์—…์ด issue tracker์—์„œ ์‹œ์ž‘ํ•ด sandbox์˜ ์—์ด์ „ํŠธ์™€ PR ๋ฆฌ๋ทฐ๋กœ ์ด์–ด์ง€๋ฉด, ์ดํ›„ ์ž๋™ ์ตœ์ ํ™”์— ํ•„์š”ํ•œ ์‹ ํ˜ธ๋ฅผ ๋ชจ์„ ์ˆ˜ ์žˆ๋‹ค.
  11. 12:47
    ์Šคํƒ์„ ์—์ด์ „ํŠธ ์นœํ™”์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์—์ด์ „ํŠธ๊ฐ€ ์‹ค์ œ๋กœ ์ผํ•˜๋ ค๋ฉด CLI, API, ๋‚ด๋ถ€ ์„œ๋น„์Šค ์ ‘๊ทผ, ์ƒ์‚ฐ ๋กœ๊ทธ, ์‹คํ–‰ ํ™˜๊ฒฝ ๋“ฑ ๋งŽ์€ ์š”์†Œ๋ฅผ ์ •๋ฆฌํ•ด์•ผ ํ•œ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์€ ์˜์กด์„ฑ๊ณผ ๊ฑฐ๋ฒ„๋„Œ์Šค, ์ปดํ”Œ๋ผ์ด์–ธ์Šค, ์ ‘๊ทผ ํ†ต์ œ๊ฐ€ ์–ฝํ˜€ ์žˆ์–ด, ๊ฒฐ๊ตญ ์กฐ์ง์˜ ์ผํ•˜๋Š” ๋ฐฉ์‹์„ ๋ฌธ์„œํ™”ํ•˜๊ณ  ํ‘œ์ค€ํ™”ํ•˜๋Š” ์ž‘์—…์ด ๋œ๋‹ค.
  12. 14:22
    ๊ฐœ์„  ๋ฃจํ”„ ๊ฐœ์„  ๋ฃจํ”„๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ ๊ฒ€ํ•˜๊ณ , ๋ฐ˜๋ณต ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋ฉฐ, ๊ฒฐ๊ณผ ํ’ˆ์งˆ์„ ๋‹ค์‹œ ๊ธฐ์ค€๊ณผ ํ”Œ๋ ˆ์ด๋ถ์— ๋ฐ˜์˜ํ•˜๋Š” ๋‹จ๊ณ„๋‹ค. ํ•ต์‹ฌ์€ ํ•œ ๋ฒˆ ๋ฐœ๊ฒฌํ•œ ์‹ค์ˆ˜๋ฅผ ๋‹ค์‹œ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๋„๋ก skills๋‚˜ ํ”Œ๋ ˆ์ด๋ถ์„ ๋น ๋ฅด๊ฒŒ ๊ฐฑ์‹ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  13. 15:32
    Tessl์ด ๋•๋Š” ๋ฐฉ์‹ Tessl์€ ์ž‘์€ ๋‹จ๊ณ„๋กœ ์ง€์† ๊ฐ€๋Šฅํ•œ ์ „ํ™˜์„ ๋•๊ณ , ์ตœ์‹  ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๊ด€ํ–‰์„ ๋”ฐ๋ผ๊ฐ€๋ฉฐ, ๋ชจ๋“ˆ์‹์œผ๋กœ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์„ ํƒํ•˜๊ฒŒ ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค. skills registry, issue tracker์™€ GitHub ์—ฐ๊ฒฐ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ œ์–ด ํ‰๋ฉด๊ณผ ์ž๋™ํ™” ์‹œ์ž‘์ ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ ๋‹ค.
  14. 17:37
    Tessl Agent Tessl Agent๋Š” ๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…์„ ์ฐพ์•„ automation์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ ๊ด€๋ฆฌ๋ฅผ ๋•๊ณ , flaky tests ๊ฐ™์€ ์ฃผ๊ธฐ์  ์ž‘์—…์„ ์Šคํ‚ฌ๊ณผ GitHub Action์œผ๋กœ ์˜ฎ๊ธด๋‹ค. ๋˜ํ•œ ์•„ํ‚คํ…์ฒ˜ ํ’ˆ์งˆ, ์ฝ”๋“œ ์ค‘๋ณต, ํ…Œ์ŠคํŠธ ํ’ˆ์งˆ, ๋ณด์•ˆ ์ทจ์•ฝ์  ๊ฐ™์€ ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์„ ๊ธฐ๋ณธ ์ œ๊ณต ๋ฐฉ์‹์œผ๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  15. 18:47
    Tessl Launch Tessl Launch๋Š” ์–ด๋–ค skill์ด๋“  ์ž๋™ํ™” ์›Œํฌํ”Œ๋กœ๋กœ ๋ฐ”๊พธ๋Š” ๊ธฐ๋Šฅ์ด๋ฉฐ, ์›ํ•˜๋Š” coding agent๋ฅผ ์„ ํƒํ•ด sandbox์™€ ๊ถŒํ•œ์„ ๋ถ™์—ฌ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค. GitHub token๊ณผ ์ฝ”๋ฉ˜ํŠธ ์‘๋‹ต ๊ธฐ๋Šฅ๊นŒ์ง€ ํฌํ•จ๋˜์–ด, ์ž‘์—…์„ ์Šคํ‚ฌ๋กœ ์ •๋ฆฌํ•œ ๋’ค ํŒ€ ์ „์ฒด์— ๋ฐฐํฌํ•˜๋Š” ํ๋ฆ„์ด ์‰ฌ์›Œ์ง„๋‹ค.
  16. 19:37
    ์ถ”์ ํ•  ์ง€ํ‘œ ์ง„ํ–‰ ์ƒํ™ฉ์€ manual takeover ๊ฐ์†Œ, human PR comments ๊ฐ์†Œ, ์ธ๊ฐ„ ๊ฐœ์ž… ์—†์ด ์‹œ์ž‘๋œ PR ์ฆ๊ฐ€๋กœ ์ธก์ •ํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค. ์ตœ์ข…์ ์œผ๋กœ๋Š” ํ’ˆ์งˆ์„ ๋จผ์ € ์œ ์ง€ํ•˜๊ณ , ๊ทธ๋‹ค์Œ์—๋Š” ์‹ค์ œ๋กœ ๋Œ์–ด์˜ฌ๋ฆฌ๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์„ฑ๊ณผ๋ฅผ ๋ด์•ผ ํ•œ๋‹ค.

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

  • ์—์ด์ „ํŠธ ์„ฑ์ˆ™๋„๋Š” '์–ผ๋งˆ๋‚˜ ์ž˜ ๋งžํžˆ๋Š”๊ฐ€'๋ณด๋‹ค '์–ผ๋งˆ๋‚˜ ์ธ๊ฐ„ ๊ฐœ์ž… ์—†์ด ๋Œ๋ฆฌ๊ณ ๋„ ๋ฏฟ์„ ์ˆ˜ ์žˆ๋Š”๊ฐ€'๋กœ ์ธก์ •ํ•ด์•ผ ํ•œ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด ํŒฉํ† ๋ฆฌ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋ชจ๋ธ ์„ฑ๋Šฅ๋ณด๋‹ค ๋จผ์ € ์ด์Šˆ, PR, ๋กœ๊ทธ, ํ”Œ๋ ˆ์ด๋ถ์„ ๋ชจ๋‘ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ชจ์œผ๋Š” ์ œ์–ด ํ‰๋ฉด์ด ์šฐ์„ ์ด๋‹ค.
  • ์‹ค๋ฌด์—์„œ๋Š” ํฐ ์ž๋™ํ™” ํ•œ ๋ฐฉ๋ณด๋‹ค flaky tests, ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ๋ฐ˜๋ณต ์ ๊ฒ€ ๊ฐ™์€ ์ž‘์€ ๋ฃจํ”„๋ฅผ ํ•˜๋‚˜์”ฉ ์ œํ’ˆํ™”ํ•˜๋Š” ๋ฐฉ์‹์ด ๊ฐ€์žฅ ์ง€์† ๊ฐ€๋Šฅํ•˜๋‹ค.