Loop Engineering & Agent Skills - k82022603/k82022603.github.io GitHub Wiki

Loop Engineering & Agent Skills #

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ๋ฏธ๋ž˜: ํ”„๋กฌํ”„ํŠธ์—์„œ ๋ฃจํ”„ ์„ค๊ณ„๋กœ

์ถœ์ฒ˜: Addy Osmani (Google ์—”์ง€๋‹ˆ์–ด)์˜ "Loop Engineering" (2026๋…„ 6์›” 8์ผ) ๋ฐ "Agent Skills" (2026๋…„ 5์›” 3์ผ)
์ž‘์„ฑ์ผ: 2026๋…„ 6์›” 11์ผ
ํ•ต์‹ฌ ์ธ๋ฌผ: Addy Osmani (Google), Peter Steinberger (@steipete), Boris Cherny (Anthropic Claude Code ์ด๊ด„)


๋ชฉ์ฐจ

  1. ์„œ๋ก : ํ•˜๋‚˜์˜ ํŠธ์œ—์ด ๋ถˆ๋ถ™์ธ ๋…ผ์Ÿ
  2. Loop Engineering์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€
  3. ๋ฃจํ”„์˜ 5๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ + ์ƒํƒœ(State)
  4. Claude Code vs Codex: ๋‘ ๋„๊ตฌ์˜ ๋น„๊ต
  5. ์‹ค์ œ ๋ฃจํ”„๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹
  6. ๋ฃจํ”„๊ฐ€ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๋“ค
  7. Agent Skills: ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด์˜ ํŒ๋‹จ๋ ฅ์„ ์ฝ”๋“œํ™”ํ•˜๋‹ค
  8. "์Šคํ‚ฌ(Skill)"์ด๋ž€ ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ๊ฐ€
  9. Agent Skills๊ฐ€ ๊ตฌํ˜„ํ•˜๋Š” SDLC ์ „์ฒด ์ฃผ๊ธฐ
  10. 5๊ฐ€์ง€ ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™
  11. Google ์—”์ง€๋‹ˆ์–ด๋ง ์ฒ ํ•™๊ณผ์˜ ์—ฐ๊ฒฐ
  12. Agent Skills ์„ค์น˜ ๋ฐ ํ™œ์šฉ ๋ฐฉ๋ฒ•
  13. Loop Engineering๊ณผ Agent Skills์˜ ๊ด€๊ณ„
  14. ํ•ต์‹ฌ ๊ตํ›ˆ ๋ฐ ๊ฒฐ๋ก 

1. ์„œ๋ก : ํ•˜๋‚˜์˜ ํŠธ์œ—์ด ๋ถˆ๋ถ™์ธ ๋…ผ์Ÿ

2026๋…„ 6์›” 7์ผ ์˜ค์ „ 11์‹œ 58๋ถ„, PSP AG์˜ CEO์ด์ž ์œ ๋ช… iOS ๊ฐœ๋ฐœ์ž์ธ Peter Steinberger(@steipete)๊ฐ€ X(๊ตฌ ํŠธ์œ„ํ„ฐ)์— ์งง์€ ๊ธ€์„ ์˜ฌ๋ ธ๋‹ค. ์กฐํšŒ์ˆ˜ 120๋งŒ ํšŒ๋ฅผ ๊ธฐ๋กํ•œ ์ด ๊ธ€์˜ ๋‚ด์šฉ์€ ์ด๋ ‡๋‹ค:

"Here's your monthly reminder that you shouldn't be prompting coding agents anymore. You should be designing loops that prompt your agents." โ€” Peter Steinberger, 2026๋…„ 6์›” 7์ผ

์ด ๊ธ€์€ 803๊ฐœ์˜ ๋Œ“๊ธ€, 906๊ฐœ์˜ ๋ฆฌํŠธ์œ—, 9,600๊ฐœ์˜ ์ข‹์•„์š”๋ฅผ ๋ฐ›์œผ๋ฉฐ ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ ์ „์ฒด์— ํŒŒ์žฅ์„ ์ผ์œผ์ผฐ๋‹ค. ๋‹ค์Œ ๋‚ ์ธ 6์›” 8์ผ, Google์˜ ์—”์ง€๋‹ˆ์–ด Addy Osmani๋Š” ์ด ๊ฐœ๋…์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธด ๊ธ€ "Loop Engineering"์„ ๋ฐœํ‘œํ–ˆ๋‹ค. ์—ฌ๊ธฐ์— ๋”ํ•ด, Anthropic์—์„œ Claude Code๋ฅผ ์ด๊ด„ํ•˜๋Š” Boris Cherny ์—ญ์‹œ ๋น„์Šทํ•œ ๋ง์„ ํ–ˆ๋‹ค:

"I don't prompt Claude anymore. I have loops running that prompt Claude and figuring out what to do. My job is to write loops." โ€” Boris Cherny, Anthropic Claude Code ์ด๊ด„

์ด ์„ธ ์‚ฌ๋žŒ์˜ ๋ฐœ์–ธ์€ ๊ฐ™์€ ๋ฐฉํ–ฅ์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ์—ˆ๋‹ค. AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์™€ ํ˜‘์—…ํ•˜๋Š” ๋ฐฉ์‹์ด ๊ทผ๋ณธ์ ์œผ๋กœ ๋ณ€ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ•œ ๋งˆ๋””๋กœ ๋งํ•˜์ž๋ฉด: "๋‹น์‹ ์ด ์ง์ ‘ ์—์ด์ „ํŠธ์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์‹œ๋Œ€๋Š” ๋๋‚˜๊ฐ€๊ณ  ์žˆ๋‹ค. ์ด์ œ๋Š” ์—์ด์ „ํŠธ์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณด๋‚ด๋Š” ์‹œ์Šคํ…œ์„ ์„ค๊ณ„ํ•˜๋Š” ์‹œ๋Œ€๋‹ค."


2. Loop Engineering์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€

Loop Engineering(๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง)์„ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •์˜ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง์ด๋ž€, ์—์ด์ „ํŠธ์—๊ฒŒ ์ง์ ‘ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ์‚ฌ๋žŒ์„ ์Šค์Šค๋กœ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋Œ€์‹  ๊ทธ ์ผ์„ ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์ง์ ‘ ์„ค๊ณ„ํ•œ๋‹ค.

ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ์ „ํ™˜ ๊ณผ์ •

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ๊ฐ€ ์ฒ˜์Œ ๋“ฑ์žฅํ•œ ์•ฝ 2๋…„ ์ „๋ถ€ํ„ฐ ์ง€๊ธˆ๊นŒ์ง€์˜ ํ๋ฆ„์„ ๋ณด๋ฉด, ์ผํ•˜๋Š” ๋ฐฉ์‹์ด ๋‹จ๊ณ„์ ์œผ๋กœ ์ง„ํ™”ํ•ด ์™”๋‹ค.

flowchart LR
    A["๐Ÿ“ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง\n(Prompt Engineering)\n\n์ข‹์€ ํ”„๋กฌํ”„ํŠธ ํ•œ ๋ฒˆ\n์ž˜ ์“ฐ๋Š” ๊ฒƒ"] --> B["๐Ÿง  ์ปจํ…์ŠคํŠธ ์—”์ง€๋‹ˆ์–ด๋ง\n(Context Engineering)\n\n์ถฉ๋ถ„ํ•œ ๋งฅ๋ฝ์„\nํ•จ๊ป˜ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ"]
    B --> C["๐Ÿ—๏ธ ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง\n(Harness Engineering)\n\n์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š”\nํ™˜๊ฒฝ ์ž์ฒด๋ฅผ ์„ค๊ณ„"]
    C --> D["๐Ÿ”„ ๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง\n(Loop Engineering)\n\n์—์ด์ „ํŠธ์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ\n๋ณด๋‚ด๋Š” ์‹œ์Šคํ…œ์„ ์„ค๊ณ„"]

    style A fill:#f0f4ff,stroke:#4a6cf7
    style B fill:#f0f4ff,stroke:#4a6cf7
    style C fill:#e8f5e9,stroke:#43a047
    style D fill:#fff3e0,stroke:#fb8c00
Loading

์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„: ์ง์ ‘ ํ”„๋กฌํ”„ํŠธ ์ž…๋ ฅ ๋ฐฉ์‹ (2๋…„ ์ „ ~ ํ˜„์žฌ)

๊ธฐ์กด์˜ ๋ฐฉ์‹์€ ๋‹จ์ˆœํ–ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์—์ด์ „ํŠธ์—๊ฒŒ ์ง์ ‘ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ๊ฒฐ๊ณผ๋ฌผ์„ ์ฝ๊ณ , ๋‹ค์‹œ ๋‹ค์Œ ์ง€์‹œ์‚ฌํ•ญ์„ ์ž…๋ ฅํ•˜๋Š” ํ˜•ํƒœ์˜€๋‹ค. ์—์ด์ „ํŠธ๋Š” ๋„๊ตฌ์˜€๊ณ , ๊ฐœ๋ฐœ์ž๋Š” ๊ทธ ๋„๊ตฌ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์†์— ์ฅ๊ณ  ์žˆ์—ˆ๋‹ค. ํ„ด(turn)์ด ํ•˜๋‚˜์”ฉ ์Œ“์ด๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋‘ ๋ฒˆ์งธ ๋‹จ๊ณ„: ๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฐฉ์‹ (ํ˜„์žฌ ~ ๋ฏธ๋ž˜)

์ด์ œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹œ์Šคํ…œ์„ ๋จผ์ € ์„ค๊ณ„ํ•œ๋‹ค. ๊ทธ ์‹œ์Šคํ…œ์ด ํ•  ์ผ์„ ์ฐพ์•„๋‚ด๊ณ , ์—์ด์ „ํŠธ์—๊ฒŒ ๊ทธ ์ผ์„ ๋„˜๊ฒจ์ฃผ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ์ ๊ฒ€ํ•˜๊ณ , ๋ฌด์—‡์ด ์™„๋ฃŒ๋๋Š”์ง€ ๊ธฐ๋กํ•˜๊ณ , ๋‹ค์Œ์— ํ•  ์ผ์„ ๊ฒฐ์ •ํ•œ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์—์ด์ „ํŠธ๋ฅผ ์ฐŒ๋ฅด๋Š” ๋Œ€์‹ , ๊ทธ ์—ญํ• ์„ ์‹œ์Šคํ…œ์ด ๋Œ€์‹ ํ•œ๋‹ค.

"๋ฃจํ”„(Loop)"์˜ ์ •ํ™•ํ•œ ์˜๋ฏธ

์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” "๋ฃจํ”„"๋Š” ๋‹จ์ˆœํžˆ ๋ฐ˜๋ณต์„ ์˜๋ฏธํ•˜์ง€ ์•Š๋Š”๋‹ค. Addy Osmani๋Š” ๋ฃจํ”„๋ฅผ ์žฌ๊ท€์  ๋ชฉํ‘œ(recursive goal) ๋กœ ์ •์˜ํ•œ๋‹ค. ์ฆ‰, ๋ชฉ์ ์„ ์ •์˜ํ•˜๋ฉด AI๊ฐ€ ๊ทธ ๋ชฉ์ ์ด ๋‹ฌ์„ฑ๋  ๋•Œ๊นŒ์ง€ ์Šค์Šค๋กœ ๋ฐ˜๋ณตํ•œ๋‹ค๋Š” ๊ฐœ๋…์ด๋‹ค. ๋น„์œ ํ•˜์ž๋ฉด, ๋งค์ผ ์•„์นจ ์ง์ ‘ ์šฐํŽธํ•จ์„ ํ™•์ธํ•˜๋Ÿฌ ๊ฐ€๋˜ ์‚ฌ๋žŒ์ด, ์ด์ œ๋Š” ์šฐํŽธ์ด ๋„์ฐฉํ•˜๋ฉด ์ž๋™์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  ์ค‘์š”ํ•œ ๊ฒƒ๋งŒ ์•Œ๋ ค์ฃผ๋Š” ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด ๋†“์€ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.


3. ๋ฃจํ”„์˜ 5๊ฐ€์ง€ ๊ตฌ์„ฑ์š”์†Œ + ์ƒํƒœ(State)

Addy Osmani๋Š” ๋ฃจํ”„๊ฐ€ ์ž‘๋™ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ 5๊ฐ€์ง€(+1)๋กœ ์ •๋ฆฌํ–ˆ๋‹ค. ์ด ๊ตฌ์„ฑ์š”์†Œ๋“ค์€ Claude Code์™€ OpenAI Codex ์•ฑ ์–‘์ชฝ ๋ชจ๋‘์— ์ด๋ฏธ ํƒ‘์žฌ๋˜์–ด ์žˆ๋‹ค.

