68일차 교안·실습(복합 업무 시나리오 · Multi-Agent 라우터) 추가, 결석 수강생용 최소 준비 문서 포함

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mcchaeandClaude Opus 5.5 committed 2026-10-19 22:05:32 +09:00
1 parent a57360d4d9
commit 587ca5c2b3
42 files changed
+5481

No files matched your search

+57
View File
@@ -0,0 +1,57 @@
{
"webhook": "my-split",
"cases": [
{
"name": "복합 요청 · 담당 Agent",
"request": "requests/composite.json",
"expect": {
"equals": {
"count": 3,
"tasks.0.agent": "it-agent"
},
"contains": {
"tasks": [
"\"agent\": \"meeting-agent\""
]
},
"not_contains": {
"tasks": [
"\"notes\""
]
}
}
},
{
"name": "회의록 없는 회의 요청",
"request": "requests/meeting-no-notes.json",
"expect": {
"equals": {
"tasks.0.agent": "meeting-agent",
"tasks.0.missing": [
"notes"
]
}
}
},
{
"name": "기타는 담당자 연결",
"request": "requests/other-only.json",
"expect": {
"equals": {
"tasks.0.agent": "담당자 연결",
"tasks.0.missing": []
}
}
},
{
"name": "IT · 입력 다 있음",
"request": "requests/it-only.json",
"expect": {
"equals": {
"tasks.0.agent": "it-agent",
"tasks.0.missing": []
}
}
}
]
}
+81
View File
@@ -0,0 +1,81 @@
{
"webhook": "my-split",
"cases": [
{
"name": "복합 요청 · 업무 3개",
"request": "requests/composite.json",
"expect": {
"equals": {
"count": 3
},
"contains": {
"tasks": [
"\"type\": \"meeting\""
],
"tasks.0.text": [
"T-1002"
]
}
}
},
{
"name": "IT 하나",
"request": "requests/it-only.json",
"expect": {
"equals": {
"count": 1,
"tasks.0.type": "it"
}
}
},
{
"name": "IT 둘",
"request": "requests/two-it.json",
"expect": {
"equals": {
"count": 2,
"tasks.0.type": "it",
"tasks.1.type": "it"
}
}
},
{
"name": "회의록 정리",
"request": "requests/meeting-only.json",
"expect": {
"equals": {
"count": 1,
"tasks.0.type": "meeting"
}
}
},
{
"name": "IT와 기타",
"request": "requests/it-and-other.json",
"expect": {
"equals": {
"count": 2,
"tasks.0.type": "it",
"tasks.1.type": "other"
}
}
},
{
"name": "기타만",
"request": "requests/other-only.json",
"expect": {
"equals": {
"count": 1,
"tasks.0.type": "other"
}
}
},
{
"name": "빈 요청",
"request": "requests/empty-message.json",
"expect": {
"status": 400
}
}
]
}
+73
View File
@@ -0,0 +1,73 @@
{
"webhook": "my-supervisor",
"cases": [
{
"name": "복합 요청",
"request": "requests/composite.json",
"expect": {
"contains": {
"agents_used": [
"meeting-agent"
],
"reply": [
"처리 중"
]
}
}
},
{
"name": "IT 하나",
"request": "requests/it-only.json",
"expect": {
"equals": {
"agents_used": [
"it-agent"
]
},
"contains": {
"reply": [
"인증서",
"VPN 클라이언트"
]
}
}
},
{
"name": "회의록 정리",
"request": "requests/meeting-only.json",
"expect": {
"equals": {
"agents_used": [
"meeting-agent"
]
},
"contains": {
"reply": [
"이준호"
]
}
}
},
{
"name": "기타만 · Agent 안 부름",
"request": "requests/other-only.json",
"expect": {
"equals": {
"agents_used": []
},
"contains": {
"reply": [
"담당자"
]
}
}
},
{
"name": "빈 요청",
"request": "requests/empty-message.json",
"expect": {
"status": 400
}
}
]
}
+93
View File
@@ -0,0 +1,93 @@
{
"webhook": "my-assistant",
"cases": [
{
"name": "복합 요청 · 3개 모두 답",
"request": "requests/composite.json",
"expect": {
"equals": {
"count": 3,
"results.0.route": "자동 답변",
"results.1.agent": "meeting-agent"
},
"contains": {
"results.0.answer": [
"처리 중"
],
"results.1.answer": [
"이준호"
],
"results.2.answer": [
"대기열",
"전원"
]
}
}
},
{
"name": "IT 하나",
"request": "requests/it-only.json",
"expect": {
"equals": {
"count": 1,
"results.0.agent": "it-agent"
},
"contains": {
"reply": [
"인증서",
"VPN 클라이언트"
]
}
}
},
{
"name": "회의록 정리",
"request": "requests/meeting-only.json",
"expect": {
"equals": {
"count": 1,
"results.0.agent": "meeting-agent"
},
"contains": {
"results.0.actions": [
"이준호"
]
}
}
},
{
"name": "IT와 기타",
"request": "requests/it-and-other.json",
"expect": {
"equals": {
"count": 2,
"results.1.route": "담당자 연결"
},
"contains": {
"results.0.answer": [
"대기열",
"전원"
]
}
}
},
{
"name": "기타만 · Agent 안 부름",
"request": "requests/other-only.json",
"expect": {
"equals": {
"count": 1,
"results.0.route": "담당자 연결",
"results.0.agent": "담당자 연결"
}
}
},
{
"name": "빈 요청",
"request": "requests/empty-message.json",
"expect": {
"status": 400
}
}
]
}
+45
View File
@@ -0,0 +1,45 @@
{
"webhook": "my-assistant",
"cases": [
{
"name": "회의록 Agent 꺼짐 · 복합 요청",
"request": "requests/composite.json",
"expect": {
"status": 200,
"equals": {
"count": 3,
"results.0.route": "자동 답변",
"results.1.route": "담당자 연결"
},
"contains": {
"results.0.answer": [
"처리 중"
],
"results.1.answer": [
"응답하지 않아"
]
}
}
},
{
"name": "회의록 Agent 꺼짐 · 회의록만",
"request": "requests/meeting-only.json",
"expect": {
"status": 200,
"equals": {
"results.0.route": "담당자 연결"
}
}
},
{
"name": "회의록 Agent 꺼짐 · IT는 그대로",
"request": "requests/it-only.json",
"expect": {
"status": 200,
"equals": {
"results.0.route": "자동 답변"
}
}
}
]
}
+72
View File
@@ -0,0 +1,72 @@
{
"webhook": "my-assistant",
"cases": [
{
"name": "회의록 없는 회의 요청",
"request": "requests/meeting-no-notes.json",
"expect": {
"status": 200,
"equals": {
"count": 1,
"results.0.route": "입력 필요"
},
"contains": {
"reply": [
"회의록"
]
}
}
},
{
"name": "IT 둘 · 둘 다 답",
"request": "requests/two-it.json",
"expect": {
"equals": {
"count": 2,
"results.0.route": "자동 답변",
"results.1.route": "자동 답변"
},
"contains": {
"results.0.answer": [
"비밀번호 찾기",
"휴대폰"
],
"results.1.answer": [
"보관함",
"삭제"
]
}
}
},
{
"name": "복합 요청 · 오류 없음",
"request": "requests/composite.json",
"expect": {
"equals": {
"count": 3
},
"not_contains": {
"results": [
"\"오류\""
]
}
}
},
{
"name": "기타만",
"request": "requests/other-only.json",
"expect": {
"equals": {
"results.0.route": "담당자 연결"
}
}
},
{
"name": "빈 요청",
"request": "requests/empty-message.json",
"expect": {
"status": 400
}
}
]
}