Subagent๋Š” โ€œ์—์ด์ „ํŠธ๋ฅผ ๋งŽ์ด ๋„์šฐ๋Š” ๊ธฐ๋Šฅโ€์ด ์•„๋‹ˆ๋ผ, ๋ฉ”์ธ ๋Œ€ํ™”๊ฐ€ ๋ถ™์žกํžˆ์ง€ ์•Š๊ฒŒ ๋ฌด๊ฑฐ์šด ์ผ์„ ์˜†๋ฐฉ์œผ๋กœ ์ž ๊น ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ฐ€๊น๋‹ค. ๊ทธ๋ž˜์„œ ์ฒ˜์Œ ์„ค๊ณ„ํ•  ๋•Œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์งˆ๋ฌธ๋„ ๋‹จ์ˆœํ•˜๋‹ค. ์ด ์ผ์€ ์ง€๊ธˆ ๋ฉ”์ธ์ด ๋ฐ”๋กœ ๋‹ตํ•ด์•ผ ํ•˜๋Š”๊ฐ€, ์•„๋‹ˆ๋ฉด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๋”ฐ๋กœ ๋๋‚ด๊ณ  ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๋Š”๊ฐ€? ์ด ๊ธฐ์ค€๋งŒ ์žกํžˆ๋ฉด subagent๋Š” ๋ณต์žกํ•œ ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๋ผ ์šด์˜ ์ •๋ฆฌ ๋„๊ตฌ๊ฐ€ ๋œ๋‹ค.

์‹ค๋ฌด์—์„œ๋Š” ํŠนํžˆ ์•„๋ž˜ 3๊ฐ€์ง€์—์„œ ์ฒด๊ฐ์ด ํฌ๋‹ค.

  • ๋ฆฌ์„œ์น˜๊ฐ€ ๊ธธ์–ด์„œ ๋ฉ”์ธ ์‘๋‹ต์„ ๋ถ™์žก์•„ ๋‘˜ ๋•Œ
  • ๋ฌธ์„œ ๊ฒ€์ˆ˜ยท์ฝ”๋“œ ์ƒ์„ฑ์ฒ˜๋Ÿผ ํ•œ ๋ฒˆ์— ๋๋‚˜์ง€ ์•Š๋Š” ์ž‘์—…์ด ์ƒ๊ธธ ๋•Œ
  • ๋ฉ”์ธ์€ ์‚ฌ์šฉ์ž์™€ ๋Œ€ํ™”ํ•˜๊ณ , ์„œ๋ธŒ๋Š” ์ž๋ฃŒ ์ˆ˜์ง‘ยท์ดˆ์•ˆ ์ œ์ž‘์„ ๋งก๊ฒจ์•ผ ํ•  ๋•Œ

๋จผ์ € ํ๋ฆ„๋งŒ ๋นจ๋ฆฌ ์žก๊ณ  ์‹ถ๋‹ค๋ฉด 10. OpenCode์™€ 17. ์‹คํŒจํŒจํ„ด๋„ ๊ฐ™์ด ๋ณด๋ฉด ์ข‹๋‹ค.

๊ฒฐ๋ก  ๋จผ์ €

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

์น ํŒ ํŒ์„œํ˜• ์น˜ํŠธ์‹œํŠธ

  1. ๋ฉ”์ธ์€ ์‚ฌ์šฉ์ž ์‘๋‹ต๊ณผ ์ตœ์ข… ํŒ๋‹จ์„ ๋งก๋Š”๋‹ค.
  2. subagent๋Š” ๋ฌด๊ฑฐ์šด ์กฐ์‚ฌยท๊ฒ€์ˆ˜ยท์ดˆ์•ˆ ์ž‘์—…๋งŒ ๋ถ„๋ฆฌํ•œ๋‹ค.
  3. ํ”„๋กฌํ”„ํŠธ๋ณด๋‹ค ๋จผ์ € ๋ชฉํ‘œ/๋ฒ”์œ„/์ถœ๋ ฅํ˜•์‹/์™„๋ฃŒ๊ธฐ์ค€์„ ๊ณ ์ •ํ•œ๋‹ค.
  4. ๊ฒฐ๊ณผ๋Š” ๋ฐ”๋กœ ๋ณด๋‚ด์ง€ ๋ง๊ณ  ๋ฉ”์ธ์ด ๊ฒ€์ˆ˜ ํ›„ ํ†ตํ•ฉํ•œ๋‹ค.
  5. ๋ฐ˜๋ณต ์‹คํŒจ ํŒจํ„ด์€ ๋‹ค์Œ ํ”„๋กฌํ”„ํŠธ ๋ฒ„์ „์— ๊ทœ์น™์œผ๋กœ ํก์ˆ˜ํ•œ๋‹ค.