graph TD
    A["๐Ÿ• 1. ์ž๋™ํ™” (Automations)\n์Šค์ผ€์ค„์— ๋”ฐ๋ผ ํ•  ์ผ ๋ฐœ๊ฒฌ ๋ฐ ๋ถ„๋ฅ˜"] --> B["๐ŸŒฟ 2. ์›ŒํฌํŠธ๋ฆฌ (Worktrees)\n๋ณ‘๋ ฌ ์ž‘์—… ๊ฐ„ ์ถฉ๋Œ ๋ฐฉ์ง€"]
    B --> C["๐Ÿ“š 3. ์Šคํ‚ฌ (Skills)\nํ”„๋กœ์ ํŠธ ์ง€์‹์„ ๋ฌธ์„œ๋กœ ์ €์žฅ"]
    C --> D["๐Ÿ”Œ 4. ํ”Œ๋Ÿฌ๊ทธ์ธ/์ปค๋„ฅํ„ฐ\n์‹ค์ œ ์‚ฌ์šฉ ์ค‘์ธ ๋„๊ตฌ์™€ ์—ฐ๊ฒฐ"]
    D --> E["๐Ÿค– 5. ์„œ๋ธŒ์—์ด์ „ํŠธ (Sub-agents)\n๋งŒ๋“œ๋Š” ์ž์™€ ๊ฒ€์ฆํ•˜๋Š” ์ž์˜ ๋ถ„๋ฆฌ"]
    E --> F["๐Ÿ’พ +1. ์ƒํƒœ (State)\n๋Œ€ํ™” ๋ฐ–์—์„œ ์‚ด์•„๋‚จ๋Š” ๊ธฐ์–ต"]
    F -.->|"๋‹ค์Œ ์‹คํ–‰ ์‹œ ์ฐธ์กฐ"| A

    style A fill:#e3f2fd,stroke:#1976d2
    style B fill:#f3e5f5,stroke:#7b1fa2
    style C fill:#e8f5e9,stroke:#388e3c
    style D fill:#fff8e1,stroke:#f57f17
    style E fill:#fce4ec,stroke:#c62828
    style F fill:#f5f5f5,stroke:#616161
Loading

๊ตฌ์„ฑ์š”์†Œ 1: ์ž๋™ํ™” (Automations) โ€” ๋ฃจํ”„์˜ ์‹ฌ์žฅ๋ฐ•๋™

์ž๋™ํ™”๋Š” ๋ฃจํ”„๋ฅผ ์ง„์ •ํ•œ ๋ฃจํ”„๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ํ•ต์‹ฌ ์š”์†Œ๋‹ค. ์ž๋™ํ™”๊ฐ€ ์—†๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ๊ทธ๋ƒฅ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•œ ๋ช…๋ น์— ๋ถˆ๊ณผํ•˜๋‹ค.

์ž๋™ํ™”๋ž€ ์Šค์ผ€์ค„์— ๋”ฐ๋ผ ์Šค์Šค๋กœ ์ž‘๋™ํ•˜๋ฉด์„œ ํ•  ์ผ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋งค์ผ ์•„์นจ 8์‹œ์— ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜์–ด ์–ด์ œ ์‹คํŒจํ•œ CI ํ…Œ์ŠคํŠธ, ์—ด๋ ค ์žˆ๋Š” ์ด์Šˆ๋“ค, ์ตœ๊ทผ ์ปค๋ฐ‹ ๋‚ด์šฉ์„ ์ฝ๊ณ , ์˜ค๋Š˜ ํ•ด์•ผ ํ•  ์ผ ๋ชฉ๋ก์„ ์ •๋ฆฌํ•ด ๋†“๋Š”๋‹ค.

Codex ์•ฑ์—์„œ๋Š” Automations ํƒญ์—์„œ ์ด๋ฅผ ์„ค์ •ํ•œ๋‹ค. ํ”„๋กœ์ ํŠธ, ์‹คํ–‰ํ•  ํ”„๋กฌํ”„ํŠธ, ์‹คํ–‰ ๋นˆ๋„, ๋กœ์ปฌ ์ฒดํฌ์•„์›ƒ์—์„œ ์‹คํ–‰ํ• ์ง€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์›ŒํฌํŠธ๋ฆฌ์—์„œ ์‹คํ–‰ํ• ์ง€๋ฅผ ์ง€์ •ํ•œ๋‹ค. ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐœ๊ฒฌํ•œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” Triage ๋ฐ›์€ํŽธ์ง€ํ•จ์œผ๋กœ ๋ชจ์ด๊ณ , ์•„๋ฌด๊ฒƒ๋„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•œ ๊ฒฐ๊ณผ๋Š” ์ž๋™์œผ๋กœ ์•„์นด์ด๋ธŒ๋œ๋‹ค.

Claude Code์—์„œ๋Š” /loop ๋ช…๋ น์–ด๋กœ ์ผ์ • ์ฃผ๊ธฐ๋งˆ๋‹ค ํ”„๋กฌํ”„ํŠธ๋‚˜ ๋ช…๋ น์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, cron ์ž‘์—…์„ ์Šค์ผ€์ค„๋งํ•˜๊ฑฐ๋‚˜, ์—์ด์ „ํŠธ ์ƒ๋ช…์ฃผ๊ธฐ์˜ ํŠน์ • ์‹œ์ ์— ์…ธ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ํ›…(hooks)์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋…ธํŠธ๋ถ์„ ๋‹ซ์€ ํ›„์—๋„ ๊ณ„์† ์‹คํ–‰์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด GitHub Actions๋กœ ๋„˜๊ธธ ์ˆ˜ ์žˆ๋‹ค.

ํŠนํžˆ ์ค‘์š”ํ•œ ์›์‹œ ๋ช…๋ น์–ด๊ฐ€ ๋‘ ๊ฐ€์ง€ ์žˆ๋‹ค. /loop๋Š” ์ผ์ • ์ฃผ๊ธฐ๋กœ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๊ณ , /goal์€ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์กฐ๊ฑด์ด ์‹ค์ œ๋กœ ์ถฉ์กฑ๋  ๋•Œ๊นŒ์ง€ ๊ณ„์† ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. /goal์˜ ํ•ต์‹ฌ์€ ๋งค ํ„ด์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค ๋ณ„๋„์˜ ์ž‘์€ ๋ชจ๋ธ์ด ์™„๋ฃŒ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ์—์ด์ „ํŠธ ์ž์‹ ์ด ์™„๋ฃŒ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ด ์ค‘์š”ํ•˜๋‹ค. "auth ํด๋”์˜ ๋ชจ๋“  ํ…Œ์ŠคํŠธ๊ฐ€ ํ†ต๊ณผํ•˜๊ณ  lint๊ฐ€ ๊นจ๋—ํ•˜๋‹ค"์™€ ๊ฐ™์€ ๊ฒ€์ฆ ๊ฐ€๋Šฅํ•œ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ์ž…๋ ฅํ•˜๋ฉด, ๊ทธ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๊นŒ์ง€ ์—์ด์ „ํŠธ๊ฐ€ ์•Œ์•„์„œ ์ž‘๋™ํ•œ๋‹ค.

Codex์—๋„ ๋™์ผํ•˜๊ฒŒ /goal ๋ช…๋ น์–ด๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ผ์‹œ์ •์ง€ยท์žฌ๊ฐœยท์ทจ์†Œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•œ๋‹ค. ์ด๋ฆ„๋„ ๋™์ผํ•˜๊ณ , ๋™์ž‘ ๋ฐฉ์‹๋„ ๋™์ผํ•˜๋‹ค.

๊ตฌ์„ฑ์š”์†Œ 2: ์›ŒํฌํŠธ๋ฆฌ (Worktrees) โ€” ๋ณ‘๋ ฌ ์ž‘์—…์˜ ์ถฉ๋Œ ๋ฐฉ์ง€

๋‘ ๋ฒˆ์งธ ์—์ด์ „ํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์ˆœ๊ฐ„ ํŒŒ์ผ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•œ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ์‹คํŒจ์˜ ์‹œ์ž‘์ ์ด๋‹ค. ๋‘ ์—์ด์ „ํŠธ๊ฐ€ ๋™์ผํ•œ ํŒŒ์ผ์— ๋™์‹œ์— ์“ฐ๋Š” ๊ฒƒ์€, ๋‘ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์„œ๋กœ ๋Œ€ํ™”๋„ ์—†์ด ๊ฐ™์€ ์ฝ”๋“œ ์ค„์— ์ปค๋ฐ‹ํ•˜๋Š” ๊ฒƒ๊ณผ ์™„์ „ํžˆ ๋™์ผํ•œ ๋ฌธ์ œ๋‹ค.

git ์›ŒํฌํŠธ๋ฆฌ(worktree)๋Š” ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์›ŒํฌํŠธ๋ฆฌ๋Š” ๋™์ผํ•œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋ฉด์„œ๋„ ๊ฐ์ž ๋…๋ฆฝ๋œ ์ž‘์—… ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ๊ฐ–๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰, ์—์ด์ „ํŠธ A์˜ ํŽธ์ง‘ ๋‚ด์šฉ์ด ์—์ด์ „ํŠธ B์˜ ์ฒดํฌ์•„์›ƒ์— ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค.

Codex๋Š” ์›ŒํฌํŠธ๋ฆฌ ์ง€์›์„ ๊ธฐ๋ณธ์œผ๋กœ ํƒ‘์žฌํ•˜์—ฌ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๊ฐ€ ๋™์ผํ•œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์—์„œ ๋™์‹œ์— ์ž‘์—…ํ•ด๋„ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. Claude Code๋Š” git worktree ๋ช…๋ น, --worktree ํ”Œ๋ž˜๊ทธ๋กœ ์„ธ์…˜์„ ๋…๋ฆฝ ์ฒดํฌ์•„์›ƒ์—์„œ ์—ด๊ฑฐ๋‚˜, ์„œ๋ธŒ์—์ด์ „ํŠธ์— isolation: worktree ์„ค์ •์„ ์ถ”๊ฐ€ํ•ด ๊ฐ ํ—ฌํผ๊ฐ€ ์ž‘์—… ํ›„ ์ž๋™ ์ •๋ฆฌ๋˜๋Š” ์‹ ์„ ํ•œ ์ฒดํฌ์•„์›ƒ์„ ๊ฐ–๊ฒŒ ํ•œ๋‹ค.

๋‹จ, ์›ŒํฌํŠธ๋ฆฌ๊ฐ€ ๊ธฐ๊ณ„์  ์ถฉ๋Œ์€ ์ œ๊ฑฐํ•ด๋„ ์‚ฌ๋žŒ์˜ ๋ณ‘๋ชฉ์€ ์ œ๊ฑฐํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์—์ด์ „ํŠธ๋ฅผ ๋ช‡ ๊ฐœ ๋ณ‘๋ ฌ๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š”์ง€์˜ ์‹ค์งˆ์  ํ•œ๊ณ„๋Š” ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ์ž ์ž์‹ ์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์†๋„๊ฐ€ ๊ฒฐ์ •ํ•œ๋‹ค.

๊ตฌ์„ฑ์š”์†Œ 3: ์Šคํ‚ฌ (Skills) โ€” ๋งค๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด

์Šคํ‚ฌ์€ ์—์ด์ „ํŠธ๊ฐ€ ๋งค ์„ธ์…˜๋งˆ๋‹ค ์ฒ˜์Œ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ ์ปจํ…์ŠคํŠธ๋ฅผ ๋‹ค์‹œ ํŒŒ์•…ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์Šคํ‚ฌ์€ SKILL.md ํŒŒ์ผ์ด ๋“ค์–ด ์žˆ๋Š” ํด๋” ํ˜•ํƒœ๋กœ, ์ง€์‹œ์‚ฌํ•ญ๊ณผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ๊ทธ๋ฆฌ๊ณ  ์„ ํƒ์ ์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ, ์ฐธ๊ณ  ์ž๋ฃŒ, ์—์…‹์„ ํฌํ•จํ•œ๋‹ค.

Codex๋Š” $์Šคํ‚ฌ๋ช… ๋˜๋Š” /skills ๋ช…๋ น์œผ๋กœ ์Šคํ‚ฌ์„ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜, ์ž‘์—… ๋‚ด์šฉ์ด ์Šคํ‚ฌ ์„ค๋ช…๊ณผ ์ผ์น˜ํ•  ๋•Œ ์ž๋™์œผ๋กœ ์Šคํ‚ฌ์„ ์‹คํ–‰ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์Šคํ‚ฌ ์„ค๋ช…์€ ์ฐฝ์˜์ ์œผ๋กœ ์“ฐ๋Š” ๊ฒƒ๋ณด๋‹ค ๊ตฌ์ฒด์ ์ด๊ณ  ๋‹จ์กฐ๋กญ๊ฒŒ ์“ฐ๋Š” ๊ฒƒ์ด ๋” ํšจ๊ณผ์ ์ด๋‹ค.

