피드로 돌아가기
Introducing Agents.js: Give tools to your LLMs using JavaScript
Hugging Face BlogHugging Face Blog
Backend

Hugging Face가 Agents.js 라이브러리를 출시해 JavaScript 환경에서 LLM에 도구 접근 권한을 부여하고 자동 코드 생성·실행 기능 제공

Introducing Agents.js: Give tools to your LLMs using JavaScript

2023년 7월 24일7intermediate

Context

JavaScript 개발자들이 LLM 기반의 에이전트 기능을 브라우저 및 서버 환경에서 구현할 수 있는 방법이 부재했다.

Technical Solution

  • HfAgent 객체를 진입점으로 제공: npm install @huggingface/agents로 설치하여 new HfAgent(HF_ACCESS_TOKEN)로 인스턴스 생성
  • 자동 코드 생성 및 평가 분리: generateCode()로 자연어 명령을 JavaScript 코드로 변환하고, evaluateCode()로 별도 실행하여 보안 검증 가능
  • 다중 모드 도구 기본 내장: textToImage, imageToText, textToSpeech 등 내장 도구 제공 및 기본 LLM으로 OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5 사용
  • 커스텀 LLM 플러그인: 임의의 비동기 함수(string 입력 → Promise 출력)를 LLM으로 대체 가능하며, OpenAI API 등 외부 모델 연동 지원
  • 커스텀 도구 확장 메커니즘: Tool 타입으로 이름, 설명, 사용 예제, 실행 로직(call 함수)을 정의하여 기본 도구 목록에 병합 가능
  • 파일 입력 처리: generateCode() 및 evaluateCode()에 FileList 매개변수를 전달하여 에이전트가 로컬 파일에 접근하도록 구성

Impact

아티클에 정량적 성능 지표가 명시되지 않음

Key Takeaway

LLM을 JavaScript 에이전트로 운영할 때는 자동 코드 생성과 실행을 분리하는 아키텍처가 필수적이며, 도구 확장성을 위해 선언적 인터페이스(Tool 타입)를 설계하면 사용자 정의 기능 통합이 용이하다.


JavaScript 기반 AI 애플리케이션 개발 시 Agents.js의 generateCode/evaluateCode 분리 패턴을 따르면 LLM 생성 코드를 신뢰하지 않은 환경에서도 사전 검증 후 안전하게 실행할 수 있으며, 커스텀 도구를 Tool 인터페이스로 정의하면 translation, 데이터 처리 등 도메인 특화 기능을 재사용 가능한 형태로 확장할 수 있다.

원문 읽기