30์ดˆ ํŒ๋‹จ: ์ง€๊ธˆ subagent๊ฐ€ ํ•„์š”ํ•œ๊ฐ€

  • ๋ฐ”๋กœ ๋‹ตํ•ด์•ผ ํ•˜๋Š” ์งง์€ ์„ค๋ช…์ด๋ฉด ๋ฉ”์ธ์ด ์ง์ ‘ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • 5๋ถ„ ๋„˜๊ฒŒ ๊ฑธ๋ฆด ์กฐ์‚ฌยท์ˆ˜์ง‘ยท๊ฒ€์ˆ˜๋ฉด subagent๋ฅผ ๋ถ™์ธ๋‹ค.
  • ์ฝ”๋“œ ์ˆ˜์ •ยท์‹คํ–‰ยทํ…Œ์ŠคํŠธ๊ฐ€ ํ•ต์‹ฌ์ด๋ฉด OpenCode๋‚˜ ACP ๊ฒฝ๋กœ๋ฅผ ๋จผ์ € ๋ณธ๋‹ค.
  • ๊ฐ™์€ ์‹คํŒจ๊ฐ€ ๋ฐ˜๋ณต๋˜๋Š” ์ž‘์—…์ด๋ฉด subagent๋ณด๋‹ค ์ถœ๋ ฅ ๊ณ„์•ฝ๋ถ€ํ„ฐ ๋‹ค์‹œ ์„ค๊ณ„ํ•œ๋‹ค.

0) OpenClaw Subagents ๊ธฐ๋Šฅ/์ •์˜ (๋จผ์ € ์•Œ์•„์•ผ ํ•  ํ•ต์‹ฌ)

Subagents๋Š” ๋ฉ”์ธ ์‹คํ–‰ ์ค‘ ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋„์šฐ๋Š” ๋ถ„๋ฆฌ ์„ธ์…˜ ์‹คํ–‰๊ธฐ๋‹ค.

  • ์ƒ์„ฑ ๋„๊ตฌ: sessions_spawn
  • ์„ธ์…˜ ํ˜•ํƒœ: agent:<agentId>:subagent:<uuid>
  • ๋™์ž‘: ๋น„๋™๊ธฐ(non-blocking)๋กœ ์‹œ์ž‘๋˜๊ณ , ๋๋‚˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”์ธ ์ฑ„ํŒ…์— announce
  • ๋ชฉ์ : ๋А๋ฆฐ ์ž‘์—…/๊ธด ๋ฆฌ์„œ์น˜/๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ๋ถ„๋ฆฌ
  • ์ œ์•ฝ: subagent๊ฐ€ ๋˜ ๋‹ค๋ฅธ subagent๋ฅผ spawnํ•  ์ˆ˜๋Š” ์—†์Œ
flowchart LR
A[๋ฉ”์ธ ์—์ด์ „ํŠธ ์š”์ฒญ ์ˆ˜์‹ ] --> B{์ž‘์—…์ด ๋ฌด๊ฒ๊ฑฐ๋‚˜ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š”๊ฐ€?}
B -->|No| C[๋ฉ”์ธ์ด ์ง์ ‘ ์ฒ˜๋ฆฌ]
B -->|Yes| D[sessions_spawn์œผ๋กœ Subagent ์‹คํ–‰]
D --> E[๋ถ„๋ฆฌ ์„ธ์…˜์—์„œ ์‹คํ–‰]
E --> F[announce ๊ฒฐ๊ณผ]
F --> G[๋ฉ”์ธ์ด ๊ฒ€์ˆ˜/ํ†ตํ•ฉ ํ›„ ์ „๋‹ฌ]