์Šคํ‚ฌ์ด ์ค‘์š”ํ•œ ๋˜ ๋‹ค๋ฅธ ์ด์œ ๋Š” ์˜๋„(intent)์˜ ๋นš(debt)์„ ๋ง‰๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. AI ์—์ด์ „ํŠธ๋Š” ๋งค ์„ธ์…˜์„ ๋นˆ ์ƒํƒœ์—์„œ ์‹œ์ž‘ํ•˜๋ฉฐ, ์˜๋„์— ๋นˆ ๊ตฌ๋ฉ์ด ์žˆ์œผ๋ฉด ์ž์‹ ๊ฐ ์žˆ๊ฒŒ ์ถ”์ธก์œผ๋กœ ์ฑ„์šด๋‹ค. ์Šคํ‚ฌ์€ ๊ทธ ์˜๋„๋ฅผ ์™ธ๋ถ€์— ๋ฌธ์„œํ™”ํ•ด ๋†“์€ ๊ฒƒ์ด๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๊ด€๋ก€, ๋นŒ๋“œ ๋‹จ๊ณ„, "์šฐ๋ฆฌ๊ฐ€ ์ด๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๊ทธ ์‚ฌ๊ฑด ๋•Œ๋ฌธ์ด๋‹ค"์™€ ๊ฐ™์€ ๋‚ด์šฉ์„ ํ•œ ๋ฒˆ ์ž‘์„ฑํ•ด ๋‘๋ฉด, ์—์ด์ „ํŠธ๊ฐ€ ๋งค๋ฒˆ ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ์ฝ๋Š”๋‹ค.

์Šคํ‚ฌ ์—†์ด๋Š” ๋ฃจํ”„๊ฐ€ ๋งค ์ฃผ๊ธฐ๋งˆ๋‹ค ํ”„๋กœ์ ํŠธ ์ „์ฒด๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ํŒŒ์•…ํ•œ๋‹ค. ์Šคํ‚ฌ์ด ์žˆ์œผ๋ฉด ์ง€์‹์ด ๋ˆ„์ ๋œ๋‹ค.

์Šคํ‚ฌ๊ณผ ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ด€๊ณ„๋„ ๋ช…ํ™•ํžˆ ํ•ด ๋‘์–ด์•ผ ํ•œ๋‹ค. ์Šคํ‚ฌ์€ ์ฝ˜ํ…์ธ ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํ˜•์‹์ด๊ณ , ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๊ทธ๊ฒƒ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์—ฌ๋Ÿฌ ๋ ˆํฌ์— ๊ฑธ์ณ ์Šคํ‚ฌ์„ ๊ณต์œ ํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ์Šคํ‚ฌ์„ ๋ฌถ๊ณ  ์‹ถ์„ ๋•Œ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ํŒจํ‚ค์ง•ํ•œ๋‹ค.

๊ตฌ์„ฑ์š”์†Œ 4: ํ”Œ๋Ÿฌ๊ทธ์ธ๊ณผ ์ปค๋„ฅํ„ฐ โ€” ๋ฃจํ”„๊ฐ€ ์‹ค์ œ ๋„๊ตฌ์™€ ์—ฐ๊ฒฐ๋˜๋Š” ๋ฐฉ๋ฒ•

ํŒŒ์ผ์‹œ์Šคํ…œ๋งŒ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ฃจํ”„๋Š” ์ž‘์€ ๋ฃจํ”„๋‹ค. MCP(Model Context Protocol) ๊ธฐ๋ฐ˜์˜ ์ปค๋„ฅํ„ฐ๋ฅผ ํ†ตํ•ด ์—์ด์ „ํŠธ๋Š” ์ด์Šˆ ํŠธ๋ž˜์ปค๋ฅผ ์ฝ๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฟผ๋ฆฌํ•˜๊ณ , ์Šคํ…Œ์ด์ง• API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ , Slack์— ๋ฉ”์‹œ์ง€๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

Codex์™€ Claude Code๋Š” ๋ชจ๋‘ MCP๋ฅผ ์ง€์›ํ•˜๋ฏ€๋กœ, ํ•œ ๋„๊ตฌ๋ฅผ ์œ„ํ•ด ์ž‘์„ฑํ•œ ์ปค๋„ฅํ„ฐ๊ฐ€ ๋‹ค๋ฅธ ๋„๊ตฌ์—์„œ๋„ ๋Œ€๋ถ€๋ถ„ ๊ทธ๋Œ€๋กœ ์ž‘๋™ํ•œ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ปค๋„ฅํ„ฐ์™€ ์Šคํ‚ฌ์„ ๋ฌถ์–ด ํŒ€์›์ด ์ „์ฒด ์„ค์ •์„ ํ•œ ๋ฒˆ์— ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

์ด๊ฒƒ์ด "์ˆ˜์ • ๋ฐฉ๋ฒ•์ด ์—ฌ๊ธฐ ์žˆ์Šต๋‹ˆ๋‹ค"๋ผ๊ณ  ๋งํ•˜๋Š” ์—์ด์ „ํŠธ์™€, PR์„ ์ง์ ‘ ์—ด๊ณ , Linear ํ‹ฐ์ผ“์„ ์—ฐ๊ฒฐํ•˜๊ณ , CI๊ฐ€ ํ†ต๊ณผํ•˜๋ฉด ์•Œ์•„์„œ ์ฑ„๋„์— ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๋ฃจํ”„์˜ ์ฐจ์ด๋‹ค. ์ปค๋„ฅํ„ฐ๊ฐ€ ์žˆ์–ด์•ผ ๋ฃจํ”„๋Š” ์‹ค์ œ ํ™˜๊ฒฝ ์•ˆ์—์„œ ํ–‰๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ตฌ์„ฑ์š”์†Œ 5: ์„œ๋ธŒ์—์ด์ „ํŠธ (Sub-agents) โ€” ๋งŒ๋“œ๋Š” ์ž์™€ ๊ฒ€์ฆํ•˜๋Š” ์ž์˜ ๋ถ„๋ฆฌ

๋ฃจํ”„์—์„œ ๊ตฌ์กฐ์ ์œผ๋กœ ๊ฐ€์žฅ ์œ ์šฉํ•œ ์š”์†Œ๋Š” ๋‹จ์—ฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์—์ด์ „ํŠธ์™€ ๊ทธ๊ฒƒ์„ ๊ฒ€์ฆํ•˜๋Š” ์—์ด์ „ํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ๋ชจ๋ธ์ด ์ž์‹ ์˜ ์ˆ™์ œ๋ฅผ ์ฑ„์ ํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ๊ด€๋Œ€ํ•˜๋‹ค. ๋‹ค๋ฅธ ์ง€์‹œ์‚ฌํ•ญ์„, ๋•Œ๋กœ๋Š” ๋‹ค๋ฅธ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ์—์ด์ „ํŠธ๊ฐ€ ์ฒซ ๋ฒˆ์งธ ์—์ด์ „ํŠธ๊ฐ€ ์Šค์Šค๋กœ๋ฅผ ์„ค๋“ํ•ด์„œ ๋„˜์–ด๊ฐ„ ๋ถ€๋ถ„์„ ์žก์•„๋‚ธ๋‹ค.

Codex๋Š” ๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญํ•  ๋•Œ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋™์‹œ์— ์‹คํ–‰ํ•œ ๋’ค ๊ฒฐ๊ณผ๋ฅผ ํ•˜๋‚˜์˜ ๋‹ต๋ณ€์œผ๋กœ ํ•ฉ์นœ๋‹ค. ๊ฐ ์—์ด์ „ํŠธ๋ฅผ .codex/agents/ ํด๋”์˜ TOML ํŒŒ์ผ๋กœ ์ •์˜ํ•˜๋ฉฐ, ์ด๋ฆ„ยท์„ค๋ช…ยท์ง€์‹œ์‚ฌํ•ญยท๋ชจ๋ธยท์ถ”๋ก  ์ˆ˜์ค€์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ณด์•ˆ ๊ฒ€ํ†  ์—์ด์ „ํŠธ๋Š” ๊ฐ•๋ ฅํ•œ ๋ชจ๋ธ์— ๋†’์€ ์ถ”๋ก  ์ˆ˜์ค€์œผ๋กœ, ํƒ์ƒ‰ ์—์ด์ „ํŠธ๋Š” ๋น ๋ฅธ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋ธ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

Claude Code๋Š” .claude/agents/ ๋””๋ ‰ํ† ๋ฆฌ์— ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ์ •์˜ํ•˜๊ณ  ์—์ด์ „ํŠธ ํŒ€์ด ์ž‘์—…์„ ๋„˜๊ธฐ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋ถ„์—… ๊ตฌ์กฐ๋Š” ์ด๋ ‡๋‹ค: ํ•˜๋‚˜๋Š” ํƒ์ƒ‰ํ•˜๊ณ , ํ•˜๋‚˜๋Š” ๊ตฌํ˜„ํ•˜๊ณ , ํ•˜๋‚˜๋Š” ์ŠคํŽ™๊ณผ ๋Œ€์กฐํ•ด ๊ฒ€์ฆํ•œ๋‹ค.

์„œ๋ธŒ์—์ด์ „ํŠธ๊ฐ€ ๋ฃจํ”„ ๋‚ด์—์„œ ํŠนํžˆ ์ค‘์š”ํ•œ ์ด์œ ๋Š”, ๋ฃจํ”„๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ณด์ง€ ์•Š๋Š” ๋™์•ˆ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹ค์ œ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒ€์ฆ์ž๊ฐ€ ์žˆ์–ด์•ผ๋งŒ ์ž๋ฆฌ๋ฅผ ๋น„์šธ ์ˆ˜ ์žˆ๋‹ค. ์„œ๋ธŒ์—์ด์ „ํŠธ๋Š” ์ถ”๊ฐ€์ ์ธ ํ† ํฐ์„ ์†Œ๋ชจํ•˜๋ฏ€๋กœ, ๋‘ ๋ฒˆ์งธ ์˜๊ฒฌ์ด ์‹ค์ œ๋กœ ๊ฐ€์น˜ ์žˆ๋Š” ๊ณณ์—๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค. Claude Code์˜ /goal์ด ๋‚ด๋ถ€์ ์œผ๋กœ ํ•˜๋Š” ์ผ์ด ๋ฐ”๋กœ ์ด๊ฒƒ์ด๋‹ค. ์ž‘์—…์„ ์™„๋ฃŒํ–ˆ๋‹ค๋Š” ๊ฒฐ์ •์„ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ ๋ชจ๋ธ์ด ์•„๋‹Œ, ์‹ ์„ ํ•œ ๋ชจ๋ธ์ด ๋‚ด๋ฆฐ๋‹ค.

+1: ์ƒํƒœ (State) โ€” ๋ฃจํ”„๋ฅผ ์ด์–ด์ฃผ๋Š” ์ฒ™์ถ”

์—ฌ์„ฏ ๋ฒˆ์งธ ์š”์†Œ๋Š” ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์ด๋“  Linear ๋ณด๋“œ๋“  ์ƒ๊ด€์—†์ด, ๋‹จ์ผ ๋Œ€ํ™” ๋ฐ–์—์„œ ์‚ด์•„๋‚จ์•„ ๋ฌด์—‡์ด ์™„๋ฃŒ๋๊ณ  ๋ฌด์—‡์ด ๋‹ค์Œ์ธ์ง€๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๋ฌด์–ธ๊ฐ€๋‹ค. ๋„ˆ๋ฌด ๋‹จ์ˆœํ•ด ๋ณด์—ฌ์„œ ์ค‘์š”ํ•˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์ง€๋งŒ, ์ด๊ฒƒ์€ ์žฅ๊ธฐ ์‹คํ–‰ ์—์ด์ „ํŠธ๊ฐ€ ์˜์กดํ•˜๋Š” ๋™์ผํ•œ ํŠธ๋ฆญ์ด๋‹ค.

์—์ด์ „ํŠธ๋Š” ์‹คํ–‰ ๊ฐ„์— ๋ชจ๋“  ๊ฒƒ์„ ์žŠ๋Š”๋‹ค. ํ•˜์ง€๋งŒ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” ์žŠ์ง€ ์•Š๋Š”๋‹ค.

AGENTS.md, ์ง„ํ–‰ ์ƒํƒœ ํŒŒ์ผ, Linear ๊ฐ™์€ ์™ธ๋ถ€ ๋ณด๋“œ๊ฐ€ ๋ฐ”๋กœ ์ด ์—ญํ• ์„ ํ•œ๋‹ค. ์ƒํƒœ ํŒŒ์ผ์€ ๋ฃจํ”„ ์ „์ฒด์˜ ์ฒ™์ถ”๊ฐ€ ๋œ๋‹ค. ๋ฌด์—‡์„ ์‹œ๋„ํ–ˆ๋Š”์ง€, ๋ฌด์—‡์ด ํ†ต๊ณผํ–ˆ๋Š”์ง€, ๋ฌด์—‡์ด ์•„์ง ์—ด๋ ค ์žˆ๋Š”์ง€๋ฅผ ๊ธฐ์–ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ๋‚  ์•„์นจ ์‹คํ–‰์ด ์˜ค๋Š˜ ๋ฉˆ์ถ˜ ๊ณณ์—์„œ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.


