본문으로 건너뛰기
IFAI

오픈소스

허깅페이스, 자바스크립트용 AI 에이전트 라이브러리 Agents.js 공개

게시 확산 지수 47

허깅페이스는 브라우저나 Node 환경에서 대형 언어 모델이 도구를 호출할 수 있게 돕는 라이브러리 Agents.js를 공개했다. 텍스트-이미지 생성 및 캡셔닝 등 멀티모달 도구를 기본 제공하며 커스텀 모델 확장도 지원한다. 단, 환경 내에서 생성된 코드를 직접 실행하는 방식이어서 보안 위험에 유의해야 한다.

허깅페이스, 자바스크립트용 AI 에이전트 라이브러리 Agents.js 공개
이미지: huggingface.co

Agents.js는 허깅페이스가 공개한 자바스크립트용 AI 에이전트 라이브러리로, 브라우저나 Node.js 환경에서 대형 언어 모델이 멀티모달 도구를 직접 호출할 수 있도록 돕습니다.

기존 에이전트 생태계가 파이썬 중심으로 돌아갔던 것과 달리, Agents.js는 사용자의 자연어 프롬프트를 바탕으로 모델이 직접 자바스크립트 코드를 짜서 실행하는 방식을 택했습니다.

무엇을 할 수 있나

npm에서 @huggingface/agents를 설치하고 토큰을 넣어 HfAgent 인스턴스를 만들면 바로 사용할 수 있습니다.

예를 들어 「실크 모자를 쓴 고무 오리를 그리고, 그 그림에 캡션을 달아줘」라는 명령을 입력하면, 모델이 텍스트-이미지 생성 도구와 이미지 캡셔닝 도구를 순차적으로 호출하는 비동기 코드를 작성해 결과를 반환합니다.

웹 환경에 맞게 브라우저의 FileList 객체를 직접 입력받을 수도 있습니다. 사용자가 올린 사진을 받아 캡션을 생성하고, 이를 텍스트 음성 변환 도구로 읽어주는 식의 멀티모달 파이프라인도 손쉽게 구현됩니다.

커스텀 설정과 보안 주의사항

기본 모델로는 허깅페이스가 호스팅하는 오픈소스 모델 OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5를 사용합니다. 하지만 문자열을 주고받는 비동기 함수만 정의하면 OpenAI API를 비롯한 어떤 모델로도 쉽게 교체할 수 있습니다.

커스텀 도구 추가도 간단합니다. 도구 이름과 설명, 입출력 예시, 실제 비동기 실행 로직을 객체로 작성해 에이전트에 넘겨주기만 하면 됩니다.

다만 실행 구조상 보안에 주의해야 합니다. 라이브러리가 모델이 생성한 임의의 자바스크립트 코드를 브라우저나 Node 환경에서 직접 실행하기 때문입니다. 허깅페이스는 신뢰할 수 없는 환경에서는 바로 run을 호출하지 말고, generateCode로 생성된 코드를 먼저 검토한 뒤 evaluateCode를 실행할 것을 권장하고 있습니다.

현재 Open Assistant 30B 모델을 기반으로 다양한 허브 도구를 호출해볼 수 있는 온라인 데모도 공개되어 있습니다.

왜 중요한가

웹 개발자가 파이썬 백엔드를 따로 구축하지 않고도 자바스크립트만으로 멀티모달 에이전트를 실험할 수 있다는 점이 매력적입니다. Blob이나 FileList 같은 웹 표준 데이터 구조를 그대로 다룰 수 있어 프로토타입 개발 속도를 크게 높여줍니다.

하지만 모델이 생성한 코드를 샌드박스 없이 그대로 실행하는 구조는 프로덕션 서비스 도입 시 큰 보안 위험이 될 수 있습니다. 안전한 격리 환경이 갖춰지기 전까지는 로컬 실험이나 사내 툴 수준에서 먼저 활용해 보는 것이 바람직하다고 봅니다.

출처 (1)

  1. [1]
    huggingface.co(새 탭에서 열림)원문huggingface.co

매일 AI 콘텐츠 픽