์ด๋ฒ ํธ์ **โ์์ด์ ํธ 1๊ฐ๋ก ๋ค ํ๋ ค๋ค ๋ณต์กํด์ง๋ ๋ฌธ์ โ**๋ฅผ ํด๊ฒฐํ๋ค.
ํต์ฌ์ ๊ฐ๋จํ๋ค: ์ญํ ์ ๋๋ ๋ ์ ๋ฌธ ์์ด์ ํธ(risk_analyst, response_planner)๋ฅผ ๋งค๋์ ์์ด์ ํธ๊ฐ ์ค์ผ์คํธ๋ ์ด์
ํ๊ฒ ๋ง๋ ๋ค.
- ์ด์ ํธ(์ค์ตํธ 01): ๐ค 07. ์ค์ตํธ 01
ํ ์ค ๊ฒฐ๋ก
smolagents์ managed_agents ํจํด์ผ๋ก ์ญํ ์ ๋ถ๋ฆฌํ๋ฉด, ์ด๋ณด์๋ **์ฅ์ ๋์ ์์ฌ๊ฒฐ์ (type/severity/lane/comms/eta/rollback)**์ ์ฌํ ๊ฐ๋ฅํ๊ฒ ์๋ํํ ์ ์๋ค.
๊ณต์ ๊ทผ๊ฑฐ ๋ฐ๋ก๋ณด๊ธฐ
- Agents Course ์ ์ฅ์: ์ฝ์ค ์ ์ฒด ๊ตฌ์กฐ/๋จ์ ์๋ด
https://github.com/huggingface/agents-course - Agents Course Unit 2 smolagents: Multi-Agent Systems ํฌํจ
https://huggingface.co/learn/agents-course/unit2/smolagents/introduction - smolagents docs:
CodeAgent/ToolCallingAgent/managed_agents๊ฐ๋
https://huggingface.co/docs/smolagents
์ ๋ฉํฐ์์ด์ ํธ๊ฐ ์ค๋ฌด์์ ์ ๋ฆฌํ๊ฐ
smolagents ํํ ๋ฆฌ์ผ์ ๋ฒ ์คํธ ํ๋ํฐ์ค์ฒ๋ผ, ์ข์ ์์คํ ์ โ๋ณต์กํ ํ๋จ์ ์๊ณ ๋ช ํํ ์ญํ โ๋ก ์ชผ๊ฐค์๋ก ์์ ์ ์ด๋ค.
risk_analyst: ์ฅ์ ํ์ /์ฌ๊ฐ๋/ETA ์ฐ์ response_planner: ๋์ lane/์ปค๋ฎค๋์ผ์ด์ /๋กค๋ฐฑ ์ ์ฑ ์ถ์ฒmanager: ๋ ๊ฒฐ๊ณผ๋ฅผ ํฉ์ณ ์ต์ข ์์ฌ๊ฒฐ์ ํฌ๋งท์ผ๋ก ์ ๋ฆฌ
flowchart LR A[์ฅ์ ์ ๋ ฅ: issue/users/payment] --> B[manager agent] B --> C[risk_analyst] C --> D[type/severity/eta] B --> E[response_planner] D --> E E --> F[lane/comms/rollback] F --> G[FINAL: ์ด์๊ฒฐ์ 6ํ๋]
์ฌ์ด ๋น์
- ํ ๋ช ์๊ฒ โ์ง๋จ+๋์+๋ณด๊ณ โ๋ฅผ ๋ชจ๋ ๋งก๊ธฐ๋ฉด ์ค์๊ฐ ๋์ด๋๋ค.
- ๋ณ์์ฒ๋ผ ์ง๋จํ๊ณผ ์ฒ์นํ์ ๋๋๊ณ , ๋ง์ง๋ง์ ๋น์ง ์ด๊ด์ด ํ์ ํ๋ฉด ์ด์ ํ์ง์ด ์ฌ๋ผ๊ฐ๋ค.
์ค์ต: 25~35๋ถ ์ฌํ (๋๊ตฌ/์ ๋ ฅ/์คํ๋ช ๋ น/์ฑ๊ณตํ์ )
์ค์ต ํ์ผ ๊ฒฝ๋ก:
/home/tw2/Documents/n8n/data/shared/syn/8.quartz/Agent/๐ค HF-Agents-Course/downloads
Step 1) ํ๊ฒฝ ์ค๋น
- ๋๊ตฌ: Python 3.10+, ํฐ๋ฏธ๋
- ์
๋ ฅ:
requirements.txt - ์คํ๋ช ๋ น:
cd /home/tw2/Documents/n8n/data/shared/syn/8.quartz/Agent/๐ค\ HF-Agents-Course/downloads
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt- ์ฑ๊ณตํ์ : ์ค์น ์๋ฌ ์์ด ์ข
๋ฃ,
(.venv)ํ์
Step 2) ๋๊ตฌ ์ ํ์ฒดํฌ (๋ชจ๋ธ ํธ์ถ ์ )
- ๋๊ตฌ:
day8_multiagent_incident_commander.py - ์ ๋ ฅ: ๋ด์ฅ ๊ท์น ํ ์คํธ(incident type/severity/lane/comms/rollback)
- ์คํ๋ช ๋ น:
python day8_multiagent_incident_commander.py --mode selfcheck- ์ฑ๊ณตํ์ : ์ถ๋ ฅ JSON์
"tools_ok": true
Step 3) ๋จ์ผ ์ฅ์ ์์ฒญ ์คํ
- ๋๊ตฌ:
day8_multiagent_incident_commander.py - ์
๋ ฅ:
- issue:
๊ฒฐ์ ์น์ธ ์คํจ๊ฐ ๊ธ์ฆํ๊ณ ๊ณ ๊ฐ ๋ถ๋ง์ด ์ ์๋ฉ๋๋ค. - users:
3200 - payment:
1
- issue:
- ์คํ๋ช ๋ น:
# .env์ OPENAI_API_KEY ๋๋ HF_TOKEN ํ์
python day8_multiagent_incident_commander.py \
--mode single \
--provider auto \
--issue "๊ฒฐ์ ์น์ธ ์คํจ๊ฐ ๊ธ์ฆํ๊ณ ๊ณ ๊ฐ ๋ถ๋ง์ด ์ ์๋ฉ๋๋ค." \
--users 3200 \
--payment 1- ์ฑ๊ณตํ์ :
parsed.parse_ok = trueparsed.severity = "sev1"์ ๊ทผ์ parsed.lane = "WAR_ROOM"์ ๊ทผ์
Step 4) ๋ฐฐ์น ํ๊ฐ (์ฌํ์ฑ ํ์ธ)
- ๋๊ตฌ:
day8_multiagent_incident_commander.py,sample_tasks_day8.json - ์ ๋ ฅ: ์ฅ์ ์๋๋ฆฌ์ค 3๊ฑด + ๊ธฐ๋๊ฐ
- ์คํ๋ช ๋ น:
python day8_multiagent_incident_commander.py \
--mode eval \
--provider auto \
--input sample_tasks_day8.json- ์ฑ๊ณตํ์ :
"pass": true๋๋"score" >= 0.66
์ค๋ฌด ์ ์ฉ ํฌ์ธํธ
- SRE/์จ์ฝ ์ด์: sev1/sev2/sev3 ๊ธฐ์ค์ ํจ์๋ก ๊ณ ์ ํด ๊ฐ์ธ์ฐจ ์ค์ด๊ธฐ
- ์ปค๋ฎค๋์ผ์ด์
ํ์คํ: status page ๊ณต๊ฐ ๊ธฐ์ค์
choose_comms_channel๋ก ๊ท์นํ - ๋ฆด๋ฆฌ์ฆ/๋กค๋ฐฑ ์์ ์ฅ์น: ๊ฒฐ์ ๊ฒฝ๋ก ์ํฅ(
payment_path)์ ๋กค๋ฐฑ ์ ์ฑ ๊ณผ ์ง์ ์ฐ๊ฒฐ
ํ์ฅํ ๋ฏธ๋ ์ฌ๋ก
์ฌ๋ก A) ์ฅ์ ์ฌ๊ฐ๋ ๋ถ๋ฅ๊ฐ ์ฌ๋๋ง๋ค ๋ฌ๋๋ ํ
assess_severity ๊ท์น์ ์ฝ๋๋ก ๊ณ ์ ํ ๋ค, ์ฅ์ ํ์์์ โ์ sev1์ธ์งโ๋ฅผ ํจ์ ๋ก์ง์ผ๋ก ์ฆ์ ์ค๋ช
ํ ์ ์๊ฒ ๋๋ค.
์ฌ๋ก B) ๊ณต์ง ์ฑ๋์ด ๋ฆ์ด์ง๋ ๋ฌธ์
choose_comms_channel์ ์ฌ์ฉ์ ์ํฅ ์ ๊ธฐ์ค์ ๋ฃ์ด, ๋๊ท๋ชจ ์ฅ์ ์์ status page ๊ณต์ง๊ฐ ์๋์ผ๋ก ์ฐ์ ๋๋๋ก ๋ฐ๊ฟจ๋ค.
์์ฃผ ๋งํ๋ 4๊ฐ์ง
๋ชจ๋ธ ํค๋ฅผ ์ฐพ์ง ๋ชปํ์ต๋๋ค.env์OPENAI_API_KEY๋๋HF_TOKEN์ค์ ํ์
parse_ok = falseFINAL:์ถ๋ ฅ ๊ณ์ฝ์ ํ๋กฌํํธ์์ ์์ ๋ณ๊ฒฝํ๋์ง ํ์ธ
- ๊ฒฝ๋ก ๊ณต๋ฐฑ/์ด๋ชจ์ง ์ค๋ฅ
๐ค HF-Agents-Course๊ฒฝ๋ก๋ฅผ ๋ฐ์ดํ ๋๋\๋ก ์ด์ค์ผ์ดํ
- eval ์ ์ ๋ฎ์
sample_tasks_day8.json์ ์ค์ ํ ์ฅ์ ์ผ์ด์ค๋ฅผ ์ถ๊ฐํด ๊ท์น ๋ณด์
์ ์ฉ ์ฒดํฌ๋ฆฌ์คํธ
-
selfcheck์ฑ๊ณต (tools_ok=true) -
single์์parse_ok=trueํ์ธ -
eval์ ์ ๊ธฐ๋ก (score) - ์ฐ๋ฆฌ ํ ๊ธฐ์ค์ผ๋ก severity/comms/rollback ๊ท์น 1๊ฐ ์ด์ ์์
์ฐธ๊ณ ๋งํฌ (์ฐ์ ์์)
- https://github.com/huggingface/agents-course
- https://huggingface.co/learn/agents-course
- https://huggingface.co/docs/smolagents
์ค์ต ํ์ผ ๋ค์ด๋ก๋
- Day8 ์ค์ต ๊ฐ์ด๋ README
- day8_multiagent_incident_commander.py
- sample_tasks_day8.json
- hf-agents-day8-multiagent-incident-commander.zip
์์ฑํ AI ํ์ฉ ๊ณ ์ง
์ด ๋ฌธ์๋ ์์ฑํ AI๋ฅผ ํ์ฉํด ์ด์ ์์ฑ๊ณผ ๊ตฌ์กฐํ๋ฅผ ์ํํ์ผ๋ฉฐ, ์ต์ข ๋ฐํ ์ ์ฌ๋์ด ์ฌ์ค๊ด๊ณ์ ์ฌํ ์ ์ฐจ๋ฅผ ๊ฒํ ํ๋ค.