4. Claude Code vs Codex: ๋‘ ๋„๊ตฌ์˜ ๋น„๊ต

๋†€๋ผ์šด ์ ์€ ๋‘ ๋„๊ตฌ๊ฐ€ ๊ฑฐ์˜ ๋™์ผํ•œ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐœ์ „์‹œ์ผฐ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋ฆ„์ด ์กฐ๊ธˆ ๋‹ค๋ฅผ ๋ฟ, ๊ธฐ๋Šฅ์€ ๊ฐ™๋‹ค.

๊ตฌ์„ฑ์š”์†Œ ๋ฃจํ”„์—์„œ์˜ ์—ญํ•  Codex ์•ฑ Claude Code
์ž๋™ํ™” (Automations) ์Šค์ผ€์ค„์— ๋”ฐ๋ฅธ ๋ฐœ๊ฒฌ + ๋ถ„๋ฅ˜ Automations ํƒญ: ํ”„๋กœ์ ํŠธ, ํ”„๋กฌํ”„ํŠธ, ์ฃผ๊ธฐ, ํ™˜๊ฒฝ ์„ค์ •; ๊ฒฐ๊ณผ๋Š” Triage ๋ฐ›์€ํŽธ์ง€ํ•จ์œผ๋กœ; /goal๋กœ ์™„๋ฃŒ๊นŒ์ง€ ์‹คํ–‰ ์Šค์ผ€์ค„ ์ž‘์—…๊ณผ cron, /loop, /goal, ํ›…(hooks), GitHub Actions
์›ŒํฌํŠธ๋ฆฌ (Worktrees) ๋ณ‘๋ ฌ ๊ธฐ๋Šฅ ๊ฒฉ๋ฆฌ ์Šค๋ ˆ๋“œ๋ณ„ ๋‚ด์žฅ ์›ŒํฌํŠธ๋ฆฌ git worktree, --worktree, ์„œ๋ธŒ์—์ด์ „ํŠธ์— isolation: worktree
์Šคํ‚ฌ (Skills) ํ”„๋กœ์ ํŠธ ์ง€์‹ ์ฝ”๋“œํ™” Agent Skills (SKILL.md), $์ด๋ฆ„ ๋˜๋Š” ์•”๋ฌต์ ์œผ๋กœ ํ˜ธ์ถœ Agent Skills (SKILL.md)
ํ”Œ๋Ÿฌ๊ทธ์ธ/์ปค๋„ฅํ„ฐ ๋„๊ตฌ์™€ ์—ฐ๊ฒฐ ์ปค๋„ฅํ„ฐ(MCP) + ๋ฐฐํฌ์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ MCP ์„œ๋ฒ„ + ํ”Œ๋Ÿฌ๊ทธ์ธ
์„œ๋ธŒ์—์ด์ „ํŠธ ์•„์ด๋””์–ด ์ƒ์„ฑ ๋ฐ ๊ฒ€์ฆ .codex/agents/์˜ TOML๋กœ ์ •์˜๋œ ์„œ๋ธŒ์—์ด์ „ํŠธ .claude/agents/์˜ ํƒœ์Šคํฌ ์„œ๋ธŒ์—์ด์ „ํŠธ, ์—์ด์ „ํŠธ ํŒ€
์ƒํƒœ (State) ์™„๋ฃŒ๋œ ๊ฒƒ ์ถ”์  ๋งˆํฌ๋‹ค์šด ๋˜๋Š” ์ปค๋„ฅํ„ฐ๋ฅผ ํ†ตํ•œ Linear ๋งˆํฌ๋‹ค์šด (AGENTS.md, ์ง„ํ–‰ ํŒŒ์ผ) ๋˜๋Š” MCP๋ฅผ ํ†ตํ•œ Linear

์ด ํ‘œ์—์„œ ํŒจํ„ด์„ ๋ฐœ๊ฒฌํ•˜๋ฉด, ์–ด๋–ค ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋А๋ƒ์— ๋Œ€ํ•œ ๋…ผ์Ÿ์„ ๋ฉˆ์ถ”๊ณ  ๊ทธ๋ƒฅ ๋ฃจํ”„๋ฅผ ์„ค๊ณ„ํ•˜๋ฉด ๋œ๋‹ค. ๋‘ ๋„๊ตฌ ์–ด๋””์„œ๋“  ์ž‘๋™ํ•˜๋Š” ๋ฃจํ”„์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


5. ์‹ค์ œ ๋ฃจํ”„๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹

Addy Osmani๊ฐ€ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฃจํ”„ ํŒจํ„ด์„ ๋‹จ๊ณ„๋ณ„๋กœ ์‚ดํŽด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

sequenceDiagram
    participant ์ž๋™ํ™” as ๐Ÿ• ์ž๋™ํ™”<br/>(๋งค์ผ ์•„์นจ)
    participant ๋ถ„๋ฅ˜์Šคํ‚ฌ as ๐Ÿ“‹ ๋ถ„๋ฅ˜ ์Šคํ‚ฌ
    participant ์ƒํƒœํŒŒ์ผ as ๐Ÿ’พ ์ƒํƒœ ํŒŒ์ผ<br/>(๋งˆํฌ๋‹ค์šด/Linear)
    participant ์›ŒํฌํŠธ๋ฆฌ as ๐ŸŒฟ ๊ฒฉ๋ฆฌ๋œ ์›ŒํฌํŠธ๋ฆฌ
    participant ๊ตฌํ˜„์—์ด์ „ํŠธ as ๐Ÿค– ๊ตฌํ˜„ ์—์ด์ „ํŠธ
    participant ๊ฒ€์ฆ์—์ด์ „ํŠธ as โœ… ๊ฒ€์ฆ ์—์ด์ „ํŠธ
    participant ์ปค๋„ฅํ„ฐ as ๐Ÿ”Œ ์ปค๋„ฅํ„ฐ<br/>(MCP)
    participant ๊ฐœ๋ฐœ์ž as ๐Ÿ‘จโ€๐Ÿ’ป ๊ฐœ๋ฐœ์ž

    ์ž๋™ํ™”->>๋ถ„๋ฅ˜์Šคํ‚ฌ: ์–ด์ œ CI ์‹คํŒจ, ์ด์Šˆ, ์ปค๋ฐ‹ ์ฝ๊ธฐ
    ๋ถ„๋ฅ˜์Šคํ‚ฌ->>์ƒํƒœํŒŒ์ผ: ๋ฐœ๊ฒฌ ๋‚ด์šฉ ๊ธฐ๋ก
    ์ƒํƒœํŒŒ์ผ->>์›ŒํฌํŠธ๋ฆฌ: ์ฒ˜๋ฆฌํ•  ๊ฐ ํ•ญ๋ชฉ์— ๊ฒฉ๋ฆฌ ์›ŒํฌํŠธ๋ฆฌ ์ƒ์„ฑ
    ์›ŒํฌํŠธ๋ฆฌ->>๊ตฌํ˜„์—์ด์ „ํŠธ: ์ˆ˜์ •์•ˆ ์ž‘์„ฑ ์š”์ฒญ
    ๊ตฌํ˜„์—์ด์ „ํŠธ->>๊ฒ€์ฆ์—์ด์ „ํŠธ: ์ดˆ์•ˆ ์ „๋‹ฌ
    ๊ฒ€์ฆ์—์ด์ „ํŠธ->>๊ฒ€์ฆ์—์ด์ „ํŠธ: ํ”„๋กœ์ ํŠธ ์Šคํ‚ฌ ๋ฐ ํ…Œ์ŠคํŠธ์™€ ๋Œ€์กฐ ๊ฒ€์ฆ
    ๊ฒ€์ฆ์—์ด์ „ํŠธ->>์ปค๋„ฅํ„ฐ: PR ์—ด๊ธฐ, ํ‹ฐ์ผ“ ์—…๋ฐ์ดํŠธ
    ์ปค๋„ฅํ„ฐ-->>์ž๋™ํ™”: ๋‹ค์Œ ์‹คํ–‰์„ ์œ„ํ•œ ์ƒํƒœ ์—…๋ฐ์ดํŠธ
    ๊ฒ€์ฆ์—์ด์ „ํŠธ-->>๊ฐœ๋ฐœ์ž: ๋ฃจํ”„๊ฐ€ ์ฒ˜๋ฆฌ ๋ชปํ•œ ํ•ญ๋ชฉ๋งŒ<br/>Triage ๋ฐ›์€ํŽธ์ง€ํ•จ์œผ๋กœ ์ „๋‹ฌ
Loading

์ด ๋ฃจํ”„๊ฐ€ ์ž‘๋™ํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ์ง์ ‘ ์–ด๋–ค ๋‹จ๊ณ„์—๋„ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š์•˜๋‹ค. ํ•œ ๋ฒˆ ์„ค๊ณ„ํ–ˆ์„ ๋ฟ์ด๋‹ค. Steinberger๊ฐ€ ๋งํ•œ ๊ฒƒ์ด ์‹ค์ œ๋กœ ๊ตฌํ˜„๋œ ๋ชจ์Šต์ด๋‹ค.

๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ง€์ ์€ ์ด๊ฒƒ์ด๋‹ค. Codex์—์„œ๋„, Claude Code์—์„œ๋„ ๋™์ผํ•œ ๋ฃจํ”„๊ฐ€ ์ž‘๋™ํ•œ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ๋™์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.


6. ๋ฃจํ”„๊ฐ€ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๋“ค

Addy Osmani๋Š” ๋ฃจํ”„๊ฐ€ ์ผ์˜ ์„ฑ๊ฒฉ์„ ๋ฐ”๊พธ์ง€๋งŒ ๊ฐœ๋ฐœ์ž๋ฅผ ์ผ์—์„œ ์ œ๊ฑฐํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค๊ณ  ๊ฐ•์กฐํ•œ๋‹ค. ์˜คํžˆ๋ ค ๋ฃจํ”„๊ฐ€ ๋” ์ข‹์•„์งˆ์ˆ˜๋ก ์„ธ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋” ๋‚ ์นด๋กœ์›Œ์ง„๋‹ค.

๊ฒ€์ฆ์€ ์—ฌ์ „ํžˆ ๊ฐœ๋ฐœ์ž์˜ ๋ชซ์ด๋‹ค

๊ฐ์‹œ ์—†์ด ์‹คํ–‰๋˜๋Š” ๋ฃจํ”„๋Š” ๊ฐ์‹œ ์—†์ด ์‹ค์ˆ˜๋ฅผ ์ €์ง€๋ฅด๋Š” ๋ฃจํ”„์ด๊ธฐ๋„ ํ•˜๋‹ค. ๊ฒ€์ฆ ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๋ถ„๋ฆฌํ•˜๋Š” ์ด์œ ๊ฐ€ ๋ฐ”๋กœ ๋ฃจํ”„์˜ "์™„๋ฃŒ๋๋‹ค"๋Š” ๋ง์„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋‹ค. ํ•˜์ง€๋งŒ "์™„๋ฃŒ๋๋‹ค"๋Š” ์ฃผ์žฅ์ด์ง€, ์ฆ๋ช…์ด ์•„๋‹ˆ๋‹ค. ๋ฃจํ”„๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ™•์ธํ–ˆ์„ ๋•Œ ๋น„๋กœ์†Œ ์ถœ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ๋œ๋‹ค.

์ดํ•ด๋ ฅ์˜ ๋ถ€์ฑ„(Comprehension Debt)๊ฐ€ ๋น ๋ฅด๊ฒŒ ์Œ“์ธ๋‹ค

๋ฃจํ”„๊ฐ€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ๋” ๋น ๋ฅด๊ฒŒ ์ถœ์‹œํ• ์ˆ˜๋ก, ์กด์žฌํ•˜๋Š” ์ฝ”๋“œ์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹ค์ œ๋กœ ์ดํ•ดํ•˜๋Š” ๋‚ด์šฉ ์‚ฌ์ด์˜ ๊ฐ„๊ฒฉ์ด ์ปค์ง„๋‹ค. ๋งค๋„๋Ÿฝ๊ฒŒ ์ž‘๋™ํ•˜๋Š” ๋ฃจํ”„๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ฃจํ”„๊ฐ€ ๋งŒ๋“  ๊ฒƒ์„ ์ง์ ‘ ์ฝ์ง€ ์•Š๋Š” ํ•œ ์ด ๊ฐ„๊ฒฉ์„ ๋” ๋น ๋ฅด๊ฒŒ ๋ฒŒ๋ฆฐ๋‹ค.

ํŽธ์•ˆํ•œ ์ž์„ธ๊ฐ€ ์œ„ํ—˜ํ•œ ์ž์„ธ๋‹ค