1) ์šฐ๋ฆฌ๊ฐ€ ์‹ค์ œ๋กœ ์“ฐ๋Š” ๊ตฌ์กฐ (๊ต๊ณผ์„œํ˜• X)

์šด์˜ ๊ตฌ์กฐ

  1. ๋ฉ”์ธ ์ง์ ‘ ์ฒ˜๋ฆฌ๋ฅผ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ๋‘”๋‹ค.
  2. ๊ธธ๊ฑฐ๋‚˜ ๋ฌด๊ฑฐ์šด ์ž‘์—…๋งŒ ๋‹จ์ผ subagent๋ฅผ ๋ถ™์ธ๋‹ค.
  3. ๊ฒฐ๊ณผ๋ฅผ ๋ฉ”์ธ์ด ๊ฒ€์ˆ˜ํ•ด ์ตœ์ข… ์‘๋‹ตํ•œ๋‹ค.

์ด ๋ฐฉ์‹์˜ ์žฅ์ 

  • ๋Œ€ํ™” ์†๋„๊ฐ€ ๋–จ์–ด์ง€์ง€ ์•Š์Œ
  • โ€œ์ง€๊ธˆ ๋‹ตํ•ด์•ผ ํ•˜๋Š” ๊ฒƒโ€๊ณผ โ€œ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ผโ€์„ ๋ถ„๋ฆฌ ๊ฐ€๋Šฅ
  • ํ’ˆ์งˆ ๊ธฐ์ค€์„ ๋ฉ”์ธ์—์„œ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ ๊ฐ€๋Šฅ

ํ˜„์žฅ ๋ฏธ๋‹ˆ ์‚ฌ๋ก€ 2๊ฐœ

์‚ฌ๋ก€ A. ์ž˜๋œ ์‚ฌ์šฉ

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

์‚ฌ๋ก€ B. ์ž˜ ์•ˆ ๋˜๋Š” ์‚ฌ์šฉ

์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋ƒฅ โ€œ์ข‹๊ฒŒ ์ •๋ฆฌํ•ด์ค˜โ€๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ, ๋ฉ”์ธ์ด ๋ชฉํ‘œยท๋ฒ”์œ„ยทํ˜•์‹์„ ์•ˆ ์ค€ ์ฑ„ subagent๋ฅผ ๋„์šฐ๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ๊ธธ๊ณ  ์• ๋งคํ•ด์ง„๋‹ค. ์ด ๊ฒฝ์šฐ ๋ฌธ์ œ๋Š” subagent ์„ฑ๋Šฅ๋ณด๋‹ค ๊ณ„์•ฝ ์—†๋Š” ์š”์ฒญ์— ์žˆ๋‹ค.

1-1) ์‹ค์ œ๋กœ ๊ตฌ์„ฑํ•ด ์“ด Subagent ์˜ˆ์‹œ

