Architecture - jaeseongs95/agent-governance-suite GitHub Wiki

ํ•œ๊ตญ์–ด | English

์•„ํ‚คํ…์ฒ˜

AGS๋Š” ์ „๋ฌธ ํŒ๋‹จ, ํ๋ฆ„ ์—ฐ๊ฒฐ, ์‹คํ–‰ ๊ฒ€์‚ฌ, ํ˜ธ์ŠคํŠธ ์—ฐ๊ฒฐ์„ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด ๊ตฌ์กฐ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                User / Lead Session          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ”‚ goal / scope
                       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                Orchestrator                 โ”‚
โ”‚ capability selection / ordering / handoff   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
               โ”‚
       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ–ผ                โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Specialist    โ”‚  โ”‚ Specialist    โ”‚
โ”‚ Skills        โ”‚  โ”‚ Skills        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ”‚ provider results   โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚        Local MCP + Contracts + SQLite       โ”‚
โ”‚ plan / revision / evidence / completion     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ”‚
              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
              โ–ผ                 โ–ผ
        Codex Adapter      Claude Adapter
        hooks / wake       hooks / inbox

1. ์ „๋ฌธ ์Šคํ‚ฌ ๊ณ„์ธต

skills/<specialist>/๋Š” ํŠน์ • ํŒ๋‹จ ์ฑ…์ž„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

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

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

2. Orchestrator

orchestrator๋Š” ํ˜„์žฌ ์„ค์น˜๋œ provider์˜ capability์™€ ์„ ํƒ ์กฐ๊ฑด์„ ์กฐํšŒํ•ด ํ•„์š”ํ•œ ํ๋ฆ„์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ผ๋ฐ˜ workflow, bootstrap, recovery provider๋ฅผ ๊ตฌ๋ถ„ํ•˜๋ฉฐ ์‚ฐ์ถœ๋ฌผ ์˜์กด์„ฑ์„ ๋งŒ์กฑ์‹œํ‚ค๋Š” ์ˆœ์„œ๋กœ ์‹คํ–‰์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ค‘์š”ํ•œ ์ ์€ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ๊ฐ€ ์ „๋ฌธ ์Šคํ‚ฌ์˜ ๋‚ด์šฉ์„ ๋Œ€์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

3. Contracts

AGS์˜ ๋‹จ๊ณ„์™€ ์‚ฐ์ถœ๋ฌผ์€ ๋ช…์‹œ์  ๊ณ„์•ฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋Œ€ํ‘œ ๊ณ„์•ฝ์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  • TaskEnvelope
  • SkillDescriptor
  • ProviderResult
  • WorkflowPlan
  • StageResult
  • WorkflowReceipt

์ด ๊ตฌ์กฐ ๋•๋ถ„์— โ€œ์–ด๋–ค ๋‹จ๊ณ„๊ฐ€ ๋ฌด์—‡์„ ์ž…๋ ฅ๋ฐ›๊ณ  ๋ฌด์—‡์„ ๋‚จ๊ฒจ์•ผ ํ•˜๋Š”๊ฐ€โ€๋ฅผ ๋Ÿฐํƒ€์ž„์—์„œ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. MCP์™€ SQLite

MCP ์‹คํ–‰ ๊ณ„์ธต์€ ๋‹ค์Œ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

  • ๊ณ„ํš ์„œ๋ช…๊ณผ ๊ฒฐ์†
  • ์‹คํ–‰ ์ˆœ์„œ
  • revision
  • stage ๊ฒฐ๊ณผ ํ˜•์‹
  • artifact ์˜์กด์„ฑ
  • ํ•„์ˆ˜ ๋‹จ๊ณ„
  • unresolved blocker
  • ์™„๋ฃŒ ์กฐ๊ฑด
  • ์‹คํ–‰ ๊ด€์ธก claim
  • ์ƒํƒœ ๋ณต์›

Workflow ์ƒํƒœ๋Š” SQLite์— ๋‚จ์•„ ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ๋’ค์—๋„ ์ด์–ด๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. Host Adapter์™€ Hook