๋ฃจํ”„๊ฐ€ ์Šค์Šค๋กœ ๋Œ์•„๊ฐˆ ๋•Œ, ๊ทธ๋ƒฅ ๋ฃจํ”„๊ฐ€ ๋Œ๋ ค์ฃผ๋Š” ๊ฒƒ์„ ๋ฐ›์•„๋“ค์ด๊ณ  ์‹ถ์€ ์œ ํ˜น์ด ์ƒ๊ธด๋‹ค. Osmani๋Š” ์ด๊ฒƒ์„ ์ธ์ง€์  ํ•ญ๋ณต(cognitive surrender) ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋ฃจํ”„๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์€ ํŒ๋‹จ๋ ฅ์„ ๊ฐ–๊ณ  ํ•  ๋•Œ๋Š” ํ•ด๊ฒฐ์ฑ…์ด๊ณ , ์ƒ๊ฐ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ํ•  ๋•Œ๋Š” ๊ฐ€์†์ œ๋‹ค. ๊ฐ™์€ ํ–‰๋™, ์ •๋ฐ˜๋Œ€์˜ ๊ฒฐ๊ณผ.


7. Agent Skills: ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด์˜ ํŒ๋‹จ๋ ฅ์„ ์ฝ”๋“œํ™”ํ•˜๋‹ค

๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ์š”์†Œ ์ค‘ ํ•˜๋‚˜์ธ ์Šคํ‚ฌ(Skills)์„ Addy Osmani๊ฐ€ ์ฒด๊ณ„ํ™”ํ•œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฐ”๋กœ Agent Skills๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” GitHub์—์„œ 2๋งŒ 7์ฒœ ๊ฐœ ์ด์ƒ์˜ ๋ณ„์„ ๋ฐ›์•˜์œผ๋ฉฐ, O'Reilly์™€ ๊ฐ™์€ ์ฃผ์š” ๊ธฐ์ˆ  ์ถœํŒ์‚ฌ์—๋„ ์†Œ๊ฐœ๋˜์—ˆ๋‹ค.

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ

๋ชจ๋“  AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ๊ธฐ๋ณธ ๋™์ž‘ ๋ฐฉ์‹์ด ์žˆ๋‹ค. "์™„๋ฃŒ"๋กœ ๊ฐ€๋Š” ๊ฐ€์žฅ ์งง์€ ๊ฒฝ๋กœ๋ฅผ ํƒํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ธฐ๋Šฅ์„ ์š”์ฒญํ•˜๋ฉด ๊ธฐ๋Šฅ์„ ์ž‘์„ฑํ•œ๋‹ค. ์ŠคํŽ™์ด ์žˆ๋Š”์ง€ ๋ฌป์ง€ ์•Š๋Š”๋‹ค. ๊ตฌํ˜„ ์ „์— ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด ๋ณ€๊ฒฝ์ด ์‹ ๋ขฐ ๊ฒฝ๊ณ„๋ฅผ ๋„˜๋Š”์ง€ ๊ณ ๋ คํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ฆฌ๋ทฐ์–ด์—๊ฒŒ PR์ด ์–ด๋–ป๊ฒŒ ๋ณด์ผ์ง€ ํ™•์ธํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์™„๋ฃŒ๋ฅผ ์„ ์–ธํ•˜๊ณ , ๋„˜์–ด๊ฐ„๋‹ค.

์ด๋Š” ๋ชจ๋“  ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๊ฒฝ๋ ฅ ๋‚ด๋‚ด ํ”ผํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์›Œ์˜จ ๋ฐ”๋กœ ๊ทธ ์‹คํŒจ ๋ฐฉ์‹์ด๋‹ค. ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด ๋ฒ„์ „์˜ ๋ชจ๋“  ์ž‘์—…์—๋Š” diff์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š” ์ž‘์—…์ด ํฌํ•จ๋œ๋‹ค. ๊ฐ€์ •์„ ๋“œ๋Ÿฌ๋‚ด๊ณ , ์ŠคํŽ™์„ ์ž‘์„ฑํ•˜๊ณ , ๊ฒ€ํ†  ๊ฐ€๋Šฅํ•œ ๋‹จ์œ„๋กœ ์ž‘์—…์„ ์ชผ๊ฐœ๊ณ , ์ง€๋ฃจํ•˜๊ณ  ๋‹จ์ˆœํ•œ ์„ค๊ณ„๋ฅผ ์„ ํƒํ•˜๊ณ , ๊ฒฐ๊ณผ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๋‹ค๋Š” ์ฆ๊ฑฐ๋ฅผ ๋‚จ๊ธฐ๊ณ , ์‹ค์ œ๋กœ ๋ฆฌ๋ทฐํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๋กœ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ. ์ด๊ฒƒ๋“ค์ด ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ถœ์‹œํ•˜๋Š” ์‚ฌ๋žŒ๊ณผ ๊ทธ๋ƒฅ ์ฝ”๋“œ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ์‚ฌ๋žŒ์˜ ์ฐจ์ด๋ฅผ ๋งŒ๋“ ๋‹ค.

์—์ด์ „ํŠธ๊ฐ€ ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋Š” ์ด์œ ๋Š” ๋ชจ๋“  ์ฃผ๋‹ˆ์–ด๊ฐ€ ๊ฑด๋„ˆ๋›ฐ๋Š” ์ด์œ ์™€ ๊ฐ™๋‹ค. ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ณด์ƒ ์‹ ํ˜ธ๋Š” "์ž‘์—… ์™„๋ฃŒ"๋ฅผ ํ–ฅํ•˜์ง€, "์ž‘์—… ์™„๋ฃŒ + ์„ค๊ณ„ ๋ฌธ์„œ ์กด์žฌ"๋ฅผ ํ–ฅํ•˜์ง€ ์•Š๋Š”๋‹ค.


8. "์Šคํ‚ฌ(Skill)"์ด๋ž€ ์ •ํ™•ํžˆ ๋ฌด์—‡์ธ๊ฐ€

์Šคํ‚ฌ์ด๋ผ๋Š” ๋‹จ์–ด๊ฐ€ Claude Code/Anthropic ์šฉ์–ด์—์„œ ๋งŽ์€ ์˜๋ฏธ๋ฅผ ๋‹ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํžˆ ์ •์˜ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

์Šคํ‚ฌ์€ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์—์ด์ „ํŠธ์˜ ์ปจํ…์ŠคํŠธ์— ์ฃผ์ž…๋˜๋Š” ํ”„๋ก ํŠธ๋งคํ„ฐ๊ฐ€ ์žˆ๋Š” ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์ด๋‹ค. ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ์กฐ๊ฐ๊ณผ ๋Ÿฐ๋ถ ์‚ฌ์ด ์–ด๋”˜๊ฐ€์— ์œ„์น˜ํ•œ๋‹ค.

์Šคํ‚ฌ๊ณผ ์ฐธ๊ณ  ๋ฌธ์„œ์˜ ์ฐจ์ด

์Šคํ‚ฌ์€ ์ฐธ๊ณ  ๋ฌธ์„œ๊ฐ€ ์•„๋‹ˆ๋‹ค. "ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ"์ด ์•„๋‹ˆ๋‹ค. ์Šคํ‚ฌ์€ ์›Œํฌํ”Œ๋กœ์šฐ๋‹ค. ์—์ด์ „ํŠธ๊ฐ€ ๋”ฐ๋ผ์•ผ ํ•  ๋‹จ๊ณ„๋“ค์˜ ์ˆœ์„œ์ด๊ณ , ์ฆ๊ฑฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ •์˜๋œ ์ข…๋ฃŒ ๊ธฐ์ค€์œผ๋กœ ๋๋‚œ๋‹ค.

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

์‚ฐ๋ฌธ๋ณด๋‹ค ํ”„๋กœ์„ธ์Šค. ์ฐธ๊ณ ๋ณด๋‹ค ์›Œํฌํ”Œ๋กœ์šฐ. ๊ธฐ์ค€ ์—†๋Š” ์—์„ธ์ด๋ณด๋‹ค ์ข…๋ฃŒ ๊ธฐ์ค€ ์žˆ๋Š” ๋‹จ๊ณ„๋“ค.

์ด ํ•˜๋‚˜์˜ ๊ตฌ๋ถ„์ด ์œ ์šฉํ•œ ์Šคํ‚ฌ๊ณผ ์˜ˆ์œ ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ์˜ ์ฐจ์ด๋ฅผ ๋งŒ๋“ ๋‹ค.

graph LR
    A["โŒ ๋‚˜์œ ์Šคํ‚ฌ\n(์ฐธ๊ณ  ๋ฌธ์„œ)"] --> A1["2,000์ž ํ…Œ์ŠคํŠธ ๋ชจ๋ฒ” ์‚ฌ๋ก€ ์—์„ธ์ด"]
    A1 --> A2["์—์ด์ „ํŠธ: ์ฝ๊ณ  ๊ทธ๋Ÿด๋“ฏํ•œ ํ…์ŠคํŠธ ์ƒ์„ฑ"]
    A2 --> A3["์‹ค์ œ ํ…Œ์ŠคํŠธ๋Š” ์—ฌ์ „ํžˆ ๊ฑด๋„ˆ๋œ€"]

    B["โœ… ์ข‹์€ ์Šคํ‚ฌ\n(์›Œํฌํ”Œ๋กœ์šฐ)"] --> B1["๋‹จ๊ณ„๋ณ„ TDD ํ”„๋กœ์„ธ์Šค\n+ ์ฒดํฌํฌ์ธํŠธ + ์ข…๋ฃŒ ๊ธฐ์ค€"]
    B1 --> B2["์—์ด์ „ํŠธ: ๊ฐ ๋‹จ๊ณ„๋ฅผ ์‹คํ–‰"]
    B2 --> B3["๊ฐœ๋ฐœ์ž: ์ฆ๊ฑฐ๋ฅผ ๊ฒ€์ฆ ๊ฐ€๋Šฅ"]

    style A fill:#ffebee,stroke:#c62828
    style A1 fill:#ffebee,stroke:#c62828
    style A2 fill:#ffebee,stroke:#c62828
    style A3 fill:#ffebee,stroke:#c62828
    style B fill:#e8f5e9,stroke:#2e7d32
    style B1 fill:#e8f5e9,stroke:#2e7d32
    style B2 fill:#e8f5e9,stroke:#2e7d32
    style B3 fill:#e8f5e9,stroke:#2e7d32
Loading

9. Agent Skills๊ฐ€ ๊ตฌํ˜„ํ•˜๋Š” SDLC ์ „์ฒด ์ฃผ๊ธฐ

Agent Skills์˜ 20๊ฐœ ์Šคํ‚ฌ์€ 6๋‹จ๊ณ„ ์ƒ๋ช…์ฃผ๊ธฐ ๋‹จ๊ณ„๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, 7๊ฐœ์˜ ์Šฌ๋ž˜์‹œ ๋ช…๋ น์–ด๊ฐ€ ์œ„์— ์–นํ˜€ ์žˆ๋‹ค.

graph LR
    A["๐Ÿ“‹ ์ •์˜\n/spec\n๋ฌด์—‡์„ ๋งŒ๋“ค์ง€ ๊ฒฐ์ •"] --> B["๐Ÿ“ ๊ณ„ํš\n/plan\n์ž‘์—… ๋ถ„ํ•ด"]
    B --> C["๐Ÿ”จ ๋นŒ๋“œ\n/build\n์ˆ˜์ง ์Šฌ๋ผ์ด์Šค๋กœ ๊ตฌํ˜„"]
    C --> D["โœ… ๊ฒ€์ฆ\n/test\n์ž‘๋™ ์ฆ๋ช…"]
    D --> E["๐Ÿ‘€ ๋ฆฌ๋ทฐ\n/review\n๋น ์ ธ๋‚˜๊ฐ„ ๊ฒƒ ์žก๊ธฐ"]
    E --> F["๐Ÿš€ ์ถœ์‹œ\n/ship\n์‚ฌ์šฉ์ž์—๊ฒŒ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌ"]

    G["๐Ÿ”„ /code-simplify"] -.->|"์ „์ฒด ๋‹จ๊ณ„์— ๊ฑธ์ณ ์ ์šฉ"| A
    G -.-> B
    G -.-> C
    G -.-> D
    G -.-> E
    G -.-> F

    style A fill:#e3f2fd,stroke:#1565c0
    style B fill:#f3e5f5,stroke:#6a1b9a
    style C fill:#e8f5e9,stroke:#1b5e20
    style D fill:#fff8e1,stroke:#e65100
    style E fill:#fce4ec,stroke:#880e4f
    style F fill:#e0f2f1,stroke:#004d40
    style G fill:#f5f5f5,stroke:#424242
Loading