์•„๋ž˜๋Š” ์ด ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค ๋•Œ ๊ธฐ์ค€์œผ๋กœ ์‚ผ์€ ์‹ค์ œ ์šด์˜ ์ผ€์ด์Šค๋‹ค.

  • llm-4h-course-builder
    • ๋ชฉ์ : 4์‹œ๊ฐ„ LLM ๊ต์œก์•ˆ ๋ณ‘๋ ฌ ์„ค๊ณ„
    • ์‚ฐ์ถœ๋ฌผ: ์‹œ๊ฐ„ํ‘œ/์‹ค์Šต/ํ‰๊ฐ€ ํ”„๋กฌํ”„ํŠธ ํŒจํ‚ค์ง€
  • startup-support-march-scan
    • ๋ชฉ์ : 3์›” ์ •๋ถ€์ง€์›์‚ฌ์—… ๊ณต์‹ ์†Œ์Šค ์Šค์บ”
    • ์‚ฐ์ถœ๋ฌผ: ๊ณต๊ณต๊ธฐ๊ด€ ์ค‘์‹ฌ ํ›„๋ณด ๋ฆฌ์ŠคํŠธ + ๋งํฌ
  • ์•ผ๊ฐ„์กฐ-EP03-๊ฒ€์ˆ˜๋ฃจํ”„
    • ๋ชฉ์ : ์†Œ์„ค ์—ํ”ผ์†Œ๋“œ ๋‹ค์ค‘ ๊ฒ€์ˆ˜(๋ฌธ์ œ์ฐพ๊ธฐโ†’์ˆ˜์ •)
    • ์‚ฐ์ถœ๋ฌผ: ๋ผ์šด๋“œ๋ณ„ ์ˆ˜์ •๋ณธ + ๊ฒ€์ˆ˜ ๋กœ๊ทธ
  • ๊ต์œก์š”์ฒญ๋ฉ”์ผ-๋ชจ๋‹ˆํ„ฐ (isolated cron)
    • ๋ชฉ์ : ์‹ ๊ทœ ๊ต์œก์š”์ฒญ ๋ฉ”์ผ ๊ฐ์‹œ
    • ์‚ฐ์ถœ๋ฌผ: ์กฐ๊ฑด ์ถฉ์กฑ ์‹œ ์ฆ‰์‹œ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€

ํ•ต์‹ฌ์€ โ€œ์„œ๋ธŒ์—์ด์ „ํŠธ๋ฅผ ๋งŽ์ด ๋‘๋Š” ๊ฒƒโ€์ด ์•„๋‹ˆ๋ผ, ์ž‘์—… ๋‹จ์œ„๋ณ„๋กœ ์งง๊ฒŒ ๋„์šฐ๊ณ  ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

2) Subagent ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„ ๋ฐฉ์‹ (ํ•ต์‹ฌ์€ โ€˜๊ณ„์•ฝโ€™)

์ข‹์€ ํ”„๋กฌํ”„ํŠธ 1๊ฐœ๋ณด๋‹ค ์ค‘์š”ํ•œ ๊ฑด **์ถœ๋ ฅ ๊ณ„์•ฝ(Output Contract)**์ด๋‹ค.

ํ•ญ๋ชฉ์„ค๊ณ„ ์งˆ๋ฌธ์˜ˆ์‹œ
๋ชฉํ‘œ๋ฌด์—‡์„ ๋๋‚ด๋ฉด ์™„๋ฃŒ์ธ๊ฐ€?3์›” ์ง€์›์‚ฌ์—… ๊ณต์‹ ์†Œ์Šค๋งŒ ์Šค์บ”
๋ฒ”์œ„๋ฌด์—‡์„ ํฌํ•จ/์ œ์™ธํ• ๊นŒ?๊ณต์‹ ์‚ฌ์ดํŠธ ํฌํ•จ, ๋ธ”๋กœ๊ทธ ์ œ์™ธ
์ž…๋ ฅ์–ด๋–ค ํŒŒ์ผ/๊ธฐ๊ฐ„/์กฐ๊ฑด์„ ์“ธ๊นŒ?์ตœ๊ทผ 30์ผ, ์„œ์šธ/์ค‘๊ธฐ ํ‚ค์›Œ๋“œ
์ถœ๋ ฅ ๊ณ„์•ฝ์–ด๋–ค ํ˜•์‹์œผ๋กœ ๋‚ผ๊นŒ?ํ‘œ + ๋งํฌ + ์š”์•ฝ 3์ค„
์™„๋ฃŒ ๊ธฐ์ค€ํ•ฉ๊ฒฉ ์กฐ๊ฑด์„ ์ˆ˜์น˜ํ™”ํ–ˆ๋‚˜?์ตœ์†Œ 5๊ฑด, ์ค‘๋ณต 0๊ฑด
์‹คํŒจ ์‹œ ๊ทœ์น™๋ง‰ํžˆ๋ฉด ์–ด๋–ป๊ฒŒ ์šฐํšŒํ• ๊นŒ?Browser ์‹คํŒจ ์‹œ API fallback
์ฃผ์˜์‚ฌํ•ญ๋ฐ˜๋“œ์‹œ ํ”ผํ•  ๊ฒƒ์ถ”์ธก ์ž‘์„ฑ, ํ˜•์‹ ์ดํƒˆ, ๋ฏผ๊ฐ์ •๋ณด ๋…ธ์ถœ

