SmolAgents ์๊ฐ
Hugging Face๋ AI ์ธ์ด ๋ชจ๋ธ(LLM)์ ๊ธฐ๋ฐ์ผ๋ก ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ํํ๊ณ ์์ด์ ํธ๋ฅผ ๊ตฌ์ถํ ์ ์๋ ๊ฒฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Smolagents๋ฅผ ๊ณต๊ฐํ์ต๋๋ค. ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ LLM์ด ์ธ๋ถ ๋๊ตฌ์ ์ํธ์์ฉํ๋ฉฐ ์์ ์ ์ฒ๋ฆฌํ๋ ๋ฅ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. Smolagents๋ ๋จ์์ฑ๊ณผ ํจ์จ์ฑ์ ์ค์ ์ ๋๊ณ ์ค๊ณ๋์ด Python ์ฝ๋ ๊ธฐ๋ฐ์ ์ก์ ์ ์์ฑํ๋ ์์ด์ ํธ๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค:
from smolagents import CodeAgent, DuckDuckGoSearchTool, HfApiModel
agent = CodeAgent(tools=[DuckDuckGoSearchTool()], model=HfApiModel())
agent.run("ํ๋ฒ์ด ์ ์๋ ฅ์ผ๋ก ํ๋ฐ์๋ฅด(Pont des Arts) ๊ฑฐ๋ฆฌ๋ฅผ ๋ฌ๋ฆฌ๋๋ฐ ๋ช ์ด๋ ๊ฑธ๋ฆด๊น์?")
Agent๋ ๋ฌด์์ธ๊ฐ์?
AI Agent๋ LLM์ ์ถ๋ ฅ์ผ๋ก ์ํฌํ๋ก์ฐ๋ฅผ ์ ์ดํ๋ ํ๋ก๊ทธ๋จ์ ๋๋ค.
AI Agents are programs where LLM outputs control the workflow .
์ด๋ฌํ AI Agent์ ์ ์์์ '์์ด์ ํธ'๋ (0 ๋๋ 1๊ณผ ๊ฐ์) ๋ถ์ฐ์์ ์ธ ์ ์๊ฐ ์๋๋ผ, ์ํฌํ๋ก์ฐ์์ LLM์ ๋ ๋ง๊ฑฐ๋ ์ ์ ๊ถํ์ ๋ถ์ฌํจ์ ๋ฐ๋ผ ์ฐ์์ ์ธ ์คํํธ๋ผ์ผ๋ก ์งํํ ์ ์์ต๋๋ค. ์๋ ํ์ ๊ฐ์ด ์์คํ ์ ๋ฐ๋ผ ์์ด์ ์๊ฐ ์ด๋ป๊ฒ ๋ฌ๋ผ์ง๋์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค:
์์ด์ ์ ์์ค(Agency Level) | ์ค๋ช | ํธ์ถ ๋ฐฉ์ | ์์ ํจํด(Example Pattern) |
---|---|---|---|
โโโ | LLM ์ถ๋ ฅ์ ํ๋ก๊ทธ๋จ ํ๋ฆ์ ์ํฅ์ ๋ฏธ์น์ง ์์ | ๋จ์ ํ๋ก์ธ์(Simple Processor) | process_llm_output(llm_response) |
โ โโ | LLM ์ถ๋ ฅ์ผ๋ก ๊ธฐ๋ณธ ์ ์ด ํ๋ฆ์ ๊ฒฐ์ | ๋ผ์ฐํฐ(Router) | if llm_decision(): path_a() else: path_b() |
โ โ โ | LLM ์ถ๋ ฅ์ผ๋ก ํจ์ ์คํ์ ๊ฒฐ์ | ๋๊ตฌ ํธ์ถ(Tool Call) | run_function(llm_chosen_tool, llm_chosen_args) |
โ โ โ | LLM ์ถ๋ ฅ์ผ๋ก ๋ฐ๋ณต๊ณผ ํ๋ก๊ทธ๋จ ์ฐ์์ฑ ์ ์ด | ๋ค๋จ๊ณ ์์ด์ ํธ(Multi-step Agent) | while llm_should_continue(): execute_next_step() |
โ โ โ | ํ๋์ ์์ด์ ํธ ์ํฌํ๋ก๊ฐ ๋ค๋ฅธ ์์ด์ ํธ ์ํฌํ๋ก๋ฅผ ์์ํ ์ ์์ | ๋ฉํฐ ์์ด์ ํธ(Multi-Agent) | if llm_trigger(): execute_agent() |
๋ค๋จ๊ณ ์์ด์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ต๋๋ค:
memory = [user_defined_task] # ์ฌ์ฉ์๊ฐ ์ฌ์ ์ ์ ์ํ ์์
while llm_should_continue(memory): # ๋ค๋จ๊ณ(Multi-Step) ๋ฐ๋ณต ๋ถ๋ถ
action = llm_get_next_action(memory) # ๋๊ตฌ ํธ์ถ ๋ถ๋ถ
observations = execute_action(action)
memory += [action, observations]
์ด๋ฌํ ์์คํ
์ ์ฃผ์ด์ง ์์
์ ๋ง์กฑ์ค๋ฝ๊ฒ ํด๊ฒฐํ๋ค๊ณ ํ๋จํ ๋๊น์ง ๊ฐ ๋จ๊ณ๋ง๋ค ์๋ก์ด ์์
์ ์คํํ๋ ๋ฃจํ๋ฅผ ๋ฐ๋ณตํฉ๋๋ค. ๋ค์์ ๋ค๋จ๊ณ ์์ด์ ํธ๊ฐ ๊ฐ๋จํ ์ํ ๋ฌธ์ ๋ฅผ ํธ๋ ์์์
๋๋ค:
Agent๋ ์ธ์ ์ฌ์ฉํ๊ณ ์ธ์ ์ฌ์ฉํ์ง ์์์ผ ํ ๊น์?
์์ด์ ํธ๋ฅผ ์ฌ์ฉํ๋ ์ํฉ
์์ด์ ํธ๋ AI ์ธ์ด ๋ชจ๋ธ(LLM)์ด ์ฑ์ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฒฐ์ ํด์ผ ํ๋ ์ํฉ์์ ์ ์ฉํฉ๋๋ค. ํนํ, ์ฌ์ ์ ์ํฌํ๋ก์ฐ๋ฅผ ๋ช ํํ ์ ์ํ๊ธฐ ์ด๋ ค์ด ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ ํ์์ ์ ๋๋ค.
์์: ๋ณต์กํ ์ฌ์ฉ์ ์์ฒญ
- ์ฌ์ฉ์๊ฐ ๋ณต์กํ ์กฐ๊ฑด์ ์ ์ํ๋ฉฐ ํน์ ํ ์๊ตฌ๋ฅผ ํ ๊ฒฝ์ฐ:
- ์์ฒญ:
"์์์ผ์ ์ฌ ์ ์์ง๋ง, ์ฌ๊ถ์ ์์ด ์์์ผ๋ก ์ง์ฐ๋ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ํ์์ผ ์์นจ์ ๋์ ์ง์ ํจ๊ป ์ํ ์ฅ์๋ก ์ด๋์ํค๊ณ ์ถ์ต๋๋ค. ์ทจ์ ๋ณดํ์ ์ถ๊ฐํ ์ ์์๊น์?"
- ํน์ง: ์ด๋ฌํ ์์ฒญ์ ์ฌ๋ฌ ๋ณ์(๋ ์จ, ๊ฑฐ๋ฆฌ, ์ง์ ๊ฐ์ฉ์ฑ ๋ฑ)์ ์์กดํ๋ฉฐ, ๋ฏธ๋ฆฌ ์ ์๋ ๊ธฐ์ค๋ง์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- ์์ฒญ:
์ด๋ฐ ๊ฒฝ์ฐ, ์์ด์ ํธ ๊ธฐ๋ฐ ์ค๊ณ๊ฐ ํ์ํฉ๋๋ค. ์์ด์ ํธ๋ ๋ค์๊ณผ ๊ฐ์ ๋๊ตฌ์ ์ํธ์์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค:
- ๋ ์จ API: ๋ ์จ ์ ๋ณด๋ฅผ ํ์ธ
- Google Maps API: ์ด๋ ๊ฑฐ๋ฆฌ ๊ณ์ฐ
- ์ง์ ๋์๋ณด๋: ์ง์ ๊ฐ์ฉ์ฑ ์กฐํ
- RAG ์์คํ : ์ง์ ๊ธฐ๋ฐ ๊ฒ์
์์ด์ ํธ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ํฉ
๊ฐ๋จํ๊ณ ๊ณ ์ ๋ ์ํฌํ๋ก์ฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ, ์์ด์ ํธ๋ ๋ถํ์ํ๋ฉฐ ์คํ๋ ค ๋นํจ์จ์ ์ผ ์ ์์ต๋๋ค.
์์: ์ํ ์ฌํ ์น์ฌ์ดํธ์ ๊ธฐ๋ณธ ์์ฒญ
- ์์ฒญ์ด ๋ช
ํํ๊ฒ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋๋ ๊ฒฝ์ฐ:
- ์ฌํ ์ ๋ณด ์์ฒญ: ์ฌ์ฉ์๊ฐ ๊ฒ์์ฐฝ์์ ์ ๋ณด๋ฅผ ํ์.
- ์์ ํ ์๋ด ์์ฒญ: ์ฌ์ฉ์๊ฐ ์ฐ๋ฝ ์์์ ์์ฑ.
์ด์ ๊ฐ์ ๊ฒฐ์ ๋ก ์ ์ํฌํ๋ก์ฐ๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋๋ค:
- ์์ธก ๊ฐ๋ฅ์ฑ: ์์ฒญ์ ๋ฒ์ฃผ๊ฐ ์ฌ์ ์ ์ ์ ๊ฐ๋ฅ.
- ์ ๋ขฐ์ฑ: ์์ด์ ํธ๋ฅผ ๋์ ํ์ง ์์๋ 100% ์ ๋ขฐ ๊ฐ๋ฅํ ๊ฒฐ๊ณผ ์ ๊ณต.
- ๋จ์์ฑ: LLM์ ์์ธก ์ค๋ฅ๋ก ์ธํ ์ํ ์ ๊ฑฐ.
๊ฒฐ๋ก ์ ์ผ๋ก, ๋จ์ํ๊ณ ๋ช ํํ ์ํฌํ๋ก์ฐ์์๋ ์์ด์ ํธ๋ฅผ ๋ฐฐ์ ํ๊ณ ์ ํต์ ์ธ ์ฝ๋ฉ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ ๋๋ค.
์ฝ๋ ์์ด์ ํธ(Code Agents)
๋ค๋จ๊ณ ์์ด์ ํธ(Multi-Step Agents)์์ ๊ฐ ๋จ๊ณ๋ง๋ค LLM์ ์ธ๋ถ ๋๊ตฌ์ ๋ํ ํธ์ถ์ ํํ๋ก ์ก์ (Action)์ ์์ฑํ ์ ์์ต๋๋ค. OpenAI๋ Anthropic ๋ฑ์์๋ ์ด๋ฌํ ์ก์ ์ '์ฌ์ฉํ ๋๊ตฌ(ํจ์) ์ด๋ฆ๊ณผ ์ธ์๋ฅผ JSON ํํ'๋ก ์์ฑํ๊ณ , ์ด๋ฅผ ํ์ฑํ์ฌ ์ด๋ ํ ๋๊ตฌ๋ฅผ ์ด๋ ํ ์ธ์๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ ์ง ํ์ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ค์์ ์ฐ๊ตฌ ๊ฒฐ๊ณผ๋ค([1][2][3])์ ๋ฐ๋ฅด๋ฉด, JSON ๋์ ์ฝ๋๋ก ๋๊ตฌ ํธ์ถ์ ์์ฑํ๋ ๋ฐฉ์์ด ํจ์ฌ ๋ ํจ์จ์ ์ด๊ณ ์ ์ฐํ๋ค๋ ์ ์ด ์ ์ฆ๋์์ต๋๋ค. ์ด๋ ์ฐ๋ฆฌ๊ฐ ์ปดํจํฐ๊ฐ ์์ ์ ์ํํ๊ธฐ ์ํ ๋ฐฉ์์ผ๋ก JSON ์กฐ๊ฐ(Snippet) ๋์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ค์์ "Executable Code Actions Elicit Better LLM Agents" ์ฐ๊ตฌ์์ ์ฝ๋๋ก ์ก์ ์ ์์ฑํ ๋์ ๋ช ๊ฐ์ง ์ด์ ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค:
ํนํ, ๊ตฌ์ฑ ๊ฐ๋ฅ์ฑ(Composability), ๊ฐ์ฒด ๊ด๋ฆฌ(Object Management), ์ผ๋ฐ์ฑ(Generality) ๋ฐ LLM ํ์ต ๋ฐ์ดํฐ์ ํํ(Representation in LLM training data)์์ JSON๋ณด๋ค ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑํ ์ฝ๋๋ก ์ก์ ์ ์์ฑํ๋ ๊ฒ์ด ๋ ๋ซ์ต๋๋ค.
SmolAgnets ์๊ฐ: ๋ ๊ฐ๋จํ๊ณ ๊ฐ๋ ฅํ ์์ด์ ํธ ๊ตฌ์ถ์ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
SmolAgents๋ transformers.agents์ ํ์ ๋ฒ์ ์ผ๋ก, ํฅํ transformers.agents๊ฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๊ฒ ๋๋ฉด ์ด๋ฅผ ๋์ฒดํ ์์ ์ ๋๋ค.
SmolAgents๋ฅผ ๋ง๋ค ๋ ๋ค์๊ณผ ๊ฐ์ ๋ชฉํ๋ค์ ๊ณ ๋ คํ์์ต๋๋ค:
- ๋จ์์ฑ(Simplicity)
- ์์ด์ ํธ ๋ก์ง์ ์ฝ 1000์ค์ ์ฝ๋๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ๋ถํ์ํ ์ถ์ํ๋ฅผ ์ ๊ฑฐํ๊ณ ์์ ์ฝ๋ ์์ ์ต์ํ์ ๊ตฌ์กฐ๋ง ์ถ๊ฐํ์ต๋๋ค.
- ์ฝ๋ ์์ด์ ํธ ์ง์(First-class support for Code Agents)
- ์์ด์ ํธ๊ฐ Python ์ฝ๋๋ก ๋์์ ์์ฑํฉ๋๋ค.
- ๋ณด์์ ์ํด E2B๋ฅผ ํตํ ์๋๋ฐ์ค ํ๊ฒฝ์ ์ง์ํฉ๋๋ค.
- JSON ๊ธฐ๋ฐ ํ
์คํธ ์ก์
์ ์์ฑํ๋
ToolCallingAgent
๋ ์ง์ํฉ๋๋ค.
- ํ๋ธ ํตํฉ(Hub integrations)
- ๋๊ตฌ๋ฅผ Hugging Face Hub์ ๊ณต์ ํ๊ฑฐ๋ Hub์์ ๋ก๋ํ ์ ์์ต๋๋ค.
- ๋ค์ํ LLM ์ง์(Support for any LLM)
- Hugging Face์
transformers
๋ชจ๋ธ๊ณผ API๋ฅผ ์ง์ํฉ๋๋ค. - OpenAI, Anthropic ๋ฑ ๋ค์ํ ํด๋ผ์ฐ๋ LLM์ LiteLLM์ ํตํด ํตํฉ ์ง์ํฉ๋๋ค.
- Hugging Face์
์์ด์ ํธ ๊ตฌ์ถ ๋ฐฉ๋ฒ
SmolAgents๋ฅผ ์ฌ์ฉํ์ฌ ์์ด์ ํธ๋ฅผ ๊ตฌ์ถํ๋ ค๋ฉด ๋ค์ ๋ ๊ฐ์ง ์์๊ฐ ํ์ํฉ๋๋ค:
- Tools (๋๊ตฌ)
์์ด์ ํธ๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ ๋๊ตฌ์ ๋ชฉ๋ก์ ๋๋ค.
๋๊ตฌ๋ Python ํจ์๋ก ์์ฑ๋๋ฉฐ, ํจ์์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ํ์ ํํธ๋ฅผ ์ถ๊ฐํฉ๋๋ค.@tool
๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ตฌ๋ก ๋ฑ๋กํ ์ ์์ต๋๋ค. - Model (๋ชจ๋ธ)
์์ด์ ํธ์ ์์ง ์ญํ ์ ํ๋ ์ธ์ด ๋ชจ๋ธ(LLM)์ ๋๋ค.- Hugging Face API๋ฅผ ์ฌ์ฉํ๋
HfApiModel
- 100๊ฐ ์ด์์ ํด๋ผ์ฐ๋ LLM์ ์ง์ํ๋
LiteLLMModel
- Hugging Face API๋ฅผ ์ฌ์ฉํ๋
๋ค์์ Google Maps API๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ฅ์ ๊ฐ ์ด๋ ์๊ฐ์ ๊ณ์ฐํ๋ ์ฌ์ฉ์ ์ ์ ๋๊ตฌ์ ์ด๋ฅผ ํ์ฉํ ์ฌํ ๊ณํ ์์ด์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ์์ ์ฝ๋์ ๋๋ค:
from typing import Optional
from smolagents import CodeAgent, HfApiModel, tool
@tool
def get_travel_duration(start_location: str, destination_location: str, departure_time: Optional[int] = None) -> str:
"""Gets the travel time in car between two places.
Args:
start_location: the place from which you start your ride
destination_location: the place of arrival
departure_time: the departure time, provide only a `datetime.datetime` if you want to specify this
"""
import googlemaps # All imports are placed within the function, to allow for sharing to Hub.
import os
gmaps = googlemaps.Client(os.getenv("GMAPS_API_KEY"))
if departure_time is None:
from datetime import datetime
departure_time = datetime(2025, 1, 6, 11, 0)
directions_result = gmaps.directions(
start_location,
destination_location,
mode="transit",
departure_time=departure_time
)
return directions_result[0]["legs"][0]["duration"]["text"]
agent = CodeAgent(tools=[get_travel_duration], model=HfApiModel(), additional_authorized_imports=["datetime"])
agent.run("ํ๋ฆฌ ์๋ด๋ฅผ ๋๋ฌ๋ณผ ์ ์๋ ์ฅ์์ ์๊ฐ์ ์๋ ค์ฃผ์๊ฒ ์ด์? ์๋ด๋ ์ธ๊ณฝ์ด๋ ์๊ด์์ง๋ง ํ๋ฃจ ์ ๋๋ฉด ์ถฉ๋ถํฉ๋๋ค. ์ ๋ ๋์ค๊ตํต์ผ๋ก๋ง ์ด๋ํฉ๋๋ค.")
์์ ๊ฐ์ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ๋ผ ์ฌ๋ฌ ๋๊ตฌ๋ค์ ํธ์ถํ ๋ค, ๋ค์๊ณผ ๊ฐ์ ์ฌํ ์ผ์ ์ ์ ์ํ ๊ฒ์ ๋๋ค:
ํ๋ฆฌ์์์ ํ๋ฃจ ์ผ์ :
- 09:00~10:30: ์ํ ํ ๋ฐฉ๋ฌธ
- 11:00~12:30: ๋ฃจ๋ธ๋ฅด ๋ฐ๋ฌผ๊ด ๋ฐฉ๋ฌธ
- 13:00~14:30: ๋
ธํธ๋ฅด๋ด ๋์ฑ๋น ๋ฐฉ๋ฌธ
- 15:30~17:00: ๋ฒ ๋ฅด์ฌ์ ๊ถ์ ๋ฐฉ๋ฌธ
* ์ฃผ์: ๋
ธํธ๋ฅด๋ด ๋์ฑ๋น์์ ๋ฒ ๋ฅด์ฌ์ ๊ถ์ ๊น์ง ์ด๋ ์๊ฐ์ ์ฝ 59๋ถ์
๋๋ค.
๋ํ, ์ด๋ฌํ ๋๊ตฌ๋ฅผ Hub์ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ๋ ๊ฐ๋จํฉ๋๋ค:
get_travel_duration.push_to_hub("{your_username}/get-travel-duration-tool")
๊ณต์ ๋ ๋๊ตฌ๋ Hub์ ์คํ์ด์ค์์ ํ์ธํ ์ ์์ต๋๋ค.
์ฑ๋ฅ ๋น๊ต
SmolAgents๋ฅผ ์ฌ์ฉํ์ฌ ์คํ์์ค ๋ชจ๋ธ๊ณผ ์์ฉ ๋ชจ๋ธ์ ์ด ๋ฒค์น๋งํฌ๋ก ๋น๊ตํ ๊ฒฐ๊ณผ, **์ฝ๋ ๊ธฐ๋ฐ ์์ด์ ํธ(Code Agents)**๊ฐ JSON ๊ธฐ๋ฐ ์์ด์ ํธ๋ณด๋ค ์ฑ๋ฅ์ด ๋ฐ์ด๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
๋ ์ฝ์ด๋ณด๊ธฐ
-
๊ฐ์ด๋ ํฌ์ด๋ฅผ ํตํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ๋ฒ์ ์ต์ํด์ง์ธ์.
-
๋๊ตฌ(Tools) ๋ฐ ์ผ๋ฐ์ ์ธ ๋ชจ๋ฒ ์ฌ๋ก(General Best Practices)
-
ํน์ ์์คํ ์ ์ค์ ํ๊ธฐ ์ํ ์์ ๋ฅผ ์ดํด๋ณด์ธ์: Text-to-SQL ๋ฐ Agent RAG, ๋ฉํฐ์์ด์ ํธ ์ค์ผ์คํธ๋ ์ด์
-
์์ด์ ํธ์ ๋ํด์ ๋ ์์๋ณด์ธ์:
-
Anthropic์ ์ด ํ๋ฅญํ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์์ด์ ํธ์ ๋ํ ์ผ๋ฐ์ ์ธ ์ง์์ ์ ๊ณตํฉ๋๋ค.
-
์ด ์ปฌ๋ ์ ์ ์์ด์ ํธ์ ๊ดํ ์ํฅ๋ ฅ ์๋ ์ฐ๊ตฌ ๋ ผ๋ฌธ์ ๋ชจ์์ต๋๋ค.
-
SmolAgents ์๊ฐ ๋ธ๋ก๊ทธ ๊ธ
SmolAgents Github ์ ์ฅ์
๋ ์ฝ์ด๋ณด๊ธฐ
์ด ๊ธ์ GPT ๋ชจ๋ธ๋ก ์ ๋ฆฌํ ๊ธ์ ๋ฐํ์ผ๋ก ํ ๊ฒ์ผ๋ก, ์๋ฌธ์ ๋ด์ฉ ๋๋ ์๋์ ๋ค๋ฅด๊ฒ ์ ๋ฆฌ๋ ๋ด์ฉ์ด ์์ ์ ์์ต๋๋ค. ๊ด์ฌ์๋ ๋ด์ฉ์ด์๋ผ๋ฉด ์๋ฌธ๋ ํจ๊ป ์ฐธ๊ณ ํด์ฃผ์ธ์! ์ฝ์ผ์๋ฉด์ ์ด์ํ๊ฑฐ๋ ์๋ชป๋ ๋ด์ฉ์ ๋ฐ๊ฒฌํ์๋ฉด ๋ง๊ธ๋ก ์๋ ค์ฃผ์๊ธฐ๋ฅผ ๋ถํ๋๋ฆฝ๋๋ค.
ํ์ดํ ์น ํ๊ตญ ์ฌ์ฉ์ ๋ชจ์์ด ์ ๋ฆฌํ ์ด ๊ธ์ด ์ ์ฉํ์ จ๋์? ํ์์ผ๋ก ๊ฐ์ ํ์๋ฉด ์ฃผ์ ๊ธ๋ค์ ์ด๋ฉ์ผ๋ก ๋ณด๋ด๋๋ฆฝ๋๋ค! (๊ธฐ๋ณธ์ Weekly์ง๋ง Daily๋ก ๋ณ๊ฒฝ๋ ๊ฐ๋ฅํฉ๋๋ค.)
์๋์ชฝ์ ์ข์์๋ฅผ ๋๋ฌ์ฃผ์๋ฉด ์๋ก์ด ์์๋ค์ ์ ๋ฆฌํ๊ณ ๊ณต์ ํ๋๋ฐ ํ์ด ๋ฉ๋๋ค~