์ด๊ฒƒ์€ ์šฐ์—ฐ์ด ์•„๋‹ˆ๋‹ค. ๋ชจ๋“  ์ œ๋Œ€๋กœ ๊ธฐ๋Šฅํ•˜๋Š” ์—”์ง€๋‹ˆ์–ด๋ง ์กฐ์ง์ด ๋‹ค๋ฅธ ์šฉ์–ด๋กœ ์šด์˜ํ•˜๋Š” ๋™์ผํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ƒ๋ช…์ฃผ๊ธฐ(SDLC)๋‹ค. Google์€ ์„ค๊ณ„ ๋ฌธ์„œ โ†’ ๋ฆฌ๋ทฐ โ†’ ๊ตฌํ˜„ โ†’ ๊ฐ€๋…์„ฑ ๋ฆฌ๋ทฐ โ†’ ์ถœ์‹œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. Amazon์€ ๊ฑฐ๊พธ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฉ”๋ชจ(working-backwards memo)์™€ ๋ฐ” ๋ ˆ์ด์ €(bar raiser)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋ชจ๋“  ๊ฑด๊ฐ•ํ•œ ํŒ€์€ ์ด ๋ฃจํ”„์˜ ์–ด๋–ค ํ˜•ํƒœ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค.

AI ์ฝ”๋”ฉ ์—์ด์ „ํŠธ์˜ ์ƒˆ๋กœ์šด ์ ์€ ๋Œ€๋ถ€๋ถ„์˜ ์—์ด์ „ํŠธ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ๋‹จ๊ณ„๋“ค ๋Œ€๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋›ด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. Agent Skills๋Š” ์—์ด์ „ํŠธ๋ฅผ ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์Šค์Šค๋กœ๋ฅผ ํ†ต๊ณผ์‹œํ‚ค๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋‹จ๊ณ„๋กœ ๋ฐ€์–ด๋ถ™์ธ๋‹ค.

๋ณต์žกํ•œ ๊ธฐ๋Šฅ์€ ์ตœ๋Œ€ 11๊ฐœ ์Šคํ‚ฌ์„ ์ˆœ์„œ๋Œ€๋กœ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ž‘์€ ๋ฒ„๊ทธ ์ˆ˜์ •์€ 3๊ฐœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ผ์šฐํ„ฐ(using-agent-skills)๊ฐ€ ์–ด๋–ค ์Šคํ‚ฌ์ด ์ ์šฉ๋˜๋Š”์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.


10. 5๊ฐ€์ง€ ํ•ต์‹ฌ ์„ค๊ณ„ ์›์น™

Agent Skills์˜ 5๊ฐ€์ง€ ํ•ต์‹ฌ ์„ค๊ณ„ ๊ฒฐ์ •์€ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ํ•˜์ค‘์„ ์ง€ํƒฑํ•˜๋Š” ๊ฒƒ๋“ค์ด๋‹ค.

์›์น™ 1: ์‚ฐ๋ฌธ๋ณด๋‹ค ํ”„๋กœ์„ธ์Šค (Process over Prose)

์ด๋ฏธ ๋‹ค๋ค˜์ง€๋งŒ ๋‹ค์‹œ ๊ฐ•์กฐํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค. ์›Œํฌํ”Œ๋กœ์šฐ๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ์—์„ธ์ด๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค. ์ธ๊ฐ„ ํŒ€์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋œ๋‹ค. ํŒ€ ํ•ธ๋“œ๋ถ์ด 200ํŽ˜์ด์ง€๋ผ๋ฉด ์‹œ๊ฐ„ ์••๋ฐ• ํ•˜์—์„œ ์•„๋ฌด๋„ ์ฝ์ง€ ์•Š๋Š”๋‹ค. ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š” ์†Œ์ˆ˜์˜ ์›Œํฌํ”Œ๋กœ์šฐ๋ผ๋ฉด ์‹ค์ œ๋กœ ์‹คํ–‰ํ•œ๋‹ค.

์›์น™ 2: ํ•ฉ๋ฆฌํ™” ๋ฐฉ์ง€ ํ‘œ (Anti-rationalization Tables)

์ด๊ฒƒ์ด ํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ€์žฅ ๋…ํŠนํ•œ ์„ค๊ณ„ ๊ฒฐ์ •์ด๋ฉฐ, ๋‹ค๋ฅธ ํŒ€๋“ค์ด ๊ฐ€์žฅ ๋นŒ๋ ค๊ฐ€์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

๊ฐ ์Šคํ‚ฌ์—๋Š” ์—์ด์ „ํŠธ(๋˜๋Š” ํ”ผ๊ณคํ•œ ์—”์ง€๋‹ˆ์–ด)๊ฐ€ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ณ€๋ช… ๋ชฉ๋ก๊ณผ ๊ทธ์— ๋Œ€ํ•œ ๋ฐ˜๋ฐ•์ด ํฌํ•จ๋œ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ๋“ค๋ฉด:

๋ณ€๋ช… ๋ฐ˜๋ฐ•
"์ด ์ž‘์—…์€ ๋„ˆ๋ฌด ๋‹จ์ˆœํ•ด์„œ ์ŠคํŽ™์ด ํ•„์š” ์—†๋‹ค." ์ˆ˜์šฉ ๊ธฐ์ค€์€ ์—ฌ์ „ํžˆ ์ ์šฉ๋œ๋‹ค. 5์ค„๋„ ๊ดœ์ฐฎ๋‹ค. 0์ค„์€ ์•„๋‹ˆ๋‹ค.
"ํ…Œ์ŠคํŠธ๋Š” ๋‚˜์ค‘์— ์ž‘์„ฑํ• ๊ฒŒ." '๋‚˜์ค‘์—'๋Š” ํ•ต์‹ฌ ๋‹จ์–ด๋‹ค. ๋‚˜์ค‘์€ ์—†๋‹ค. ๋จผ์ € ์‹คํŒจํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ผ.
"ํ…Œ์ŠคํŠธ ํ†ต๊ณผํ–ˆ์œผ๋‹ˆ ์ถœ์‹œํ•˜์ž." ํ…Œ์ŠคํŠธ ํ†ต๊ณผ๋Š” ์ฆ๊ฑฐ์ง€, ์ฆ๋ช…์ด ์•„๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„์„ ํ™•์ธํ–ˆ๋‚˜? ์‚ฌ์šฉ์ž ๊ฐ€์‹œ์  ๋™์ž‘์„ ๊ฒ€์ฆํ–ˆ๋‚˜? ์‚ฌ๋žŒ์ด diff๋ฅผ ์ฝ์—ˆ๋‚˜?

์ด๊ฒƒ์ด ์ž‘๋™ํ•˜๋Š” ์ด์œ ๋Š” LLM์ด ํ•ฉ๋ฆฌํ™”์— ํƒ์›”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ํŠน์ • ์ž‘์—…์— ์ŠคํŽ™์ด ํ•„์š” ์—†๋Š” ์ด์œ , ๋˜๋Š” ์ด ํŠน์ • ๋ณ€๊ฒฝ์ด ๋ฆฌ๋ทฐ ์—†์ด ๋ณ‘ํ•ฉํ•ด๋„ ๊ดœ์ฐฎ์€ ์ด์œ ๋ฅผ ๊ทธ๋Ÿด๋“ฏํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๋‹จ๋ฝ์„ ์ƒ์„ฑํ•  ๊ฒƒ์ด๋‹ค. ํ•ฉ๋ฆฌํ™” ๋ฐฉ์ง€ ํ‘œ๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์•„์ง ํ•˜์ง€ ์•Š์€ ๊ฑฐ์ง“๋ง์— ๋Œ€ํ•œ ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ ๋ฐ˜๋ฐ•์ด๋‹ค.

์ด ํŒจํ„ด์€ ์ธ๊ฐ„ ํŒ€์—๋„ ๋˜‘๊ฐ™์ด ์ข‹๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์—”์ง€๋‹ˆ์–ด๋ง ํ‡ดํ™”๋Š” ๋‚˜์œ ์ผ์„ ์„ ํƒํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์ด ํ•˜๊ธฐ ์‹ซ์€ ๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋›ฐ๋Š” ๊ทธ๋Ÿด๋“ฏํ•œ ์ •๋‹นํ™”๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ๊ฒƒ์ด๋‹ค.

์›์น™ 3: ๊ฒ€์ฆ์€ ํ˜‘์ƒ ๋ถˆ๊ฐ€ (Verification is Non-negotiable)

๋ชจ๋“  ์Šคํ‚ฌ์€ ๊ตฌ์ฒด์ ์ธ ์ฆ๊ฑฐ๋กœ ๋๋‚œ๋‹ค. ํ…Œ์ŠคํŠธ ํ†ต๊ณผ. ๋นŒ๋“œ ์ถœ๋ ฅ ๊นจ๋—ํ•จ. ๋Ÿฐํƒ€์ž„ ์ถ”์ ์ด ์˜ˆ์ƒ ๋™์ž‘ ํ‘œ์‹œ. ๋ฆฌ๋ทฐ์–ด ์„œ๋ช…. "๋งž๋Š” ๊ฒƒ ๊ฐ™๋‹ค"๋Š” ์ ˆ๋Œ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š๋‹ค.

์ด๊ฒƒ์€ Anthropic์˜ ํ•˜๋„ค์Šค๊ฐ€ ์‹คํŒจ์—์„œ ๋ณต๊ตฌํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์›์น™์ด๊ณ , Cursor์˜ ํ”Œ๋ž˜๋„ˆ/์›Œ์ปค/ํŒ์‚ฌ ๋ถ„๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ๋ฒ„๊ทธ๋ฅผ ์žก๊ฒŒ ๋งŒ๋“œ๋Š” ์›์น™์ด๊ณ , ๋ชจ๋“  ์žฅ๊ธฐ ์‹คํ–‰ ์—์ด์ „ํŠธ๋ฅผ ๋ณต๊ตฌ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ์›์น™๊ณผ ๋™์ผํ•˜๋‹ค. ์—์ด์ „ํŠธ๋Š” ์ƒ์„ฑ๊ธฐ๋‹ค. ์ž‘์—…์ด ์™„๋ฃŒ๋๋‹ค๋Š” ๋ณ„๋„์˜ ์‹ ํ˜ธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์Šคํ‚ฌ์€ ๊ทธ ์‹ ํ˜ธ๋ฅผ ๋ชจ๋“  ์›Œํฌํ”Œ๋กœ์šฐ์— ๋‚ด์žฅ์‹œํ‚จ๋‹ค.

์›์น™ 4: ์ ์ง„์  ๊ณต๊ฐœ (Progressive Disclosure)

์„ธ์…˜ ์‹œ์ž‘ ์‹œ 20๊ฐœ ์Šคํ‚ฌ ๋ชจ๋‘๋ฅผ ์ปจํ…์ŠคํŠธ์— ๋กœ๋“œํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋‹จ๊ณ„์— ๋”ฐ๋ผ ํ™œ์„ฑํ™”ํ•œ๋‹ค. ์ž‘์€ ๋ฉ”ํƒ€ ์Šคํ‚ฌ(using-agent-skills)์ด ํ˜„์žฌ ์ž‘์—…์— ์–ด๋–ค ์Šคํ‚ฌ์ด ์ ์šฉ๋˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ผ์šฐํ„ฐ ์—ญํ• ์„ ํ•œ๋‹ค.

์ด๊ฒƒ์€ ์Šคํ‚ฌ ์„ธ๋ถ„์„ฑ์— ์ ์šฉ๋œ ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง ๊ตํ›ˆ์ด๋‹ค. ์ปจํ…์ŠคํŠธ์— ๋กœ๋“œ๋œ ๋ชจ๋“  ํ† ํฐ์€ ์–ด๋”˜๊ฐ€์—์„œ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ค๋ฏ€๋กœ, ๊ด€๋ จ๋œ ๊ฒƒ์„ ๋กœ๋“œํ•˜๊ณ  ๋‚˜๋จธ์ง€๋Š” ๋””์Šคํฌ์— ๋‚จ๊ฒจ๋‘”๋‹ค. ์ ์ง„์  ๊ณต๊ฐœ๋Š” 5K ํ† ํฐ ์Šฌ๋กฏ์— 20๊ฐœ ์Šคํ‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋„ฃ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

์›์น™ 5: ๋ฒ”์œ„ ๊ทœ์œจ (Scope Discipline)

๋ฉ”ํƒ€ ์Šคํ‚ฌ์€ ๋ชจ๋“  ์—์ด์ „ํŠธ์— ๋ถ™์—ฌ ๋„ฃ๊ณ  ์‹ถ์€ ํ˜‘์ƒ ๋ถˆ๊ฐ€ ์‚ฌํ•ญ์„ ํฌํ•จํ•œ๋‹ค: "์š”์ฒญ๋ฐ›์€ ๊ฒƒ๋งŒ ๊ฑด๋“œ๋ ค๋ผ." ์ธ์ ‘ ์‹œ์Šคํ…œ์„ ๋ฆฌํŒฉํ† ๋งํ•˜์ง€ ๋งˆ๋ผ. ์™„์ „ํžˆ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ ์ฝ”๋“œ๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ๋งˆ๋ผ. TODO๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ํŒŒ์ผ ์ „์ฒด๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜์ง€ ๋งˆ๋ผ.