3) Subagent๋ฅผ โ€˜ํ‚ค์šฐ๋Š”โ€™ ๋ฐฉ๋ฒ• (ํ”ผ๋“œ๋ฐฑ ๋ฐ˜์˜ ๋ฃจํ”„)

์‹ค์ „์—์„œ๋Š” ์•„๋ž˜ ๋ฃจํ”„๋กœ ์•ˆ์ •ํ™”ํ•œ๋‹ค.

  1. ์ž‘์„ฑ
  2. ๋ฌธ์ œ์ฐพ๊ธฐ
  3. ์ˆ˜์ •
  4. ์‹คํŒจ ํŒจํ„ด์„ ๋‹ค์Œ ํ”„๋กฌํ”„ํŠธ์— ๊ทœ์น™์œผ๋กœ ํก์ˆ˜
flowchart TD
A[1์ฐจ ์‹คํ–‰] --> B[๋ฌธ์ œ ์ˆ˜์ง‘]
B --> C[ํ”„๋กฌํ”„ํŠธ ๊ณ„์•ฝ ํŒจ์น˜]
C --> D[์žฌ์‹คํ–‰]
D --> E{๊ธฐ์ค€ ํ†ต๊ณผ?}
E -->|No| B
E -->|Yes| F[์šด์˜ ํ…œํ”Œ๋ฆฟ์œผ๋กœ ๊ณ ์ •]

์‹ค์ œ๋กœ ํ’ˆ์งˆ์ด ์ข‹์•„์ง€๋Š” ์ง€์ 

  • โ€œ์ž˜ ํ•ด์ค˜โ€๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ํ˜•์‹/ํŒ์ •/์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฅผ ๊ณ ์ •ํ•  ๋•Œ
  • ์‹คํŒจ ์›์ธ์„ ๋‹ค์Œ ๋ฒ„์ „์— ๋ฐ”๋กœ ๋ฐ˜์˜ํ•  ๋•Œ
  • ์ตœ์ข… ์˜์‚ฌ๊ฒฐ์ •์„ ์‚ฌ๋žŒ์ด ํ•œ ๋ฒˆ ๋” ๊ฒ€ํ† ํ•  ๋•Œ

4) ํ™œ์šฉ ๋„๊ตฌ ๋งต (Subagents + OpenCode)

๊ธฐ๋ณธ ๋„๊ตฌ ์กฐํ•ฉ

  • ์กฐ์‚ฌ/์ˆ˜์ง‘: web_search, web_fetch, read
  • ๋กœ์ปฌ ์‹คํ–‰/๊ฒ€์ฆ: exec, process
  • ์„ธ์…˜ ๋ถ„๋ฆฌ: sessions_spawn, sessions_list, sessions_history
  • ์ž๋™ํ™”: cron (isolated agentTurn)

OpenCode ์—ฐ๊ณ„ ํฌ์ธํŠธ

  • ์ฝ”๋“œ ์ƒ์„ฑ/์ˆ˜์ •/ํ…Œ์ŠคํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ตฌ๊ฐ„์€ OpenCode๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์šด์˜ ํ๋ฆ„:
    1. Subagent๊ฐ€ ์š”๊ตฌ์‚ฌํ•ญ/๊ฒ€์ฆ๊ธฐ์ค€ ์ •๋ฆฌ
    2. OpenCode์—์„œ ์ฝ”๋“œ ์ž‘์„ฑยท์‹คํ–‰
    3. ๋ฉ”์ธ์ด ๊ฒฐ๊ณผ๋ฅผ ๊ฒ€์ˆ˜ํ•ด ์ตœ์ข… ์ „๋‹ฌ

5) ๋ฐ”๋กœ ์“ฐ๋Š” ํ…œํ”Œ๋ฆฟ

A) Subagent ์ž‘์—… ์ง€์‹œ ํ…œํ”Œ๋ฆฟ

