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

How to Build Quality Gates into Agentic Coding Workflows โ€” Nnenna Ndukwe, Qodo AI

AI Engineer ยท 2026-10-12 01:00 ยท 57:45

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

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์‹ ๋ขฐํ•˜๋ ค๋ฉด ๊ทœ์น™ยท์Šคํ‚ฌยท๊ณ„ํšยท๊ฒ€์ฆ์„ ๋ ˆํฌ์™€ CI์— ๋ฏธ๋ฆฌ ๊ณ ์ •ํ•ด ๋‘๊ณ , ๊ณ„ํš-๊ตฌํ˜„-๋ฆฌ๋ทฐ-์žฌ๊ฒ€์ฆ์˜ ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๋ฅผ ๋๊นŒ์ง€ ์ž๋™ํ™”ํ•ด์•ผ ํ•œ๋‹ค.

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

  1. 0:00
    ๊ตฌ์กฐํ™”๋œ AI ์ฝ”๋”ฉ ์›Œํฌํ”Œ๋กœ AI ์ฝ”๋”ฉ์€ ์ฆ‰ํฅ์ ์œผ๋กœ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ๊ตฌ์กฐํ™”๋œ ์ ˆ์ฐจ๋กœ ์šด์˜ํ•  ๋•Œ ํ’ˆ์งˆ์„ ํ†ต์ œํ•˜๊ธฐ ์‰ฝ๋‹ค. ๋ ˆํฌ ๊ตฌ์กฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์—์ด์ „ํŠธ๊ฐ€ ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค๊ณ , ๊ฐ ๋‹จ๊ณ„์— ๋งž๋Š” ๊ฒ€์ฆ ๊ธฐ์ค€์„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ํ•ต์‹ฌ์ด๋‹ค.
  2. 3:15
    ์ฝ”๋“œ ํ’ˆ์งˆ์ด ๋ฌด๋„ˆ์ง€๋Š” ์ง€์  ๊ณ„ํš, ์„ค๊ณ„, ๊ฐœ๋ฐœ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ์˜ ๋ชจ๋“  ๊ตฌ๊ฐ„์—์„œ AI ์ƒ์„ฑ ์ฝ”๋“œ์˜ ์‹คํŒจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹จ์ˆœ ์ƒ์„ฑ๋ณด๋‹ค ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๋Š” ์ชฝ์œผ๋กœ ์ดˆ์ ์„ ์˜ฎ๊ฒจ์•ผ ํ•œ๋‹ค.
  3. 4:09
    ๊ธฐ์ค€์„ ์ •์˜ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜๊ธฐ ์ฝ”๋“œ ํ’ˆ์งˆ์˜ ์ •์˜๋Š” ํŒ€ ์ฐจ์›์—์„œ ๋จผ์ € ํ•ฉ์˜๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๊ทธ ๊ธฐ์ค€์€ ๋ฌธ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ธฐ๊ณ„๊ฐ€ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ CLI, IDE, CI ๋“ฑ ์–ด๋–ค ์ธํ„ฐํŽ˜์ด์Šค์—์„œ๋„ ๋™์ผํ•œ ๊ธฐ์ค€์„ ๊บผ๋‚ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.
  4. 5:06
    ์ปจํ…์ŠคํŠธ๋ฅผ ์šด์˜ ๊ฐ€๋Šฅํ•œ ์ž์‚ฐ์œผ๋กœ ๋งŒ๋“ค๊ธฐ rules, skills ๊ฐ™์€ ์ปจํ…์ŠคํŠธ ์ž์‚ฐ์„ ๊ณ„ํš, ์ฝ”๋“œ ์ƒ์„ฑ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ฐ˜์— ๊ฑธ์ณ ์žฌ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. ๊ฐ™์€ ๊ธฐ์ค€์„ ๊ฐ ๋‹จ๊ณ„์—์„œ ๊ฒ€์‚ฌํ•˜๊ฒŒ ๋งŒ๋“ค๋ฉด ํ’ˆ์งˆ ํ™•์ธ์ด ํ•œ ๋ฒˆ์œผ๋กœ ๋๋‚˜์ง€ ์•Š๊ณ  ๋ฐ˜๋ณต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.
  5. 6:00
    SignalPay ์›Œํฌ์ˆ ๋ ˆํฌ ์†Œ๊ฐœ ์‹ค์Šต์šฉ์œผ๋กœ payments API์ธ SignalPay ๋ ˆํฌ๋ฅผ ํฌํฌํ•˜๊ณ  ๋กœ์ปฌ์— ๋ณต์ œํ•ด ์ง„ํ–‰ํ•œ๋‹ค. ๋ชจ๋“  ์ ˆ์ฐจ๋Š” README์— ์ •๋ฆฌ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์—์ด์ „ํŠธ๋ฅผ ํ†ตํ•ด ๋ฉ”ํƒ€ ์ˆ˜์ค€์—์„œ ๊ตฌํ˜„์„ ๋•๋Š” ๊ตฌ์„ฑ์ด ๋ชฉํ‘œ๋‹ค.
  6. 7:11
    ๊ณ„ํšยทํ…Œ์ŠคํŠธยท๋ฆฌ๋ทฐ ๊ฒŒ์ดํŠธ ์„ค๊ณ„ ๋ณ€๊ฒฝ ์ „์—๋Š” ๊ด€๋ จ ๊ทœ์น™์„ ์ฝ์–ด ์ ์šฉ ๋ฒ”์œ„๋ฅผ ์ •ํ•˜๊ณ , TDD์™€ BDD ์Šคํ‚ฌ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•œ ๋’ค ๊ตฌํ˜„์„ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค. ์ดํ›„ lint, static analysis ๊ฐ™์€ ๊ฒฐ์ •์  ๊ฒ€์‚ฌ์™€ PR ๋ฆฌ๋ทฐ๋ฅผ ๊ฑฐ์ณ, ๋ฐœ๊ฒฌ๋œ ๋ฌธ์ œ๋Š” ๋‹ค์‹œ ์ž๋™ ์ˆ˜์ •๊ณผ ์žฌ๊ฒ€์ฆ์œผ๋กœ ์ด์–ด์ง„๋‹ค.
  7. 8:21
    ๋ ˆํฌ ๊ตฌ์กฐ์™€ ๋กœ์ปฌ ์‹คํ–‰ ์ค€๋น„ agents.md, hidden plan ๋””๋ ‰ํ„ฐ๋ฆฌ, rules, skills, docs, API, tests, ์ •์  ๋ถ„์„ ๋„๊ตฌ, CI ์›Œํฌํ”Œ๋กœ๊ฐ€ ๋ ˆํฌ์— ํ•จ๊ป˜ ๋ฐฐ์น˜๋˜์–ด ์žˆ๋‹ค. `make setup`๊ณผ `make run`์œผ๋กœ ๋กœ์ปฌ์—์„œ ์•ฑ์„ ๋„์›Œ ๊ธฐ๋ณธ ๋™์ž‘์„ ํ™•์ธํ•œ ๋’ค ์ž‘์—…์„ ์‹œ์ž‘ํ•œ๋‹ค.
  8. 10:00
    ํ’ˆ์งˆ ์ฒดํฌํฌ์ธํŠธ์™€ ๊ณตํ†ต ๊ทœ์น™ ์„ค์ •, ๊ฒ€์ฆ, PR ๋ฆฌ๋ทฐ๊นŒ์ง€ ์ด์–ด์ง€๋Š” ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๊ฐ€ ๋ฏธ๋ฆฌ ์ •ํ•ด์ ธ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ repo์— ๋“ค์–ด ์žˆ๋Š” rules์™€ skills๋ฅผ Qodo๊ฐ€ ํก์ˆ˜ํ•ด ์ฝ”๋“œ ์ƒ์„ฑ๊ณผ ๋ฆฌ๋ทฐ ๋ชจ๋‘์— ๊ฐ™์€ ๊ธฐ์ค€์„ ์“ฐ๋Š” ๊ตฌ์กฐ๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.
  9. 11:32
    ๊ณ„ํš๊ณผ ๊ฒ€์ฆ ์ฆ๊ฑฐ ๊ณ„ํš ๋‹จ๊ณ„์—์„œ๋Š” ๋ฌด์—‡์„ ๋ฐ”๊พธ๋Š”์ง€, ์–ด๋–ค ๊ทœ์น™์ด ์ ์šฉ๋˜๋Š”์ง€, ์–ด๋–ค ์Šคํ‚ฌ์ด ์“ฐ์ด๋Š”์ง€, ์–ด๋–ค ํ…Œ์ŠคํŠธ์™€ ๊ฒŒ์ดํŠธ๊ฐ€ ํ†ต๊ณผํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋ฌธ์„œ์— ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค. ๋กœ์ปฌ ๊ฒ€์ฆ์€ Ruff, Pytest, Bandit, `piptest`, `sp`, conventional commits ๊ฐ™์€ ๊ฒฐ์ •์  ๋„๊ตฌ๋กœ ์ฆ๊ฑฐ๋ฅผ ๋‚จ๊ธฐ๊ณ , PR ๋‹จ๊ณ„์—์„œ๋Š” ๋ฐœ๊ฒฌ๋œ ์ด์Šˆ๋ฅผ ๋ฌธ์„œํ™”ํ•œ ๋’ค ๋‹ค์‹œ ๊ฒ€์ฆํ•œ๋‹ค.
  10. 13:23
    Qodo๋ฅผ ๋ ˆํฌ์— ์—ฐ๊ฒฐํ•˜๊ธฐ GitHub ๊ณ„์ •, CLI, Python, UV, Node.js, npm, ์ฝ”๋”ฉ ์—์ด์ „ํŠธ ์ค€๋น„๊ฐ€ ํ•„์š”ํ•˜๊ณ , Qodo ํฌํ„ธ์—์„œ GitHub ์—ฐ๊ฒฐ๊ณผ API key ๋ฐœ๊ธ‰์„ ๋งˆ์นœ ๋’ค ์„ค์ • ํŒŒ์ผ์— ๋ฐ˜์˜ํ•œ๋‹ค. ํŒ€ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ทœ์น™๊ณผ ์Šคํ‚ฌ์„ ๋กœ์ปฌ์—๋งŒ ๋‘์ง€ ๋ง๊ณ  ๋ณ„๋„ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ์ธต์—์„œ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋‘๋Š” ํŽธ์ด ์œ ๋ฆฌํ•˜๋‹ค.
  11. 16:55
    ๊ฒฐ์ œ ์ž‘์—… ํ๋ฆ„ ์„ ํƒํ•˜๊ธฐ ์ž‘์—… ๋ฒ”์œ„๋Š” refund workflow ๋˜๋Š” capture retry handling์ฒ˜๋Ÿผ ์ž‘๊ณ  ๋ฏผ๊ฐํ•œ ๊ฒฐ์ œ ๋ณ€๊ฒฝ์œผ๋กœ ์žก๋Š”๋‹ค. ์ด๋Ÿฐ ๋ณ€๊ฒฝ์€ AI๊ฐ€ ๊ทธ๋Ÿด๋“ฏํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์‰ฝ์ง€๋งŒ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ธฐ๊ธฐ ์‰ฌ์›Œ ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๋ฅผ ์‹œํ—˜ํ•˜๊ธฐ์— ์ ํ•ฉํ•˜๋‹ค.
  12. 18:13
    ๊ทœ์น™๊ณผ ์Šคํ‚ฌ๋กœ Codex ์ค€๋น„ํ•˜๊ธฐ ์—์ด์ „ํŠธ์—๊ฒŒ ๋ ˆํฌ์˜ agents.md์™€ rules๋ฅผ ์ฝํžˆ๊ณ , ์ด๋ฒˆ ์ž‘์—…์— ๊ด€๋ จ๋œ rule id๋ฅผ ์„ ํƒํ•˜๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค. ๋กœ์ปฌ ์›Œํฌ์ˆ ์Šคํ‚ฌ์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด ์„ค์น˜ ๊ณผ์ •์„ ๋จผ์ € ์ˆ˜ํ–‰ํ•ด ์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰ ์ „์— ํ•„์š”ํ•œ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ฐ–์ถ”๊ฒŒ ํ•œ๋‹ค.
  13. 20:47
    ๊ตฌํ˜„ ์ „์— ๋ณ€๊ฒฝ ๊ณ„ํš ์„ธ์šฐ๊ธฐ ๊ตฌํ˜„ ์ „์— high-level plan๊ณผ build session execution plan์„ ๋จผ์ € ์ž‘์„ฑํ•ด, ์•„์ง ์ฝ”๋“œ๋Š” ์“ฐ์ง€ ์•Š๋„๋ก ์ œ์–ดํ•œ๋‹ค. ์ด ๊ณ„ํš์—๋Š” ๋‹ค์Œ ๊ตฌํ˜„ ์Šคํ‚ฌ๋กœ ๋„˜๊ธธ handoff์™€ ์ดํ›„์˜ TDD ํ”„๋กฌํ”„ํŠธ๊นŒ์ง€ ํฌํ•จ๋˜์–ด์•ผ ํ•œ๋‹ค.
  14. 25:07
    ๊ณ„ํš ํ…œํ”Œ๋ฆฟ ์‚ดํŽด๋ณด๊ธฐ ๊ณ„ํš ํ…œํ”Œ๋ฆฟ์€ ๋ณ€๊ฒฝํ•  ๋™์ž‘, ์ ์šฉ ๊ทœ์น™, ์‚ฌ์šฉํ•  ์Šคํ‚ฌ, ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ, ํ†ต๊ณผํ•ด์•ผ ํ•  ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•˜๋„๋ก ๋งŒ๋“ ๋‹ค. ๊ตฌ์กฐํ™”๋œ ๊ณ„ํš์€ ์—์ด์ „ํŠธ๊ฐ€ ์ค‘๊ฐ„์— ์Šค์Šค๋กœ ์˜ค๋ฅ˜๋ฅผ ์ˆ˜์ •ํ•˜๊ณ , ์ปค๋ฐ‹๊ณผ PR๊นŒ์ง€ ์ผ๊ด€๋œ ๋ฐฉ์‹์œผ๋กœ ์ด์–ด์ง€๊ฒŒ ํ•œ๋‹ค.
  15. 27:13
    ์‹คํ–‰ ๋ฐ ์™„๋ฃŒ ๋…ธํŠธ ์ž‘์„ฑํ•˜๊ธฐ ๋นŒ๋“œ ์‹คํ–‰ ํ…œํ”Œ๋ฆฟ์—๋Š” ์‹œ์ž‘ ์ƒํƒœ, ํ˜„์žฌ ๋ธŒ๋žœ์น˜, ๋กœ์ปฌ ๊ฒ€์ฆ ๋ช…๋ น, ๋ฆฐํ„ฐ ๊ธฐ๋Œ€๊ฐ’, ๊ตฌํ˜„ ๋‹จ๊ณ„์™€ ํ…Œ์ŠคํŠธ ๊ณ„ํš์ด ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค. ์™„๋ฃŒ ์‹œ์ ์—๋Š” ์‹คํ–‰ํ•œ ๋ช…๋ น, ๋‚จ๊ฒจ๋‘” ๋ณด๋ฅ˜ ์‚ฌํ•ญ, ๋ณ€๊ฒฝ๋œ ์˜์‚ฌ๊ฒฐ์ •์„ ๋ชจ๋‘ ๊ธฐ๋กํ•ด ๋‘์–ด์•ผ ํ•œ๋‹ค.
  16. 28:38
    ํ™˜๋ถˆ ์›Œํฌํ”Œ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ ์‹ค์ œ ๊ตฌํ˜„ ๋‹จ๊ณ„์—์„œ๋Š” ์„ ํƒํ•œ ํ™˜๋ถˆ ํ๋ฆ„์„ ์ฝ”๋“œ์— ๋ฐ˜์˜ํ•œ๋‹ค. ์ด ๊ตฌ๊ฐ„์€ ๊ณ„ํš๊ณผ ๊ฒ€์ฆ์ด ์•ž์„œ ์ค€๋น„๋˜์–ด ์žˆ์–ด์•ผ๋งŒ ์•ˆ์ „ํ•˜๊ฒŒ ์ง„ํ–‰๋œ๋‹ค.
  17. 29:07
    ์Šคํ‚ฌ๊ณผ ๋กœ์ปฌ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ตฌํ˜„ ํ’ˆ์งˆ์€ Python typing, Pydantic, audit ๊ณ„์—ด ์Šคํ‚ฌ์ฒ˜๋Ÿผ ๋ ˆํฌ์™€ ์–ธ์–ด์— ๋งž๋Š” ์Šคํ‚ฌ ์กฐํ•ฉ์œผ๋กœ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค. ๋กœ์ปฌ ์ฝ”๋“œ ๋ฆฌ๋ทฐ๋ฅผ ๋จผ์ € ๋Œ๋ฆฐ ๋’ค CI๋‚˜ Git provider์—์„œ ์ž๋™ ๋ฆฌ๋ทฐ๋ฅผ ํ•œ ๋ฒˆ ๋” ๋Œ๋ฆฌ๋Š” ํ๋ฆ„์ด ๋ฌธ์ œ๋ฅผ ๋” ๋นจ๋ฆฌ ์žก์•„๋‚ธ๋‹ค.
  18. 33:17
    ๊ทœ์น™ ๋ฒ”์ฃผ์™€ ์‹ฌ๊ฐ๋„ ๊ทœ์น™์€ accessibility, correctness, maintainability, architecture, security ๊ฐ™์€ ๋ฒ”์ฃผ๋กœ ๋‚˜๋‰˜๊ณ , severity์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ทจ๊ธ‰๋œ๋‹ค. ๋ชจ๋“  ๊ทœ์น™์ด ๊ฐ™์€ ๊ฐ•๋„๋กœ ์ฒ˜๋ฆฌ๋  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ, ์ผ๋ถ€๋Š” ๋ณ‘ํ•ฉ ์ฐจ๋‹จ๊นŒ์ง€ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  19. 36:14
    ์ถ”๋ก ๋œ ๊ทœ์น™๊ณผ ์‚ฌ๋žŒ์˜ ์Šน์ธ ๊ทœ์น™์€ rules ๋””๋ ‰ํ„ฐ๋ฆฌ์ฒ˜๋Ÿผ ๋ช…์‹œ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ฒƒ๋ฟ ์•„๋‹ˆ๋ผ ์ฝ”๋“œ๋ฒ ์ด์Šค ๋ถ„์„์œผ๋กœ ์ถ”๋ก ๋œ ์ œ์•ˆ ํ˜•ํƒœ๋กœ๋„ ์ƒ์„ฑ๋œ๋‹ค. ์ œ์•ˆ๋œ ๊ทœ์น™์€ ์˜ˆ์‹œ ์ฝ”๋“œ, ๋ฒ”์ฃผ, ๊ฒฝ๊ณ  ์ˆ˜์ค€์„ ์‚ฌ๋žŒ์ด ๊ฒ€ํ† ํ•œ ๋’ค ํ™œ์„ฑํ™”ํ•ด์•ผ ์‹ค์ œ ๊ทœ์น™์œผ๋กœ ์ ์šฉ๋œ๋‹ค.
  20. 39:10
    PR์„ ์—ด์–ด ๋ฆฌ๋ทฐ์— ๋„˜๊ธฐ๊ธฐ ๊ตฌํ˜„์ด ๋๋‚˜๋ฉด PR์„ ์—ด์–ด Qodo๊ฐ€ ๋ถ„์„ํ•˜๊ฒŒ ํ•˜๊ณ , ์š”์•ฝ๊ณผ ๋ณ€๊ฒฝ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํ™•์ธํ•œ๋‹ค. ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜ค๋ฉด ๊ทธ ์ด์Šˆ๋ฅผ ์ž๋™ ํ•ด๊ฒฐํ•˜๋Š” ์—์ด์ „ํŠธ ์Šคํ‚ฌ๋กœ ์ด์–ด์ง„๋‹ค.
  21. 42:24
    ๊ฒ€์ฆ๊ณผ ๋ฆฌ๋ทฐ ์ปจํ…์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ๋Š” ๊ณ„ํš์ด๋‚˜ ๊ตฌํ˜„์ด ์•„๋‹ˆ๋ผ ๋ฆฌ๋ทฐ์— ํ•„์š”ํ•œ ๊ทœ์น™๊ณผ ์Šคํ‚ฌ๋งŒ ์ปจํ…์ŠคํŠธ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ํŠน์ • PR์— ์—ฐ๊ด€๋œ ๊ทœ์น™์„ ์ถ”์ถœํ•˜๊ณ , ๋กœ์ปฌ ๊ฒ€์ฆ์„ ์žฌ์‹คํ–‰ํ•˜๋Š” ์Šต๊ด€์ด ์ค‘์š”ํ•˜๋‹ค.
  22. 44:00
    ๊ทœ์น™ ์œ„๋ฐ˜๊ณผ ๋ณ‘ํ•ฉ ์ฐจ๋‹จ ์˜ˆ๋ฅผ ๋“ค์–ด Python ํ•จ์ˆ˜์˜ docstring ๋ˆ„๋ฝ์ฒ˜๋Ÿผ ์กฐ์ง์ด ๋†’์€ ์‹ฌ๊ฐ๋„๋กœ ์ •ํ•œ ๊ทœ์น™์€ action required๋กœ ํ‘œ์‹œ๋˜๊ณ  ๋ณ‘ํ•ฉ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค. ์‹ฌ๊ฐ๋„ ์ •์ฑ…์€ ํŒ€์ด ์ •ํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์กฐ์ • ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ฐจ๋‹จ ์—ฌ๋ถ€๋„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  23. 45:46
    ๊ฒฐ์ •์„ฑ๊ณผ ๊ทœ์น™ ์„ ํƒ์˜ ํ•œ๊ณ„ ํ˜„์žฌ๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์–ด๋–ค ๊ทœ์น™์ด ์ •ํ™•ํžˆ ๊ด€๋ จ๋˜๋Š”์ง€ ์™„์ „ํžˆ ๊ฒฐ์ •์ ์œผ๋กœ ํŒ์ •ํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ๊ทœ์ œ ์‚ฐ์—…์—์„œ๋Š” ์ด ๋ถ€๋ถ„์ด ์ค‘์š”ํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์„ ํƒ ์ •ํ™•๋„์™€ ๊ฒ€์ฆ ์ž๋™ํ™”๋Š” ์•ž์œผ๋กœ ๋” ๊ฐ•ํ™”๋˜์–ด์•ผ ํ•  ์˜์—ญ์ด๋‹ค.
  24. 47:13
    ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ ์‚ดํŽด๋ณด๊ธฐ ๋ฆฌ๋ทฐ ๊ฒฐ๊ณผ๋Š” ๋ฒ„๊ทธ, ๊ทœ์น™ ์œ„๋ฐ˜, ์Šคํ‚ฌ ์ธ์‚ฌ์ดํŠธ์ฒ˜๋Ÿผ ๊ตฌ์ฒด์ ์œผ๋กœ ๋ถ„ํ•ด๋˜์–ด ํ‘œ์‹œ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด refund ๊ฒฐ๊ณผ๋ฅผ ์ธ๋ฉ”๋ชจ๋ฆฌ dict์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์€ ์ง€์†์„ฑ์ด ์—†์œผ๋ฏ€๋กœ, ํ•ด๋‹น ์ฝ”๋“œ์™€ ์ฆ๊ฑฐ๋ฅผ ํ•จ๊ป˜ ๋ณด๊ณ  ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.
  25. 49:03
    ์—์ด์ „ํŠธ ์Šคํ‚ฌ๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ Qodo PR resolver ๊ฐ™์€ ์Šคํ‚ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด critical, high ์ˆ˜์ค€ ์ด์Šˆ๋ฅผ ๋ชจ์•„ ์ž๋™ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ์ด์Šˆ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ฒ€ํ† ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์›Œํฌ์ˆ์—์„œ๋Š” ์ž๋™ ์ˆ˜์ •์œผ๋กœ ํ๋ฆ„์„ ๋ณด์—ฌ์ค€๋‹ค.
  26. 50:16
    ๊ฒ€์ฆ์„ ๋‹ค์‹œ ๋Œ๋ฆฌ๊ณ  PR ๊ฐฑ์‹ ํ•˜๊ธฐ ์ˆ˜์ • ํ›„์—๋Š” ๋‹ค์‹œ ๊ฒ€์ฆ์„ ์‹คํ–‰ํ•˜๊ณ , ๊ตฌ์กฐํ™”๋œ ์ปค๋ฐ‹ ๊ทœ์น™์ด ์ง€์ผœ์ง€๋Š”์ง€ ํ™•์ธํ•œ ๋’ค PR์— ๋ณ€๊ฒฝ ์š”์•ฝ์„ ๊ฒŒ์‹œํ•ด์•ผ ํ•œ๋‹ค. worktree ๊ฐ™์€ ์„ธ๋ถ€ ์šด์šฉ์€ ์—์ด์ „ํŠธ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ตœ์ข…์ ์œผ๋กœ๋Š” ๊ฒ€์ฆ์ด ๋‹ค์‹œ ๋Œ์•„๊ฐ€์•ผ ์•ˆ์ „ํ•˜๋‹ค.
  27. 53:08
    ์›Œํฌ์ˆ ๊ณผ์ •์„ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์ด ์›Œํฌ์ˆ์˜ ํ•ต์‹ฌ์€ ํŠน์ • ๋ ˆํฌ๊ฐ€ ์•„๋‹ˆ๋ผ rules, skills, ๊ณ„ํš ํ…œํ”Œ๋ฆฟ, ๊ฒ€์ฆ ์ ˆ์ฐจ๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—๋„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ์žˆ๋‹ค. open-source ๋Œ€์•ˆ์œผ๋กœ Packmind ๊ฐ™์€ ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ ๋„๊ตฌ๋„ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๋‹ค.
  28. 55:15
    ์ปจํ…์ŠคํŠธ์™€ ๋ฐฐํฌ ๊ด€๋ จ ์งˆ๋ฌธ ์„ธ์…˜ ์ปจํ…์ŠคํŠธ๋Š” ์‚ฌ์šฉ ๋ฐฉ์‹์— ๋”ฐ๋ผ compactํ•ด๋„ ๋ฌธ์ œ์—†์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•„์š”ํ•˜๋ฉด ์ƒˆ ์„ธ์…˜์œผ๋กœ ์˜ฎ๊ฒจ๊ฐ€๋ฉฐ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋ณด์•ˆ ์š”๊ตฌ๊ฐ€ ์žˆ์œผ๋ฉด on-prem deployment ๊ฐ™์€ ๋กœ์ปฌยท์‚ฌ๋‚ด ๋ฐฐํฌ ์˜ต์…˜๋„ ์ œ๊ณต๋œ๋‹ค.
  29. 56:39
    ์™„๋ฃŒ๋œ ์ˆ˜์ • ์‚ฌํ•ญ ๊ฒ€์ฆํ•˜๊ธฐ ๋งˆ์ง€๋ง‰์—๋Š” ๋ชจ๋“  ์ด์Šˆ๊ฐ€ ์‹ค์ œ๋กœ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ๋‹ค์‹œ ํ™•์ธํ•˜๊ณ , ์ˆ˜์ • ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ•ด ๋งˆ๋ฌด๋ฆฌํ•œ๋‹ค. ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๋Š” ์ˆ˜์ • ์ œ์•ˆ์—์„œ ๋๋‚˜์ง€ ์•Š๊ณ  ์ตœ์ข… ๊ฒ€์ฆ๊นŒ์ง€ ์™„๋ฃŒ๋˜์–ด์•ผ ๋‹ซํžŒ๋‹ค.

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

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