Codex์™€ Claude Code๋Š” ์„ธ์…˜ ID, hook ์ด๋ฒคํŠธ, transcript, wake ๋ฐฉ์‹๊ณผ ์„ค์น˜ ํ˜•์‹์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

AGS๋Š” ์ด ์ฐจ์ด๋ฅผ ๊ณต์šฉ ๊ณ„์•ฝ ์•ˆ์œผ๋กœ ์ง์ ‘ ๋Œ์–ด๋“ค์ด์ง€ ์•Š๊ณ  adapter์™€ overlay๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ณตํ†ต ๊ณ„์ธต์˜ ํ•ต์‹ฌ ๊ฐœ๋…์€ ํŠน์ • ์ œํ’ˆ ์ด๋ฆ„์— ๋‹ซํžˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

6. ์‹คํ–‰ ๊ด€์ธก

Strict workflow์—์„œ caller๊ฐ€ JSON์œผ๋กœ โ€œ๋‚˜๋Š” ๋†’์€ ๋ชจ๋ธ์„ ์ผ๋‹คโ€๊ณ  ์ฃผ์žฅํ•˜๋Š” ๊ฐ’์€ ์‹ ๋ขฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ง€์›๋˜๋Š” host adapter๊ฐ€ ์‹ค์ œ ํ˜ธ์ถœ์—์„œ ๊ด€์ธกํ•œ model, reasoning effort, session, turn, tool-use ์ •๋ณด๋ฅผ ๊ฒฐ์†ํ•ด ์ „๋‹ฌํ•˜๋ฉฐ, ์„œ๋ฒ„๋Š” bindingยทfreshnessยทone-use ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ๋ชจ๋ธ ํ’ˆ์งˆ ์ž์ฒด๋ฅผ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋‚ฎ์€ ์‹คํ–‰ ์„ค์ •์ด ๋†’์€ ์‹ ๋ขฐ ๋‹จ๊ณ„๋กœ ์กฐ์šฉํžˆ ํ†ต๊ณผํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ์‹คํ–‰ ๊ฑฐ๋ฒ„๋„Œ์Šค์ž…๋‹ˆ๋‹ค.

7. Session Board์™€ Messaging

Session Board์™€ PEER messaging์€ workflow DB์™€ ๋ณ„๊ฐœ์˜ ํ˜‘์—… ๊ณ„์ธต์ž…๋‹ˆ๋‹ค.

  • Session Board: ํ˜„์žฌ ๋ˆ„๊ฐ€ ๋ฌด์—‡์„ ๋งก์•˜๋Š”์ง€ ์ฐพ์Œ
  • Messaging: ์‹ค์ œ ์š”์ฒญ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์ „๋‹ฌํ•จ
  • ACK: ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ„
  • Wake: ์œ ํœด ์„ธ์…˜์— ์žฌ๊ฐœ ์‹ ํ˜ธ๋ฅผ ์ „๋‹ฌํ•จ

๊ฐ ๊ธฐ๋Šฅ์˜ ์˜๋ฏธ๋ฅผ ํ•ฉ์ณ์„œ ํ•ด์„ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

8. Context Continuity

๊ธด ๋‹จ์ผ ์ž‘์—…์€ ๋ณ„๋„ continuity SQLite์— checkpoint๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Workflow ์›์žฅ์€ workflow DB์— ์œ ์ง€ํ•˜๊ณ , direct task์˜ ์žฌ๊ฐœ ์ •๋ณด๋Š” continuity DB์— ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ตฌ์กฐ๋Š” ์žฅ๊ธฐ ์ž‘์—…์˜ ์žฌ๊ฐœ์™€ ํ†ตํ•ฉ workflow์˜ ๊ฐ์‚ฌ ์›์žฅ์„ ์„œ๋กœ ๋‹ค๋ฅธ ์ฑ…์ž„์œผ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋” ๊นŠ์€ ๊ธฐ์ˆ  ๋ฌธ์„œ

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