๋ชฉํ‘œ: [ํ•œ ์ค„]
๋ฒ”์œ„: [ํฌํ•จ/์ œ์™ธ]
์ž…๋ ฅ: [ํŒŒ์ผ/๋งํฌ/๊ธฐ๊ฐ„]
์ถœ๋ ฅํ˜•์‹: [๊ณ ์ • ํฌ๋งท]
์™„๋ฃŒ๊ธฐ์ค€: [์ •๋Ÿ‰]
์‹คํŒจ์‹œ: [fallback]
์ฃผ์˜: [์ถ”์ธก/ํ˜•์‹์ดํƒˆ/๋ฏผ๊ฐ์ •๋ณด]

B) ๋ฌธ์ œ์ฐพ๊ธฐ ํ…œํ”Œ๋ฆฟ

์•„๋ž˜ ๊ฒฐ๊ณผ์—์„œ ๋ฌธ์ œ๋งŒ ์ฐพ์•„๋ผ.
ํ˜•์‹:
- ๋ฌธ์ œ
- ์˜ํ–ฅ
- ์ˆ˜์ •์•ˆ
์ตœ์†Œ 5๊ฐœ, ์ค‘์š”๋„(Critical/Major/Minor) ํ‘œ์‹œ

C) OpenCode ์—ฐ๊ณ„ ํ…œํ”Œ๋ฆฟ

์ž‘์—…์š”์ฒญ: ์ฝ”๋“œ ๊ตฌํ˜„ ๋ฐ ๊ฒ€์ฆ
๋ชฉํ‘œ: [๊ธฐ๋Šฅ]
์ž…๋ ฅ: [ํŒŒ์ผ/ํ™˜๊ฒฝ]
์„ฑ๊ณตํŒ์ •:
1) ํ…Œ์ŠคํŠธ ํ†ต๊ณผ
2) ์—๋Ÿฌ 0๊ฐœ
3) ์‹คํ–‰ ๋กœ๊ทธ ์š”์•ฝ 5์ค„
์‹คํŒจ์‹œ ์šฐํšŒ:
- ์›์ธ 1์ค„
- ๋‹ค์Œ์กฐ์น˜ 1์ค„

6) ์˜์ƒ ํ›…์œผ๋กœ ์“ฐ๋Š” ๋ฐฉ๋ฒ• (์‹ค์ „)

  • ํ›… ๋ฉ”์‹œ์ง€: โ€œ์„ค์น˜๋ณด๋‹ค ์šด์˜์ด ์ง„์งœ๋‹คโ€
  • ๋ฐ๋ชจ ๊ตฌ์„ฑ:
    1. ๋ฉ”์ธ์—์„œ ์š”์ฒญ ์ˆ˜์‹ 
    2. subagent ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰
    3. OpenCode๋กœ ์ฝ”๋“œ ์ž‘์—… ์ฒ˜๋ฆฌ
    4. ๋ฉ”์ธ์ด ํ†ตํ•ฉ ๊ฒฐ๊ณผ๋ฅผ ๊น”๋”ํžˆ ๋ณด๊ณ 

์ด๋ ‡๊ฒŒ ๋ณด์—ฌ์ฃผ๋ฉด ๋‹จ์ˆœ ์„ค์น˜ ์˜์ƒ๊ณผ ๋‹ฌ๋ฆฌ โ€œ์‹ค๋ฌด ์šด์˜ ์—ญ๋Ÿ‰โ€์ด ๋ณด์ธ๋‹ค.

7) ๋ชฉ์ ํ˜• Subagent ์žฌ์‚ฌ์šฉ ์•„ํ‚คํ…์ฒ˜

์ผํšŒ์„ฑ ์‹คํ–‰๋งŒ ๋ฐ˜๋ณตํ•˜๋ฉด ํ’ˆ์งˆ์ด ๋งค๋ฒˆ ํ”๋“ค๋ฆฐ๋‹ค. ๊ทธ๋ž˜์„œ ๋ชฉ์ ๋ณ„๋กœ Subagent๋ฅผ ๋ฌถ์–ด ์žฌ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ํšจ์œจ์ ์ด๋‹ค.

7-1) ์šด์˜ ๊ตฌ์กฐ