์ด๋Š” ์—์ด์ „ํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด ๊ด€๋ จ ์—†๋Š” ์„ธ ๊ฐœ์˜ ํŒŒ์ผ์„ ํ˜„๋Œ€ํ™”ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์„ ์ง์ ‘ ๋ณด๊ธฐ ์ „๊นŒ์ง€๋Š” ๋‹น์—ฐํ•ด ๋ณด์ธ๋‹ค. ๋ฒ”์œ„ ๊ทœ์œจ์€ ์—์ด์ „ํŠธ์˜ PR์ด ๋ณ‘ํ•ฉ ๊ฐ€๋Šฅํ•œ์ง€ ์•„๋‹ˆ๋ฉด ๋˜๋Œ๋ ค์•ผ ํ•˜๋Š”์ง€์˜ ๋‹จ์ผ ์ตœ๋Œ€ ๊ฒฐ์ • ์š”์ธ์ด๋‹ค.


11. Google ์—”์ง€๋‹ˆ์–ด๋ง ์ฒ ํ•™๊ณผ์˜ ์—ฐ๊ฒฐ

Agent Skills๋Š” Software Engineering at Google ๋ฐ Google์˜ ๊ณต๊ฐœ๋œ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฌธํ™”์—์„œ ๋‚˜์˜จ ๊ด€ํ–‰๋“ค๋กœ ๊ฐ€๋“ ์ฐจ ์žˆ๋‹ค. ์ด๊ฒƒ์€ ์˜๋„์ ์ด๋‹ค. Google ๊ทœ๋ชจ์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ž‘๋™์‹œํ‚ค๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ฒƒ์€ ๋ฌธ์„œํ™”๋˜์–ด ์žˆ๊ณ  ๊ณต๊ฐœ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์—์ด์ „ํŠธ๊ฐ€ ๊ฑด๋„ˆ๋›ธ ๊ฐ€๋Šฅ์„ฑ์ด ๊ฐ€์žฅ ๋†’์€ ๋ถ€๋ถ„์ด ๋ฐ”๋กœ ๊ทธ๊ฒƒ์ด๋‹ค.

์Šคํ‚ฌ ๊ตฌํ˜„๋œ Google ์›์น™
api-and-interface-design Hyrum์˜ ๋ฒ•์น™: API์˜ ๋ชจ๋“  ๊ด€์ฐฐ ๊ฐ€๋Šฅํ•œ ๋™์ž‘์€ ๊ฒฐ๊ตญ ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์˜์กด๋  ๊ฒƒ์ด๋ฏ€๋กœ ๊ทธ๊ฒƒ์„ ์—ผ๋‘์— ๋‘๊ณ  ์„ค๊ณ„ํ•˜๋ผ
test-driven-development ํ…Œ์ŠคํŠธ ํ”ผ๋ผ๋ฏธ๋“œ (~80/15/5) ๋ฐ ๋น„์š˜์„ธ ๊ทœ์น™: "์ข‹์•„ํ•œ๋‹ค๋ฉด ํ…Œ์ŠคํŠธ๋ฅผ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค." ์ธํ”„๋ผ ๋ณ€๊ฒฝ์€ ๋ฒ„๊ทธ๋ฅผ ์žก์ง€ ์•Š๋Š”๋‹ค, ํ…Œ์ŠคํŠธ๊ฐ€ ์žก๋Š”๋‹ค
test-driven-development DAMP over DRY: Google์˜ ํ…Œ์ŠคํŠธ ์ฒ ํ•™์€ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๊ฐ€ ์ผ๋ถ€ ์ค‘๋ณต์„ ๊ฐ์ˆ˜ํ•˜๋”๋ผ๋„ ์ŠคํŽ™์ฒ˜๋Ÿผ ์ฝํ˜€์•ผ ํ•œ๋‹ค๊ณ  ๋ช…์‹œํ•œ๋‹ค
code-review-and-quality ~100์ค„ PR ํฌ๊ธฐ, Critical/Nit/Optional/FYI ์‹ฌ๊ฐ๋„ ๋ ˆ์ด๋ธ”. Google์˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ทœ๋ฒ”์—์„œ ์ง์ ‘ ๊ฐ€์ ธ์˜ด. ํฐ PR์€ ๋ฆฌ๋ทฐ๋˜์ง€ ์•Š๋Š”๋‹ค; ๊ณ ๋ฌด ๋„์žฅ์ด ์ฐํžŒ๋‹ค
code-simplification ์ฒด์Šคํ„ฐํ„ด์˜ ์šธํƒ€๋ฆฌ: ์™œ ๊ฑฐ๊ธฐ ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์ „๊นŒ์ง€ ๋ฌด์–ธ๊ฐ€๋ฅผ ์ œ๊ฑฐํ•˜์ง€ ๋งˆ๋ผ
git-workflow-and-versioning ํŠธ๋ ํฌ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ๋ฐ ์›์ž์  ์ปค๋ฐ‹
ci-cd-and-automation Shift Left ๋ฐ ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ. ๊ฐ€๋Šฅํ•œ ํ•œ ์ผ์ฐ ๋ฌธ์ œ๋ฅผ ์žก๊ณ , ๋ฐฐํฌ์™€ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๋ผ
deprecation-and-migration ๋ถ€์ฑ„๋กœ์„œ์˜ ์ฝ”๋“œ: ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ๋ชจ๋“  ์ค„์ด๋ฏ€๋กœ ๋” ์ž‘์€ ํ‘œ๋ฉด์„ ์„ ํ˜ธํ•˜๋ผ

์ด ์•„์ด๋””์–ด๋“ค์€ ์ƒˆ๋กœ์šด ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ํ•ต์‹ฌ์€ ์—์ด์ „ํŠธ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๊ฒƒ๋“ค์„ ์ ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ”„๋Ÿฐํ‹ฐ์–ด ๋ชจ๋ธ์€ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์—์„œ "Hyrum์˜ ๋ฒ•์น™"์ด๋ผ๋Š” ๋ฌธ๊ตฌ๋ฅผ ์ฝ์—ˆ์ง€๋งŒ, ์ƒˆ๋ฒฝ 3์‹œ์— API๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ Hyrum์˜ ๋ฒ•์น™์„ ์ ์šฉํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์Šคํ‚ฌ์€ ์—์ด์ „ํŠธ๊ฐ€ ๊ทธ๊ฒƒ์„ ์ ์šฉํ•˜๋„๋ก ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.


12. Agent Skills ์„ค์น˜ ๋ฐ ํ™œ์šฉ ๋ฐฉ๋ฒ•

์„ธ ๊ฐ€์ง€ ์‚ฌ์šฉ ๋ชจ๋“œ๊ฐ€ ์žˆ์œผ๋ฉฐ, ๋Œ€๋žต ๋Š˜์–ด๋‚˜๋Š” ํ—Œ์‹ ๋„ ์ˆœ์œผ๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค.

๋ชจ๋“œ 1: ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค๋ฅผ ํ†ตํ•œ ์„ค์น˜ (Claude Code ์‚ฌ์šฉ์ž)

/plugin marketplace add addyosmani/agent-skills
/plugin install agent-skills@addy-agent-skills

์Šฌ๋ž˜์‹œ ๋ช…๋ น์–ด(/spec, /plan, /build, /test, /review, /ship, /code-simplify)๋ฅผ ๋ฐ›๊ฒŒ ๋˜๋ฉฐ, ์—์ด์ „ํŠธ๋Š” ์ปจํ…์ŠคํŠธ์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๊ด€๋ จ ์Šคํ‚ฌ์„ ํ™œ์„ฑํ™”ํ•œ๋‹ค.

๋ชจ๋“œ 2: ์„ ํƒํ•œ ๋„๊ตฌ์— ๋งˆํฌ๋‹ค์šด ์ถ”๊ฐ€

์Šคํ‚ฌ์€ ํ”„๋ก ํŠธ๋งคํ„ฐ๊ฐ€ ์žˆ๋Š” ์ผ๋ฐ˜ ๋งˆํฌ๋‹ค์šด์ด๋‹ค. ๋„๊ตฌ๋ณ„ ์„ค์น˜ ๋ฐฉ๋ฒ•:

๋„๊ตฌ ์„ค์น˜ ๋ฐฉ๋ฒ•
Cursor .cursor/rules/์— ๋ณต์‚ฌ
Gemini CLI ์ž์ฒด ์„ค์น˜ ๊ฒฝ๋กœ ์‚ฌ์šฉ
Codex ํ”Œ๋Ÿฌ๊ทธ์ธ ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค
Aider ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ๋กœ ์ถ”๊ฐ€
Windsurf ๊ทœ์น™ ์„ค์ •์— ์ถ”๊ฐ€
GitHub Copilot .github/copilot-instructions.md
Kiro IDE .kiro/skills/

๋ชจ๋“œ 3: ์ŠคํŽ™์œผ๋กœ ์ฝ๊ธฐ

์„ค์น˜๋ฅผ ์ „ํ˜€ ํ•˜์ง€ ์•Š๋”๋ผ๋„ ์Šคํ‚ฌ์€ AI ์—์ด์ „ํŠธ์™€ ํ•จ๊ป˜ ์ข‹์€ ์—”์ง€๋‹ˆ์–ด๋ง์ด ์–ด๋–ค ๋ชจ์Šต์ธ์ง€์— ๋Œ€ํ•œ ๋ฌธ์„œํ™”๋œ ์„ค๋ช…์ด๋‹ค. code-review-and-quality.md๋ฅผ ์ฝ๊ณ  5์ถ• ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํŒ€์˜ ๋ฆฌ๋ทฐ ํ”„๋กœ์„ธ์Šค์— ์ ์šฉํ•˜๊ฑฐ๋‚˜, test-driven-development.md๋ฅผ ์ฝ๊ณ  ์ฃผ๋‹ˆ์–ด์™€ ๋‹ค์Œ "๋จผ์ € ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•˜๋‚˜" ๋…ผ์Ÿ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์–ด๋””์„œ๋“  ๋นŒ๋ ค๊ฐˆ ์ˆ˜ ์žˆ๋Š” ํŒจํ„ด๋“ค

์„ค์น˜ ์—ฌ๋ถ€์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ Agent Skills์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ์•„์ด๋””์–ด๋“ค:

ํ•ฉ๋ฆฌํ™” ๋ฐฉ์ง€๋ฅผ ํŒ€ ๊ด€ํ–‰์œผ๋กœ: ํŒ€์ด ์Šค์Šค๋กœ์—๊ฒŒ ํ•˜๋Š” ๊ฑฐ์ง“๋ง์„ ์ ์–ด๋ผ. "์ถœ์‹œ ํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ๊ณ ์น ๊ฒŒ์š”." "์ด ๋ณ€๊ฒฝ์€ ์„ค๊ณ„ ๋ฌธ์„œ๊ฐ€ ํ•„์š” ์—†์„ ๋งŒํผ ์ž‘์•„์š”." "๊ดœ์ฐฎ์•„์š”, ๋ชจ๋‹ˆํ„ฐ๋ง์ด ์žˆ์ž–์•„์š”." ๊ฐ๊ฐ์— ๋ฐ˜๋ฐ•์„ ์ง์ง€์–ด๋ผ.

๋‚ด๋ถ€์ ์œผ๋กœ ์ž‘์„ฑํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์— ์‚ฐ๋ฌธ๋ณด๋‹ค ํ”„๋กœ์„ธ์Šค: "X์— ๋Œ€ํ•œ ์šฐ๋ฆฌ์˜ ์ ‘๊ทผ ๋ฐฉ์‹"์ด๋ผ๋Š” ์ œ๋ชฉ์˜ 2,000์ž ๋ฌธ์„œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์ฐธ๊ณ  ์ž๋ฃŒ๋ฅผ ์ž‘์„ฑํ•œ ๊ฒƒ์ด๋‹ค. ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š” ์›Œํฌํ”Œ๋กœ์šฐ๋กœ ๋ณ€ํ™˜ํ•˜๋ผ. ๋ฌธ์„œ๋Š” 400์ž๋กœ ์ค„์–ด๋“ค๊ณ  ์‚ฌ๋žŒ๋“ค์ด ์‹ค์ œ๋กœ ์‹คํ–‰ํ•œ๋‹ค.

