smolagents: 모델이 직접 코드를 써서 일하게 하는 작은 에이전트 라이브러리
요약
일부러 작게 만든 에이전트 라이브러리. 핵심 논리는 약 천 줄이고 설계는 하나의 주장에 걸려 있다. 도구 호출을 구조화해 내보내는 대신 짧은 코드를 쓰게 하고 라이브러리가 실행해 결과를 돌려준다. 단계가 줄고 호출도 줄며, 원문은 실제로 읽을 만한 길이다.
추천- 이름
- smolagents
- 버전
- v1.26
- 요금
- 무료
- 오픈소스
- 오픈소스
- 운영체제
- WindowsmacOSLinux
- 업데이트
- 2026-10-26 22:00
큰 모델을 실제 작업에 연결하는 일은 예전에는 한동안 프레임워크의 추상 계층을 헤매는 일이었다. 노드를 정의하고, 도구를 설명하고, 상태 전이를 배선한다. 무언가가 실제로 돌아갈 무렵이면 열의 절반은 배선에 쓰인 뒤였다. 여기서 다루는 라이브러리는 반대편에 서 있고, 그 위치가 곧 요점이다. 에이전트에 필요한 것은 프레임워크가 아니라 행동할 수단이다.
smolagents 는 작은 공개 라이브러리로, 핵심 논리는 약 천 줄이다. 이 생태계의 상당 부분이 그 주위를 맴도는 모델 커뮤니티의 팀이 공개했다. 중심 주장은 이렇다. 모델이 도구를 부르기 위한 전용 형식을 배울 필요는 없다. 잘하는 언어로 코드를 쓰게 하고, 그 코드를 실행하면 된다.

서식을 채우는 대신 코드로 생각하기
전통적인 방식은 모델에게 구조화된 지시를 내보내게 한다. 어느 도구를, 어떤 인자로 부를지. 형식은 고정되어 있고 프레임워크가 해석한 뒤 실행한다. 여기서의 대안은 실행 가능한 짧은 파이썬 코드를 쓰게 하고, 라이브러리가 그것을 돌린 다음 출력을 모델에 돌려주어 추론을 이어가게 하는 것이다. 코드에는 반복문도 조건 분기도 중첩 호출도 처음부터 갖춰져 있으므로, 여러 번 왕복이 필요했던 다단계 작업이 짧은 스크립트 하나로 끝나는 경우가 많다.
이 방식과 함께 공개된 수치를 보면, 비교 가능한 작업에서 단계와 모델 호출이 구조화 방식보다 약 삼분의 일 적다. 호출 횟수로 과금되는 서비스라면 이것은 반올림 오차가 아니라, 반복해서 돌려볼 수 있는 실험과 그럴 수 없는 실험의 차이다. 능력을 선언하는 일도 똑같이 소박하다. 평범한 함수와 분명한 설명을 두면, 에이전트가 언제 쓸지를 스스로 정한다. 연결용 코드도, 호출 순서를 미리 짜두는 작업도 필요 없다.

모델은 직접 고른다
이 라이브러리는 모델에 대해 중립적이고, 그것이 쓰기에 편한 점 가운데 하나다. 호스팅 추론 서비스, 라우팅 계층을 거쳐 붙는 상용 각사의 인터페이스, 내 기계에서 도는 로컬 모델. 에이전트 입장에서는 모두 같은 모양이고, 전환은 대개 초기화 한 줄을 바꾸는 일이지 논리를 다시 쓰는 일이 아니다.
모델의 능력이 상한을 정한다. 코드를 잘 쓰는 모델일수록 이 방식은 잘 작동한다. 커뮤니티에서 되풀이해 언급되는 지점이고, 도입 전에 진지하게 받아들일 가치가 있다. 코드를 써서 움직이는 에이전트는 사용하는 모델의 코드 작성 능력이 가진 장점과 단점을 그대로 물려받는다.
무엇이, 어디서 실행되는가
코드를 만들어 돌리면 그 뻔한 질문이 바로 나온다. 프로젝트의 답은 흐리지 않다. 로컬 실행기는 개발과 디버깅을 위한 것이며 보안 경계가 아니다. 중요한 작업은 격리된 환경에서 돌려야 하고, 그 수단은 여러 가지다. 호스팅 격리 환경이거나, 직접 관리하는 컨테이너이거나. 에이전트를 정의할 때 인자 하나로 고른다.
또 다른 두 가지 제약도 합리적이다. 생성된 코드는 기본적으로 언어의 표준 모듈만 쓸 수 있고, 제삼자 패키지는 명시적으로 허용해야 한다. 이로써 네트워크에 닿는 것을 무심코 불러오는 경로가 막힌다. 코드가 실패하면 에이전트는 오류를 읽고 고쳐서 다시 시도하며, 시도 횟수는 기본값이 작은 단계 상한으로 제한되므로 혼란스러운 에이전트가 청구서 위에서 끝없이 돌지 않는다.

생태계 안에 있다는 이점
큰 모델 커뮤니티의 팀이 만든 것에는 따라 하기 어려운 이점이 있다. 완성된 도구나 에이전트를 그 커뮤니티에 공개하고, 다른 누군가가 의존성을 설치하듯 가져다 쓸 수 있다. 온라인 시연 애플리케이션을 통째로 하나의 도구로 에이전트에게 넘기는 일도 가능하다. 그 바깥에서도 어떤 열린 규약의 도구나 다른 유명 프레임워크의 도구를 붙일 수 있고, 입력은 텍스트에 그치지 않는다. 이미지도 영상도 소리도 다룬다.
에이전트가 어떻게 돌아가는지 배우고 싶은 사람에게 가장 값진 성질은 읽힌다는 점이다. 천 줄이면 계층으로 쌓인 추상과 싸우는 대신 소스를 읽어 문제를 짚어낼 수 있다. 이 규모의 투명함, 코드로 행동하는 효율, 모델과 도구를 자유롭게 바꾸는 유연함. 세 가지가 겹쳐 생각보다 손에 잡히는 출발점이 된다.
어떤 사람에게 맞는가
한 부분만 바꾸고 나머지는 고정하고 싶은 연구자. 새 애플리케이션을 그 위에 세우는 대신 기존 프로그램 안에 에이전트를 넣고 싶은 개발자. 추상이 아껴주는 것보다 더 많은 수고를 들이는 프레임워크에 지쳐 본 사람. 무료이고 공개되어 있으며, 천 줄은 오후 하나면 다 읽는 길이다.