flowchart LR
A[์š”์ฒญ ์ ‘์ˆ˜] --> B{๋ชฉ์  ๋ถ„๋ฅ˜}
B --> C[Research Agent]
B --> D[Validation Agent]
B --> E[Builder Agent]
B --> F[Monitor Agent]
C --> G[ํ‘œ์ค€ ์ถœ๋ ฅ ๊ณ„์•ฝ]
D --> G
E --> G
F --> G
G --> H[๋ฉ”์ธ ํ†ตํ•ฉ ๋ณด๊ณ ]

7-2) ๋ชฉ์ ๋ณ„ ์นดํƒˆ๋กœ๊ทธ(์˜ˆ์‹œ 4์ข…)

  • ๋ฆฌ์„œ์น˜ ์Šค์บ” โ†’ research-scan
    • ์ž…๋ ฅ ํ…œํ”Œ๋ฆฟ: ๊ธฐ๊ฐ„/ํ‚ค์›Œ๋“œ/์†Œ์Šค๋ฒ”์œ„
    • ์ถœ๋ ฅ ๊ณ„์•ฝ: ๋งํฌ ํฌํ•จ ์š”์•ฝํ‘œ + ์šฐ์„ ์ˆœ์œ„
  • ๋ฌธ์„œ ๊ฒ€์ˆ˜ โ†’ doc-validator
    • ์ž…๋ ฅ ํ…œํ”Œ๋ฆฟ: ์ดˆ์•ˆ ๋ณธ๋ฌธ/๊ฒ€์ˆ˜๊ธฐ์ค€
    • ์ถœ๋ ฅ ๊ณ„์•ฝ: Critical/Major/Minor ์ด์Šˆ ๋ชฉ๋ก
  • ์‚ฐ์ถœ๋ฌผ ์ œ์ž‘ โ†’ course-builder
    • ์ž…๋ ฅ ํ…œํ”Œ๋ฆฟ: ์š”๊ตฌ์‚ฌํ•ญ/์‹œ๊ฐ„/๋Œ€์ƒ์ž
    • ์ถœ๋ ฅ ๊ณ„์•ฝ: ์ปค๋ฆฌํ˜๋Ÿผ+์‹ค์Šต์•ˆ+ํ‰๊ฐ€๊ธฐ์ค€
  • ๋ชจ๋‹ˆํ„ฐ๋ง โ†’ mail-monitor
    • ์ž…๋ ฅ ํ…œํ”Œ๋ฆฟ: ๊ณ„์ •/ํ•„ํ„ฐ/์ฃผ๊ธฐ
    • ์ถœ๋ ฅ ๊ณ„์•ฝ: ์‹ ๊ทœ ์ด๋ฒคํŠธ ์•Œ๋ฆผ(์กฐ๊ฑด์ถฉ์กฑ๋งŒ)

7-3) ์žฌ์‚ฌ์šฉ ๊ทœ์น™

  1. ๋ชฉ์ ๋ณ„๋กœ ์ž…๋ ฅ/์ถœ๋ ฅ/์„ฑ๊ณต๊ธฐ์ค€์„ ๋ฌธ์„œ์— ๊ณ ์ •ํ•œ๋‹ค.
  2. ์‹คํ–‰ ์‹œ์—๋Š” ๋ณ€์ˆ˜(๊ธฐ๊ฐ„, ํ‚ค์›Œ๋“œ, ๋Œ€์ƒ)๋งŒ ๋ฐ”๊ฟ” ํ˜ธ์ถœํ•œ๋‹ค.
  3. ์‹คํŒจ ํŒจํ„ด์€ ๋‹ค์Œ ๋ฒ„์ „์— ์ฆ‰์‹œ ๋ฐ˜์˜ํ•ด ํ…œํ”Œ๋ฆฟ์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.
  4. ์ตœ์ข… ์ „๋‹ฌ ํ˜•์‹์€ ๋ฉ”์ธ์ด ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•œ๋‹ค.

7-4) ๋ฐ”๋กœ ์“ฐ๋Š” ๋ชฉ์ ํ˜• ํ…œํ”Œ๋ฆฟ