๋ชจ๋“  AGENTS.md์— ๋„ฃ์„ 5๊ฐ€์ง€ ํ˜‘์ƒ ๋ถˆ๊ฐ€ ์‚ฌํ•ญ:

  1. ๋งŒ๋“ค๊ธฐ ์ „์— ๊ฐ€์ •์„ ๋“œ๋Ÿฌ๋‚ด๋ผ
  2. ์š”๊ตฌ ์‚ฌํ•ญ์ด ์ถฉ๋Œํ•  ๋•Œ ๋ฉˆ์ถ”๊ณ  ๋ฌผ์–ด๋ผ
  3. ๊ทผ๊ฑฐ๊ฐ€ ์žˆ์„ ๋•Œ ๋ฐ˜๋ฐ•ํ•˜๋ผ
  4. ์ง€๋ฃจํ•˜๊ณ  ๋‹น์—ฐํ•œ ํ•ด๊ฒฐ์ฑ…์„ ์„ ํ˜ธํ•˜๋ผ
  5. ์š”์ฒญ๋ฐ›์€ ๊ฒƒ๋งŒ ๊ฑด๋“œ๋ ค๋ผ

13. Loop Engineering๊ณผ Agent Skills์˜ ๊ด€๊ณ„

์ด ๋‘ ๊ฐœ๋…์€ ๋ณ„๊ฐœ๊ฐ€ ์•„๋‹ˆ๋ผ ์ธต์œ„(layer) ๊ด€๊ณ„๋กœ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

graph TB
    subgraph "๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง ์ „์ฒด ๊ตฌ์กฐ"
        L["๐Ÿ”„ ๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง\n(Loop Engineering)\n์—์ด์ „ํŠธ์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณด๋‚ด๋Š”\n์‹œ์Šคํ…œ ์„ค๊ณ„"]
        
        subgraph "๋ฃจํ”„์˜ ๊ตฌ์„ฑ ์š”์†Œ๋“ค"
            A["์ž๋™ํ™”\n(Automations)"]
            W["์›ŒํฌํŠธ๋ฆฌ\n(Worktrees)"]
            S["์Šคํ‚ฌ\n(Skills) โ† Agent Skills๊ฐ€ ์ฑ„์šด๋‹ค"]
            P["ํ”Œ๋Ÿฌ๊ทธ์ธ/์ปค๋„ฅํ„ฐ\n(Plugins/Connectors)"]
            SA["์„œ๋ธŒ์—์ด์ „ํŠธ\n(Sub-agents)"]
            ST["์ƒํƒœ\n(State)"]
        end
        
        subgraph "ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง (Harness Engineering)"
            H["์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š”\nํ™˜๊ฒฝ ์ž์ฒด ์„ค๊ณ„"]
        end
        
        subgraph "Agent Skills"
            AS["์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด์˜\nํŒ๋‹จ๋ ฅ์„ SKILL.md๋กœ ์ฝ”๋“œํ™”\n20๊ฐœ ์Šคํ‚ฌ + 7๊ฐœ ์Šฌ๋ž˜์‹œ ๋ช…๋ น์–ด"]
        end
    end

    L --> A
    L --> W
    L --> S
    L --> P
    L --> SA
    L --> ST
    S <--> AS
    L --> H

    style L fill:#fff3e0,stroke:#e65100
    style AS fill:#e8f5e9,stroke:#2e7d32
    style S fill:#e8f5e9,stroke:#2e7d32
    style H fill:#f3e5f5,stroke:#6a1b9a
Loading

Addy Osmani์˜ ๋ง์„ ๋นŒ๋ฆฌ๋ฉด, ํ•˜๋„ค์Šค ์—”์ง€๋‹ˆ์–ด๋ง์€ ํ•˜๋‚˜์˜ ์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๊ณ , ๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง์€ ํ•˜๋„ค์Šค ํ•œ ์ธต ์œ„์— ์•‰์•„ ์žˆ๋‹ค. ๋ฃจํ”„๋Š” ํƒ€์ด๋จธ๊ฐ€ ์žˆ๊ณ , ์ž‘์€ ํ—ฌํผ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์Šค์Šค๋กœ๋ฅผ ๋จน์ธ๋‹ค.

Agent Skills๋Š” ๋ฃจํ”„์˜ "์Šคํ‚ฌ" ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ฑ„์šฐ๋Š” ์ฝ˜ํ…์ธ ๋‹ค. ์žฅ๊ธฐ ์‹คํ–‰ ์—์ด์ „ํŠธ์—์„œ ์Šคํ‚ฌ์€ ๋”์šฑ ์ค‘์š”ํ•ด์ง„๋‹ค. 10๋ถ„์งœ๋ฆฌ ์„ธ์…˜์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋Š” ์—์ด์ „ํŠธ๋Š” ๋ฒ„๊ทธ ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ ๋‹ค. 30์‹œ๊ฐ„์งœ๋ฆฌ ์„ธ์…˜์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๋Š” ์—์ด์ „ํŠธ๋Š” ์‹คํ–‰์ด ๋๋‚  ๋•Œ ์•„๋ฌด๋„ ์›๋ž˜ ์˜๋„๊ฐ€ ๋ฌด์—‡์ด์—ˆ๋Š”์ง€ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ณ ๊ณ ํ•™ ๋ฐœ๊ตด ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ ๋‹ค. ์‹คํ–‰์ด ๊ธธ์–ด์งˆ์ˆ˜๋ก ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด ์Šค์บํด๋”ฉ์€ ์ œ์•ˆ์ด ์•„๋‹ˆ๋ผ ๊ฐ•์ œ๋˜์–ด์•ผ ํ•œ๋‹ค.


14. ํ•ต์‹ฌ ๊ตํ›ˆ ๋ฐ ๊ฒฐ๋ก 

ํŒจ๋Ÿฌ๋‹ค์ž„ ์ „ํ™˜์˜ ์š”์ 

๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง์ด ๋“ฑ์žฅํ•˜๋ฉด์„œ ์ผ์˜ ๋ ˆ๋ฒ„๋ฆฌ์ง€ ํฌ์ธํŠธ๊ฐ€ ์ด๋™ํ–ˆ๋‹ค. ๊ฐ€์žฅ ์ž˜ ์ž‘์„ฑ๋œ ํ”„๋กฌํ”„ํŠธ๋ณด๋‹ค ๊ฐ€์žฅ ์ž˜ ์„ค๊ณ„๋œ ๋ฃจํ”„๊ฐ€ ํ›จ์”ฌ ๋” ๋งŽ์€ ์ผ์„ ํ•ด๋‚ธ๋‹ค. Boris Cherny์˜ ๋ง์ฒ˜๋Ÿผ ๊ทธ์˜ ์ง์—…์€ ๋” ์ด์ƒ Claude์—๊ฒŒ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋‹ค. ๋ฃจํ”„๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ์ผ์ด ์‰ฌ์›Œ์กŒ๋‹ค๋Š” ๋œป์€ ์•„๋‹ˆ๋‹ค. ๋ ˆ๋ฒ„๋ฆฌ์ง€ ํฌ์ธํŠธ๊ฐ€ ์ด๋™ํ–ˆ์„ ๋ฟ์ด๋‹ค.

๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง์ด ์‹ค์ œ๋กœ ๊ฐ€์น˜ ์žˆ๋Š” ์กฐ๊ฑด

AlphaSignal์˜ ๋ถ„์„์— ๋”ฐ๋ฅด๋ฉด ๋ฃจํ”„๋Š” ๋„ค ๊ฐ€์ง€ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ ๋น„์šฉ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ฐ€์น˜๋ฅผ ๋Œ๋ ค์ค€๋‹ค:

  1. ์ž‘์—…์ด ๋ฐ˜๋ณต๋œ๋‹ค
  2. ๊ฒ€์ฆ์ด ์ž๋™ํ™”๋˜์–ด ์žˆ๋‹ค
  3. ํ† ํฐ ์˜ˆ์‚ฐ์ด ๋‚ญ๋น„๋ฅผ ํก์ˆ˜ํ•  ์ˆ˜ ์žˆ๋‹ค
  4. ์—์ด์ „ํŠธ์—๊ฒŒ ์ด๋ฏธ ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์‚ฌ์šฉํ•  ๋„๊ตฌ๊ฐ€ ์žˆ๋‹ค

ํ•˜๋‚˜๋ผ๋„ ๋น ์ง€๋ฉด ๋ฃจํ”„๋Š” ๋Œ๋ ค์ฃผ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๋น„์šฉ์ด ๋“ ๋‹ค.

๋‘ ๊ฐœ๋…์„ ํ•จ๊ป˜ ์ ์šฉํ•œ ๋‹ค์Œ ๋‹จ๊ณ„

๋ฃจํ”„ ์—”์ง€๋‹ˆ์–ด๋ง๊ณผ Agent Skills๋ฅผ ํ•จ๊ป˜ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด:

  1. ํ˜„์žฌ ๊ฐ€์žฅ ๊ณ ํ†ต์Šค๋Ÿฌ์šด ๋ฐ˜๋ณต ์ž‘์—… ํ•˜๋‚˜๋ฅผ ๊ณ ๋ฅธ๋‹ค (์˜ˆ: ๋งค์ผ ์•„์นจ CI ์‹คํŒจ ํ™•์ธ)
  2. ๊ทธ ์ž‘์—…์„ ์œ„ํ•œ ์Šคํ‚ฌ์„ SKILL.md๋กœ ์ž‘์„ฑํ•œ๋‹ค โ€” ์—์„ธ์ด๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹จ๊ณ„๋ณ„ ์›Œํฌํ”Œ๋กœ์šฐ๋กœ
  3. ์ž๋™ํ™”๋ฅผ ์„ค์ •ํ•ด ์Šค์ผ€์ค„์— ๋”ฐ๋ผ ์‹คํ–‰์‹œํ‚จ๋‹ค
  4. ์›ŒํฌํŠธ๋ฆฌ๋กœ ๋ณ‘๋ ฌ ์‹คํ–‰์„ ๊ฒฉ๋ฆฌํ•˜๊ณ , ์„œ๋ธŒ์—์ด์ „ํŠธ๋กœ ๊ตฌํ˜„๊ณผ ๊ฒ€์ฆ์„ ๋ถ„๋ฆฌํ•œ๋‹ค
  5. MCP ์ปค๋„ฅํ„ฐ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์‹ค์ œ ๋„๊ตฌ(GitHub, Linear, Slack)์™€ ์—ฐ๊ฒฐํ•œ๋‹ค
  6. ์ƒํƒœ ํŒŒ์ผ์— ์ง„ํ–‰ ์ƒํ™ฉ์„ ๊ธฐ๋กํ•ด ๋‹ค์Œ ์‹คํ–‰์ด ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค

๋งˆ์ง€๋ง‰์œผ๋กœ โ€” Addy Osmani์˜ ๊ฒฝ๊ณ 

"๋ฃจํ”„๋ฅผ ๋งŒ๋“ค์–ด๋ผ. ํ•˜์ง€๋งŒ ๊ณ„์† ์—”์ง€๋‹ˆ์–ด๋กœ ๋‚จ์œผ๋ ค๋Š” ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ๋งŒ๋“ค์–ด๋ผ. ๊ทธ๋ƒฅ ์‹œ์ž‘ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋Š” ์‚ฌ๋žŒ์ด ์•„๋‹ˆ๋ผ."

๋‘ ์‚ฌ๋žŒ์ด ๋™์ผํ•œ ๋ฃจํ”„๋ฅผ ๋งŒ๋“ค์–ด ์™„์ „ํžˆ ๋ฐ˜๋Œ€์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ํ•œ ์‚ฌ๋žŒ์€ ๊นŠ์ด ์ดํ•ดํ•˜๋Š” ์ž‘์—…์—์„œ ๋” ๋น ๋ฅด๊ฒŒ ์›€์ง์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์€ ์ž‘์—…์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ ์ž์ฒด๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ๋ฃจํ”„๋Š” ์ฐจ์ด๋ฅผ ๋ชจ๋ฅธ๋‹ค. ๋‹น์‹ ์€ ์•ˆ๋‹ค.

๊ทธ๊ฒƒ์ด ๋ฃจํ”„ ์„ค๊ณ„๊ฐ€ ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง๋ณด๋‹ค ๋” ์–ด๋ ค์šด ์ด์œ ๋‹ค. ๋” ์‰ฌ์šด ๊ฒŒ ์•„๋‹ˆ๋‹ค. ๋ ˆ๋ฒ„๋ฆฌ์ง€ ํฌ์ธํŠธ๊ฐ€ ์ด๋™ํ–ˆ์„ ๋ฟ์ด๋‹ค.


์ด ๋ฌธ์„œ๋Š” Addy Osmani์˜ "Loop Engineering" (2026๋…„ 6์›” 8์ผ) ๋ฐ "Agent Skills" (2026๋…„ 5์›” 3์ผ), Peter Steinberger์˜ X ๊ฒŒ์‹œ๋ฌผ(2026๋…„ 6์›” 7์ผ), Boris Cherny์˜ WorkOS Acquired Unplugged ์ธํ„ฐ๋ทฐ(2026๋…„ 6์›” 2์ผ), ๊ทธ๋ฆฌ๊ณ  ๊ด€๋ จ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ถ„์„์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜: addyo.substack.com/p/loop-engineering | addyosmani.com/blog/agent-skills

โš ๏ธ **GitHub.com Fallback** โš ๏ธ