Skip to content

junwoojeong100/copilot-cli-agent-patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– Copilot CLI β€” Multi-Agent Patterns

GitHub Copilot CLIλ₯Ό ν™œμš©ν•œ λ©€ν‹° μ—μ΄μ „νŠΈ ν˜‘μ—… νŒ¨ν„΄ 레퍼런슀 ν”„λ‘œμ νŠΈ

μ—¬λŸ¬ AI μ—μ΄μ „νŠΈκ°€ 역할을 λΆ„λ‹΄ν•˜μ—¬ ν˜‘μ—…ν•˜λŠ” νŒ¨ν„΄λ“€μ„ μ •μ˜ν•˜κ³ , GitHub Copilot CLI의 --agent μ˜΅μ…˜μœΌλ‘œ λ°”λ‘œ μ‹€ν–‰ν•  수 μžˆλŠ” μƒ˜ν”Œμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ ꡬ쑰

github-copilot-cli-agents/
β”œβ”€β”€ AGENTS.md                           # λͺ¨λ“  μ—μ΄μ „νŠΈ 곡톡 κ°€λ“œλ ˆμΌ (Harness)
β”œβ”€β”€ init.sh                             # Codespace ν™˜κ²½ μ…‹μ—… 슀크립트
β”œβ”€β”€ .devcontainer/
β”‚   └── devcontainer.json               # Codespace μ‹œμž‘ μ‹œ init.sh μžλ™ μ‹€ν–‰
β”œβ”€β”€ .github/agents/                     # Copilot CLI μ—μ΄μ „νŠΈ μ •μ˜ (νŒ€ κ΅¬μ„±Β·λΌμš°νŒ…Β·λ‹€μ΄μ–΄κ·Έλž¨ 포함)
β”‚   β”œβ”€β”€ orchestrator.agent.md           # μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„° β€” μš”μ²­ 뢄석 ν›„ νŒ¨ν„΄ μžλ™ 선택
β”‚   β”œβ”€β”€ code_generation.agent.md        # μ½”λ“œ μ„€κ³„β†’κ΅¬ν˜„β†’λ¦¬λ·° νŒ¨ν„΄ μ—μ΄μ „νŠΈ
β”‚   β”œβ”€β”€ planner_executor.agent.md       # κ³„νš-μ‹€ν–‰ νŒ¨ν„΄ μ—μ΄μ „νŠΈ
β”‚   β”œβ”€β”€ debate_critic.agent.md          # ν† λ‘ -비평 νŒ¨ν„΄ μ—μ΄μ „νŠΈ
β”‚   └── generator_evaluator.agent.md    # 생성-평가 νŒ¨ν„΄ μ—μ΄μ „νŠΈ
β”œβ”€β”€ app/                                # μƒ˜ν”Œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜
β”‚   └── customer_support/               # Agent Framework 기반 고객 지원 μ‹œμŠ€ν…œ
β”œβ”€β”€ codegen/                            # μ½”λ“œ 생성 κ³Όμ • 기둝
β”‚   └── customer_support_summary.md     # Customer Support 생성 μš”μ•½
└── .copilot/
    └── mcp-config.json                 # MCP μ„œλ²„ μ„€μ •

μ‹œμž‘ν•˜κΈ°

πŸ’‘ GitHub Copilot CLI μžμ²΄μ— λŒ€ν•œ μ„€μΉ˜Β·μ‚¬μš©λ²• κ°€μ΄λ“œλŠ” Copilot CLI κ°€μ΄λ“œλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

사전 μš”κ΅¬ 사항

방법 1: Codespace (ꢌμž₯)

이 레포λ₯Ό Codespace둜 μ—΄λ©΄ init.shκ°€ μžλ™ μ‹€ν–‰λ˜μ–΄ μ•„λž˜ 도ꡬ듀이 μ„€μΉ˜λ©λ‹ˆλ‹€:

도ꡬ μ„€λͺ…
GitHub Copilot CLI copilot λͺ…λ ΉμœΌλ‘œ μ—μ΄μ „νŠΈ μ‹€ν–‰
Azure CLI Azure λ¦¬μ†ŒμŠ€ 관리
uv Python νŒ¨ν‚€μ§€ λ§€λ‹ˆμ €

방법 2: 둜컬 ν™˜κ²½

git clone https://github.com/<owner>/github-copilot-cli-agents.git
cd github-copilot-cli-agents
./init.sh

μ—μ΄μ „νŠΈ μ‹€ν–‰ 방법

Copilot CLI둜 μ—μ΄μ „νŠΈ μ‹€ν–‰

# μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„° β€” μš”μ²­μ„ λΆ„μ„ν•˜μ—¬ 졜적의 νŒ¨ν„΄ νŒ€μ„ μžλ™ 선택
copilot --agent orchestrator --yolo

# κ°œλ³„ νŒ¨ν„΄ μ—μ΄μ „νŠΈλ₯Ό 직접 μ§€μ •ν•˜μ—¬ μ‹€ν–‰
copilot --agent planner_executor --yolo
copilot --agent debate_critic --yolo
copilot --agent generator_evaluator --yolo
copilot --agent code_generation --yolo

# κΈ°λ³Έ Copilot CLI (μ—μ΄μ „νŠΈ 없이)
copilot

μ—μ΄μ „νŠΈ νŒ¨ν„΄

🎯 Orchestrator (μ˜€μΌ€μŠ€νŠΈλ ˆμ΄ν„°)

μ‚¬μš©μž μš”μ²­μ„ λΆ„μ„ν•˜κ³  졜적의 νŒ¨ν„΄ νŒ€μ„ μžλ™ μ„ νƒν•˜λŠ” λΌμš°ν„°

copilot --agent orchestrator --yolo
μ‚¬μš©μž μ˜λ„ 선택 νŒ¨ν„΄
"κ΅¬ν˜„ν•΄μ€˜", "μ…‹μ—…ν•΄μ€˜", "λ§ˆμ΄κ·Έλ ˆμ΄μ…˜" πŸ“ Planner-Executor
"λΉ„κ΅ν•΄μ€˜", "μž₯단점", "뭐가 λ‚˜μ„κΉŒ" βš”οΈ Debate & Critic
"μƒμ„±ν•΄μ€˜", "λ¦¬λ·°ν•΄μ€˜", "κ°œμ„ ν•΄μ€˜" ⚑ Generator-Evaluator
"μ„€κ³„ν•˜κ³  κ΅¬ν˜„ν•΄μ€˜", "μ½”λ“œ μž‘μ„±ν•˜κ³  λ¦¬λ·°ν•΄μ€˜" πŸ—οΈ Code Generation

🧩 Agent Teams κ°œλ…

Agent Team은 ν•˜λ‚˜μ˜ μž‘μ—…μ„ μ—¬λŸ¬ μ „λ¬Έ μ—μ΄μ „νŠΈκ°€ 역할을 λΆ„λ‹΄ν•˜μ—¬ ν˜‘μ—…μœΌλ‘œ μˆ˜ν–‰ν•˜λŠ” λ‹¨μœ„μž…λ‹ˆλ‹€.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Agent Team                     β”‚
β”‚                                                 β”‚
β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”‚
β”‚   β”‚ Role A   │──▢│ Role B   │──▢│ Role C   β”‚   β”‚
β”‚   β”‚ (생성/μ œμ•ˆ)β”‚   β”‚ (평가/반둠)β”‚   β”‚ (μ’…ν•©/기둝)β”‚   β”‚
β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β”‚
β”‚        β–²                              β”‚         β”‚
β”‚        └──────── ν”Όλ“œλ°± 루프 β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

핡심 원칙

원칙 μ„€λͺ…
μ—­ν•  뢄리 각 μ—μ΄μ „νŠΈλŠ” ν•˜λ‚˜μ˜ λͺ…ν™•ν•œ μ±…μž„λ§Œ μˆ˜ν–‰
ν”Όλ“œλ°± 루프 μ‚°μΆœλ¬Ό β†’ 평가 β†’ κ°œμ„ μ˜ 반볡으둜 ν’ˆμ§ˆ ν–₯상
수렴 쑰건 λ¬΄ν•œ 반볡 λ°©μ§€λ₯Ό μœ„ν•΄ μ΅œλŒ€ 반볡 횟수 μ„€μ •
Scribe 기둝 λͺ¨λ“  νŒ€μ— Scribeκ°€ ν¬ν•¨λ˜μ–΄ κ³Όμ •/κ²°κ³Όλ₯Ό λ¬Έμ„œν™”
곡톡 κ°€λ“œλ ˆμΌ AGENTS.mdλ₯Ό 톡해 λͺ¨λ“  νŒ€μ— λ™μΌν•œ μ•ˆμ „ κ·œμΉ™ 적용

νŒ¨ν„΄λ³„ νŒ€ 비ꡐ

