# 소규모 퀴즈(비채점) [[quiz1]]

`smolagents`에 대한 이해도를 간단한 퀴즈로 확인해봅시다! 스스로 테스트해보면 학습 내용을 강화하고, 복습이 필요한 부분을 파악하는 데 도움이 됩니다.

이 퀴즈는 선택 사항이며 점수화되지 않습니다.

### Q1: `smolagents`를 다른 프레임워크보다 선택할 때의 주요 장점은 무엇인가요?
다음 중 `smolagents` 접근 방식의 핵심 강점을 가장 잘 설명하는 문장은 무엇인가요?

<Question
choices={[
  {
    text: "전문 개발자만 사용할 수 있도록 고도로 특화된 설정 파일과 높은 학습 곡선을 사용한다",
    explain: "smolagents는 단순함과 최소한의 코드 복잡성을 지향합니다. 학습 곡선이 높지 않습니다.",
  },
  {
    text: "최소한의 추상화로 코드 우선 접근 방식을 지원하며, 에이전트가 파이썬 함수 호출을 통해 직접 상호작용할 수 있다",
    explain: "네, smolagents는 단순하고 코드 중심의 설계를 강조합니다.",
    correct: true
  },
  {
    text: "JSON 기반 액션에 집중하여 에이전트가 코드를 작성할 필요가 없도록 한다",
    explain: "smolagents는 JSON 기반 ToolCallingAgent도 지원하지만, CodeAgent의 코드 기반 접근을 더 강조합니다.",
  },
  {
    text: "단일 LLM 제공자와 특수 하드웨어에만 깊이 통합된다",
    explain: "smolagents는 다양한 모델 제공자를 지원하며, 특수 하드웨어가 필요하지 않습니다.",
  }
]}
/>

---

### Q2: 어떤 상황에서 smolagents를 사용하는 것이 가장 적합할까요?
다음 중 smolagents의 특성과 가장 잘 맞는 상황은 무엇인가요?

<Question
choices={[
  {
    text: "에이전트 로직을 빠르게 프로토타이핑하거나 실험하고 싶고, 애플리케이션이 비교적 단순한 경우",
    explain: "네. smolagents는 간단하고 민첩한 에이전트 생성을 위해 설계되었습니다.",
    correct: true
  },
  {
    text: "수십 개의 마이크로서비스와 실시간 데이터 파이프라인이 필요한 대규모 엔터프라이즈 시스템 구축",
    explain: "가능은 하지만, smolagents는 대규모 인프라보다는 경량 코드 중심 실험에 더 적합합니다.",
  },
  {
    text: "클라우드 기반 LLM만 지원하고 로컬 추론을 금지하는 프레임워크가 필요한 경우",
    explain: "smolagents는 로컬/호스팅 모델 모두 유연하게 통합할 수 있습니다.",
  },
  {
    text: "고급 오케스트레이션, 멀티모달 인식, 엔터프라이즈급 기능이 기본 제공되는 시나리오",
    explain: "고급 기능도 통합할 수 있지만, smolagents 자체는 경량·최소주의가 핵심입니다.",
  }
]}
/>

---

### Q3: smolagents의 모델 통합 유연성에 대해 올바르게 설명한 것은?
smolagents가 LLM과 상호작용하는 방식을 가장 잘 설명하는 문장을 고르세요.

<Question
choices={[
  {
    text: "내장 모델 하나만 제공하며, 커스텀 통합은 불가능하다",
    explain: "smolagents는 다양한 백엔드와 사용자 정의 모델을 지원합니다.",
  },
  {
    text: "LLM을 쓸 때마다 직접 모델 커넥터를 구현해야 한다",
    explain: "여러 사전 구축된 커넥터가 있어 LLM 통합이 쉽습니다.",
  },
  {
    text: "오픈소스 LLM만 통합할 수 있고, 상용 API는 지원하지 않는다",
    explain: "smolagents는 오픈소스와 상용 모델 API 모두 통합할 수 있습니다.",
  },
  {
    text: "다양한 LLM과 사용할 수 있으며, TransformersModel, InferenceClientModel, LiteLLMModel 등 미리 정의된 클래스를 제공한다",
    explain: "정답입니다. smolagents는 다양한 클래스 기반의 유연한 모델 통합을 지원합니다.",
    correct: true
  }
]}
/>

---

### Q4: smolagents는 코드 기반 액션과 JSON 기반 액션에 대해 어떻게 접근하나요?
다음 중 smolagents의 액션 포맷 철학을 올바르게 설명한 문장은?

<Question
choices={[
  {
    text: "모든 에이전트 작업에 JSON 기반 액션만 허용하며, 도구 호출을 추출하려면 파서가 필요하다",
    explain: "ToolCallingAgent는 JSON 기반이지만, smolagents는 코드 기반 CodeAgent도 제공합니다.",
  },
  {
    text: "CodeAgent를 통한 코드 기반 액션을 중심으로 하되, ToolCallingAgent로 JSON 기반 도구 호출도 지원한다",
    explain: "정답입니다. smolagents는 코드 기반을 권장하지만, JSON 기반 대안도 제공합니다.",
    correct: true
  },
  {
    text: "외부 함수 호출을 모두 금지하고, 모든 로직이 LLM 내부에만 존재해야 한다",
    explain: "smolagents는 LLM이 외부 도구나 코드를 호출할 수 있도록 설계되었습니다.",
  },
  {
    text: "모든 코드 조각을 수동으로 JSON 객체로 변환해야 에이전트가 실행된다",
    explain: "CodeAgent는 코드 조각을 자동으로 관리하므로 수동 변환이 필요 없습니다.",
  }
]}
/>

---

### Q5: smolagents가 Hugging Face Hub와 통합되어 얻을 수 있는 이점은?
Hub 통합의 핵심 장점을 올바르게 설명한 문장은?

<Question
choices={[
  {
    text: "모든 공개 모델을 상용 라이선스 등급으로 자동 업그레이드한다",
    explain: "Hub 통합은 모델이나 도구의 라이선스 등급을 변경하지 않습니다.",
  },
  {
    text: "로컬 추론을 완전히 비활성화하고, 원격 모델만 사용하도록 강제한다",
    explain: "로컬 추론도 계속 사용할 수 있습니다. Hub에 올린다고 해서 로컬 사용이 막히지 않습니다.",
  },
  {
    text: "에이전트나 도구를 업로드·공유해 다른 개발자가 쉽게 발견·재사용할 수 있다",
    explain: "정답입니다. smolagents는 에이전트와 도구를 HF Hub에 업로드해 재사용할 수 있습니다.",
    correct: true
  },
  {
    text: "모든 코드 기반 에이전트를 영구 저장해, 업데이트나 버전 관리가 불가능하다",
    explain: "Hub 저장소는 업데이트와 버전 관리가 가능하므로 언제든 수정할 수 있습니다.",
  }
]}
/>

---

퀴즈를 모두 마쳤습니다! 🎉 틀린 문제가 있다면 *왜 smolagents를 사용할까* 섹션을 복습해보세요. 잘 풀었다면, 이제 smolagents의 더 고급 주제로 넘어갈 준비가 되었습니다!
