์ด๋ฒ ํธ์ โํ ๋ฒ์ ๋ต์ ๋ด๋ ์์ด์ ํธโ๋ฅผ โ๊ณํโ์คํโ๊ฒ์ฆโ ๋ฃจํ๋ก ๋ฐ๊ฟ์ ํ์ง์ ์์ ํํ๋ ์ค์ ํจํด์ ๋ค๋ฃฌ๋ค.
- ์ด์ ํธ: ๐ค 08. ๋ณธํธ 03
ํ ์ค ๊ฒฐ๋ก
์์ด์ ํธ๊ฐ ๋ฐ๋ก ๋ต๋ถํฐ ๋ด๊ฒ ๋์ง ๋ง๊ณ , (1) ๊ณํ ์์ฑ (2) ์คํ (3) ์ฒดํฌ๋ฆฌ์คํธ ๊ฒ์ฆ ๋จ๊ณ๋ฅผ ๋ถ๋ฆฌํ๋ฉด ์ด๋ณด์๋ ์ฌํ ๊ฐ๋ฅํ ๊ฒฐ๊ณผ ํ์ง์ ๋ง๋ค ์ ์๋ค.
์ ์ค์ํ๊ฐ (์ด๋ณด์ ๊ด์ )
์ค๋ฌด์์ ์์ด์ ํธ ์คํจ๋ ๋ณดํต ์ด 3๊ฐ์ง๋ค.
- ํต์ฌ ์๊ตฌ๋ฅผ ๋นผ๋จน์
- ๋ฏผ๊ฐ์ ๋ณด๋ฅผ ๊ทธ๋๋ก ๋ ธ์ถ
- ๊ณ ์ํ ์์ฒญ์ธ๋ฐ ์น์ธ ์์ด ์งํ
smolagents ๋ฌธ์/์ฝ์ค์์ ๊ฐ์กฐํ๋ ๋ฐฉํฅ์ฒ๋ผ, ์ค๊ฐ ์ฌ๊ณ ๋จ๊ณ(๊ณํ/ํด ์ฌ์ฉ/๊ฒ์ฆ)๋ฅผ ๊ตฌ์กฐํํ๋ฉด ์ด๋ฐ ์คํจ๋ฅผ ํฌ๊ฒ ์ค์ผ ์ ์๋ค.
flowchart LR A[์ฌ์ฉ์ ์์ฒญ] --> B[Plan: ๋จ๊ณ ๊ณํ] B --> C[Execute: ์ด์ ์์ฑ] C --> D[Validate: ์ฒดํฌ๋ฆฌ์คํธ ๊ฒ์ฆ] D --> E{ํต๊ณผ?} E -- Yes --> F[์ต์ข ๊ฒฐ๊ณผ PASS] E -- No --> G[REVIEW/์์ ์์ฒญ]
์ค์ต: 20~30๋ถ ์ฌํ (๋๊ตฌ/์ ๋ ฅ/์คํ๋ช ๋ น/์ฑ๊ณตํ์ )
์ค์ต ํ์ผ ๊ฒฝ๋ก:
/home/tw2/Documents/n8n/data/shared/syn/8.quartz/Agent/๐ค HF-Agents-Course/downloads
Step 1) ๋๊ตฌ ์ค๋น
- ๋๊ตฌ:
day9_plan_execute_validate.py - ์ ๋ ฅ: ์์
- ์คํ๋ช ๋ น:
cd /home/tw2/Documents/n8n/data/shared/syn/8.quartz/Agent/๐ค\ HF-Agents-Course/downloads
python3 day9_plan_execute_validate.py --mode selfcheck- ์ฑ๊ณตํ์ :
- ์ถ๋ ฅ JSON์
"selfcheck_ok": true result.final.status๊ฐPASS
- ์ถ๋ ฅ JSON์
Step 2) ๋จ์ผ ์์ฒญ ์คํ (๊ณ ์ํ + ๊ฐ์ธ์ ๋ณด)
- ๋๊ตฌ:
day9_plan_execute_validate.py - ์
๋ ฅ:
- request:
๊ณ ๊ฐ ๋ถ๋ง VOC ์์ฝ ๋ณด๊ณ ์ ์์ฑ - risk:
high - pii:
1 - deadline:
2
- request:
- ์คํ๋ช ๋ น:
python3 day9_plan_execute_validate.py \
--mode single \
--request "๊ณ ๊ฐ ๋ถ๋ง VOC ์์ฝ ๋ณด๊ณ ์ ์์ฑ" \
--risk high \
--pii 1 \
--deadline 2- ์ฑ๊ณตํ์ :
plan์๋ฏผ๊ฐ์ ๋ณด ๋ง์คํนํฌํจdraft์[REDACTED]ํฌํจvalidation.ok = true
Step 3) ๋ฐฐ์น ํ๊ฐ๋ก ์ฌํ์ฑ ํ์ธ
- ๋๊ตฌ:
sample_tasks_day9.json - ์ ๋ ฅ: ์ํ 3๊ฑด
- ์คํ๋ช ๋ น:
python3 day9_plan_execute_validate.py --mode eval --input sample_tasks_day9.json- ์ฑ๊ณตํ์ :
pass = true๋๋score >= 0.66
์ฝ๋์์ ๊ผญ ๋ณผ ํฌ์ธํธ
- Plan ๋ถ๋ฆฌ (
make_plan): ์ํ๋/PII/๊ธฐํ์ ๋ฐ๋ผ ๋จ๊ณ๊ฐ ๋์ ์ผ๋ก ๋ฐ๋ - ๊ฒ์ฆ ๊ฐ์ (
validate_output): ์์ฝ/์ฒดํฌ๋ฆฌ์คํธ/๋ง์คํน/์น์ธ ๋ฌธ๊ตฌ๋ฅผ ์๋ ๊ฒ์ฌ - ์ต์ข
๊ฒ์ดํธ (
status): ํต๊ณผ๋ฉดPASS, ์๋๋ฉดREVIEW
์ค๋ฌด ์ ์ฉ ํฌ์ธํธ
- ์ฝํ ์ธ ํ: ๋ฐํ ์ ๊ฒ์ฆ ๋จ๊ณ๋ก ์ฌ์ค/ํํ/๋ฏผ๊ฐ์ ๋ณด ๋๋ฝ ๋ฐฉ์ง
- ์ด์ํ: ๊ณ ์ํ ์์ ์ ์๋์ผ๋ก โ๊ฒํ ์ ์น์ธ ํ์โ ๋ฌธ๊ตฌ ๊ฐ์
- ์๋ํ ํ์ดํ๋ผ์ธ(n8n): ์์ด์ ํธ ์ถ๋ ฅ ๋ค์ Validate ๋ ธ๋๋ฅผ ๋ฌ์ ํ์ง ๊ฒ์ดํธ ์ ์ฉ
์์ฃผ ๋งํ๋ ์ง์ 3๊ฐ์ง
- ํ์ผ ๊ฒฝ๋ก ์ค๋ฅ
- ์ด๋ชจ์ง ๊ฒฝ๋ก๋ผ์ ์คํจํ๋ฉด ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ๋ฐ์ดํ๋ก ๊ฐ์ธ๊ธฐ
score๊ฐ ๋ฎ๊ฒ ๋์ดsample_tasks_day9.json์ ๊ธฐ๋๊ฐ(expect)๊ณผ ์ค์ ๊ท์น์ด ๋ง๋์ง ํ์ธ
- ์ค๋ฌด ๊ท์น ๋ฐ์์ด ์ด๋ ค์
validate_output์ ์ฒดํฌ ํญ๋ชฉ์ ํ ์ ์ฑ ์ ๋ง๊ฒ 1๊ฐ์ฉ ์ถ๊ฐ
์ฒดํฌ๋ฆฌ์คํธ
- selfcheck ํต๊ณผ (
selfcheck_ok=true) - single ๋ชจ๋์์
validation.ok=true - eval ์ ์ ๊ธฐ๋ก (
score) - ์ฐ๋ฆฌ ํ ๊ท์น 1๊ฐ ์ด์ validation์ ๋ฐ์
์ฐธ๊ณ ๋งํฌ (์ฐ์ ์์)
- https://github.com/huggingface/agents-course
- https://huggingface.co/learn/agents-course
- https://huggingface.co/docs/smolagents
์ค์ต ํ์ผ
์์ฑํ AI ํ์ฉ ๊ณ ์ง
์ด ๋ฌธ์๋ ์์ฑํ AI๋ฅผ ํ์ฉํด ์ด์ ์์ฑ๊ณผ ๊ตฌ์กฐํ๋ฅผ ์ํํ์ผ๋ฉฐ, ์ต์ข ๋ฐํ ์ ์ฌ๋์ด ์ฌ์ค๊ด๊ณ์ ์ฌํ ์ ์ฐจ๋ฅผ ๊ฒํ ํ๋ค.