πŸ“ Planner-Executor βš”οΈ Debate & Critic ⚑ Generator-Evaluator πŸ—οΈ Code Generation
λͺ©μ  체계적 μ‹€ν–‰ μ΅œμ„ μ˜ κ²°λ‘  λ„μΆœ 반볡 κ°œμ„ μœΌλ‘œ ν’ˆμ§ˆ ν–₯상 섀계 기반 μ½”λ“œ 생성
νŒ€ ꡬ성 Planner β†’ Executor β†’ Validator β†’ Scribe Proposer ↔ Opponent β†’ Critic β†’ Synthesizer β†’ Scribe Generator β†’ Evaluator β†’ Refiner β†’ Scribe Architect β†’ Developer β†’ Reviewer β†’ Scribe
핡심 루프 κ³„νš β†’ μ‹€ν–‰ β†’ 검증 μ œμ•ˆ β†’ 반둠 β†’ 평가 생성 β†’ 평가 β†’ κ°œμ„  섀계 β†’ κ΅¬ν˜„ β†’ 리뷰
μ΅œλŒ€ 반볡 Revise ν›„ μž¬μ‹€ν–‰ 3 Rounds 3 Cycles 3 Cycles
μ ν•©ν•œ μž‘μ—… κ΅¬ν˜„, λ§ˆμ΄κ·Έλ ˆμ΄μ…˜, μ…‹μ—… 기술 선택, μ•„ν‚€ν…μ²˜ 비ꡐ μ½”λ“œ 생성, λ¬Έμ„œ μž‘μ„±, 리뷰 μ½”λ“œ μ„€κ³„Β·κ΅¬ν˜„Β·λ¦¬λ·° 톡합

πŸ“– μ˜ˆμ‹œ μ‹œλ‚˜λ¦¬μ˜€

μ‹œλ‚˜λ¦¬μ˜€ 1: "λͺ¨λ…Έλ ˆν¬ vs λ©€ν‹°λ ˆν¬, 우리 νŒ€μ— 뭐가 λ§žμ„κΉŒ?"

선택 νŒ¨ν„΄: βš”οΈ Debate & Critic

단계 μ—μ΄μ „νŠΈ μˆ˜ν–‰ λ‚΄μš©
Round 1 Proposer "λͺ¨λ…Έλ ˆν¬λ₯Ό 채택해야 ν•©λ‹ˆλ‹€. μ½”λ“œ κ³΅μœ κ°€ 쉽고, CI/CD νŒŒμ΄ν”„λΌμΈμ„ 톡합 관리할 수 μžˆμŠ΅λ‹ˆλ‹€."
Opponent "λ©€ν‹°λ ˆν¬κ°€ λ‚«μŠ΅λ‹ˆλ‹€. νŒ€λ³„ 독립 배포가 κ°€λŠ₯ν•˜κ³ , μ €μž₯μ†Œ 크기가 μž‘μ•„ λΉŒλ“œκ°€ λΉ λ¦…λ‹ˆλ‹€."
Critic "Proposer의 CI 톡합 μ£Όμž₯은 κ°•λ ₯ν•˜λ‚˜, νŒ€ 규λͺ¨(5λͺ…)μ—μ„œλŠ” λͺ¨λ…Έλ ˆν¬ 관리 뢀담이 클 수 μžˆμŠ΅λ‹ˆλ‹€."
Synthesizer 아직 수렴 λΆˆκ°€ β€” νŒ€ 규λͺ¨μ™€ 배포 λΉˆλ„ κΈ°μ€€μœΌλ‘œ Round 2 μ§„ν–‰
Round 2 Synthesizer βœ… 수렴 β€” "μ΄ˆκΈ°μ—λŠ” λͺ¨λ…Έλ ˆν¬ + Turborepo, νŒ€ 10λͺ… 이상 μ‹œ 뢄리 κ²€ν† " ꢌ고
μ΅œμ’… Scribe λ…Όμ˜ κ³Όμ •Β·κ·Όκ±°Β·μ΅œμ’… κΆŒκ³ μ•ˆμ„ λ¬Έμ„œν™”

μ‹œλ‚˜λ¦¬μ˜€ 2: "μ‚¬μš©μž 인증 APIλ₯Ό λ§Œλ“€μ–΄μ€˜"

선택 νŒ¨ν„΄: ⚑ Generator & Evaluator

단계 μ—μ΄μ „νŠΈ μˆ˜ν–‰ λ‚΄μš©
Cycle 1 Generator JWT 기반 인증 API μ΄ˆμ•ˆ 생성
Evaluator λ³΄μ•ˆ 6/10 (토큰 만료 λˆ„λ½) β†’ ❌ Fail
Refiner 토큰 만료 μ„€μ •, refresh token rotation μΆ”κ°€
Cycle 2 Evaluator λ³΄μ•ˆ 8/10 (rate limiting 미적용) β†’ ❌ Fail
Refiner express-rate-limit 미듀웨어 적용
Cycle 3 Evaluator λ³΄μ•ˆ 9/10, μ½”λ“œ ν’ˆμ§ˆ 9/10 β†’ βœ… Pass
μ΅œμ’… Scribe Cycle별 κ°œμ„  이λ ₯κ³Ό μ΅œμ’… API λͺ…μ„Έ λ¬Έμ„œν™”