(1) Research Agent

๋ชฉํ‘œ: ๊ณต์‹ ์†Œ์Šค ๊ธฐ๋ฐ˜ ์ด์Šˆ ์Šค์บ”
์ž…๋ ฅ: ๊ธฐ๊ฐ„={๊ธฐ๊ฐ„}, ํ‚ค์›Œ๋“œ={ํ‚ค์›Œ๋“œ}, ์†Œ์Šค={๊ณต์‹ ์‚ฌ์ดํŠธ ๋ชฉ๋ก}
์ถœ๋ ฅ: [ํ•ญ๋ชฉ๋ช…|์š”์•ฝ|๋งํฌ|์ƒํƒœ] ํ‘œ 5๊ฑด ์ด์ƒ
์„ฑ๊ณต๊ธฐ์ค€: ์ค‘๋ณต 0๊ฑด, ๋งํฌ ๋ˆ„๋ฝ 0๊ฑด

(2) Validation Agent

๋ชฉํ‘œ: ์ดˆ์•ˆ ํ’ˆ์งˆ ๊ฒ€์ˆ˜
์ž…๋ ฅ: ๋ณธ๋ฌธ={๋ฌธ์„œ}, ๊ธฐ์ค€={์ •ํ™•์„ฑ/๊ฐ€๋…์„ฑ/๋ˆ„๋ฝ}
์ถœ๋ ฅ: Critical/Major/Minor ์ด์Šˆ ๋ชฉ๋ก + ์ˆ˜์ • ์ œ์•ˆ
์„ฑ๊ณต๊ธฐ์ค€: ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์ง€์  ์ตœ์†Œ 5๊ฑด

(3) Builder Agent

๋ชฉํ‘œ: ์š”๊ตฌ์‚ฌํ•ญ ๊ธฐ๋ฐ˜ ์‚ฐ์ถœ๋ฌผ ์ œ์ž‘
์ž…๋ ฅ: ์š”๊ตฌ์‚ฌํ•ญ={๋ชฉํ‘œ/๋Œ€์ƒ/์‹œ๊ฐ„}
์ถœ๋ ฅ: ๊ตฌ์กฐํ™”๋œ ๊ฒฐ๊ณผ๋ฌผ(๋ชฉ์ฐจ+์‹คํ–‰์•ˆ+์ฒดํฌ๋ฆฌ์ŠคํŠธ)
์„ฑ๊ณต๊ธฐ์ค€: ์ฆ‰์‹œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋‹จ๊ณ„ํ˜• ๋ฌธ์„œ

(4) Monitor Agent

๋ชฉํ‘œ: ์กฐ๊ฑด ๊ธฐ๋ฐ˜ ์ด๋ฒคํŠธ ๊ฐ์ง€
์ž…๋ ฅ: ํ•„ํ„ฐ={๋ฐœ์‹ ์ž/์ฃผ์ œ/๊ธฐ๊ฐ„}, ์ฃผ๊ธฐ={n๋ถ„}
์ถœ๋ ฅ: ์กฐ๊ฑด ์ถฉ์กฑ ์ด๋ฒคํŠธ๋งŒ ๊ฐ„๊ฒฐ ์•Œ๋ฆผ
์„ฑ๊ณต๊ธฐ์ค€: ์˜คํƒ ์ตœ์†Œํ™”, ๋™์ผ ์ด๋ฒคํŠธ ์ค‘๋ณต ์•Œ๋ฆผ ๋ฐฉ์ง€

๋‹ค์Œ์— ๊ฐ™์ด ๋ณด๋ฉด ์ข‹์€ ๋ฌธ์„œ

AI ํ™œ์šฉ ๊ณ ์ง€

์ด ๋ฌธ์„œ๋Š” ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•ด ์ดˆ์•ˆ์„ ๊ตฌ์„ฑํ–ˆ๊ณ , ์‹ค์ œ ์šด์˜ ์‚ฌ๋ก€ ๊ธฐ์ค€์œผ๋กœ ์‚ฌ๋žŒ ๊ฒ€ํ†  ํ›„ ์ •๋ฆฌํ–ˆ๋‹ค.