μ‹œλ‚˜λ¦¬μ˜€ 3: "결제 μ‹œμŠ€ν…œ 톡합을 κ³„νšν•˜κ³  μ‹€ν–‰ν•΄μ€˜"

선택 νŒ¨ν„΄: πŸ“ Planner & Executor

단계 μ—μ΄μ „νŠΈ μˆ˜ν–‰ λ‚΄μš©
κ³„νš Planner νƒœμŠ€ν¬ λΆ„ν•΄: β‘  PG사 SDK μ„€μΉ˜ β†’ β‘‘ 결제 λͺ¨λΈ β†’ β‘’ API κ΅¬ν˜„ β†’ β‘£ μ›Ήν›… β†’ β‘€ ν…ŒμŠ€νŠΈ
μ‹€ν–‰ Executor νƒœμŠ€ν¬ β‘ β‘‘β‘’ μˆœμ„œλŒ€λ‘œ κ΅¬ν˜„
검증 Validator β‘’ ❌ Revise β€” "ν™˜λΆˆ 처리 둜직 λˆ„λ½"
μˆ˜μ • Planner νƒœμŠ€ν¬ ⑒에 ν™˜λΆˆ μ—”λ“œν¬μΈνŠΈ μΆ”κ°€
μž¬μ‹€ν–‰ Executor μˆ˜μ •λœ β‘’β‘£β‘€ μž¬κ΅¬ν˜„ β†’ λͺ¨λ“  νƒœμŠ€ν¬ βœ… Pass
μ΅œμ’… Scribe 전체 κ³„νšΒ·μ‹€ν–‰Β·κ²€μ¦ 이λ ₯ λ¬Έμ„œν™”

μ‹œλ‚˜λ¦¬μ˜€ 4: "μ‚¬μš©μž ν”„λ‘œν•„ APIλ₯Ό μ„€κ³„ν•˜κ³  κ΅¬ν˜„ν•˜κ³  λ¦¬λ·°ν•΄μ€˜"

선택 νŒ¨ν„΄: πŸ—οΈ Code Generation

단계 μ—μ΄μ „νŠΈ μˆ˜ν–‰ λ‚΄μš©
섀계 Architect 파일 ꡬ쑰 섀계: services/profile.js + routes/profile.js, RESTful μΈν„°νŽ˜μ΄μŠ€ μ •μ˜, κΈ°μ‘΄ auth 미듀웨어 μž¬μ‚¬μš©
κ΅¬ν˜„ Developer Architect 섀계에 따라 CRUD API μ½”λ“œ κ΅¬ν˜„
리뷰 (Cycle 1) Reviewer ❌ Revise β€” "μž…λ ₯ 검증 λˆ„λ½, SQL Injection μœ„ν—˜"
μˆ˜μ • Developer express-validator 적용, νŒŒλΌλ―Έν„° μ΄μŠ€μΌ€μ΄ν•‘ μΆ”κ°€
리뷰 (Cycle 2) Reviewer βœ… Pass β€” λ³΄μ•ˆ 8/10, μ½”λ“œ ν’ˆμ§ˆ 9/10, 섀계 μ€€μˆ˜ 10/10
μ΅œμ’… Scribe μ„€κ³„Β·κ΅¬ν˜„Β·λ¦¬λ·° κ³Όμ •κ³Ό μ΅œμ’… API λͺ…μ„Έ λ¬Έμ„œν™”

κ°€λ“œλ ˆμΌ (AGENTS.md)

λͺ¨λ“  μ—μ΄μ „νŠΈλŠ” AGENTS.md에 μ •μ˜λœ Harness Rulesλ₯Ό μ€€μˆ˜ν•©λ‹ˆλ‹€:

  • πŸ”΄ git push μ ˆλŒ€ κΈˆμ§€ β€” λͺ¨λ“  원격 λ°˜μ˜μ€ gh pr create --draftλ₯Ό ν†΅ν•œ PR 기반 μ›Œν¬ν”Œλ‘œμš°λ‘œ μ§„ν–‰
  • μ½”λ“œκ°€ 원격 μ €μž₯μ†Œμ— 반영되기 μ „ λ°˜λ“œμ‹œ μ‚¬λžŒμ˜ κ²€ν† λ₯Ό κ±°μΉ¨

λΌμ΄μ„ μŠ€

MIT

About

Multi Agents Patterns Using GitHub Copilot CLI

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors