grabbou/babel
요약
Babel은 TypeScript 타입 정의를 활용하여 자율 에이전트 기반 애플리케이션을 구축할 수 있도록 설계된 LLM-agnostic 프레임워크입니다. Microsoft의 연구 통찰력을 바탕으로 개발자가 정의한 함수를 LLM이 이해하고 실행할 수 있는 프로시저로 변환하며, 현재 Claude 2를 참조 구현으로 사용하여 에이전트형 런타임을 생성합니다.
핵심 포인트
- TypeScript 타입 정의를 사용하여 LLM의 출력을 가이드하고 함수를 프로시저로 정의함
- 특정 모델에 종속되지 않는 LLM-agnostic 솔루션을 지향함
- Claude 2의 정밀도와 코딩 능력을 활용하여 런타임 TypeScript 코드를 생성함
- 에러 발생 시 유효하지 않은 코드를 반환하게 하여 예측 가능성을 높이는 접근 방식 채택
- 현재 연구 목적으로 개발 중이며 프로덕션 환경 사용은 권장되지 않음
Babel은 TypeScript를 활용하여 자율 에이전트 (autonomous agent) 기반 애플리케이션을 구축하기 위해 설계된 혁신적인 프레임워크입니다. 이는 OpenAI functions의 현대적인 대응물로서, 사용 가능한 모든 모델과 호환되는 LLM-agnostic (모델 불가지론적) 솔루션을 제공합니다.
Microsoft의 최신 연구 통찰력을 바탕으로 구축된 Babel은 TypeScript 타입 정의 (type definitions)를 사용하여 LLM 출력을 가이드합니다. 이 프레임워크를 통해 개발자는 함수(그리고 향후에는 서버리스 람다 함수 (serverless lambda functions) 및 기타 엔드포인트)를 사용 가능한 프로시저 (procedures)로 정의할 수 있으며, Claude 2의 강력한 성능을 활용하여 자율 에이전트로 작동하는 런타임 (runtime)을 생성합니다.
초기 반복 버전에서 Babel은 Claude 2를 참조 구현 (reference implementation)으로 활용하였으며, Claude 2의 정밀도, 제어 가능성 (steerability), 그리고 코딩 능력을 통합하여 사용자의 함수를 위한 직관적인 에이전트형 런타임을 생성합니다.
참고: Babel은 아직 프로덕션 (production) 환경에 사용할 준비가 되지 않았으며, 현재 단계에서는 연구 목적으로 의도되었습니다. 저희는 프리릴리스 (prerelease) 버전을 작업 중이며 가까운 시일 내에 출시될 예정입니다. 개발에 참여하고 싶으시다면 이슈 (issue)를 생성하거나 제 이메일 [Mike]로 연락해 주세요.
- .env 파일을 생성하고 CLAUDE_KEY를 환경 변수로 설정하세요.
- 다음 명령어를 실행하여 필요한 모든 의존성 (dependencies)을 설치하세요:
$ yarn
- 다음 명령어를 실행하세요:
$ yarn tsx example/temperature/index.ts
- 질문을 던져보세요!
참고: 저희의 기본 예제는 날씨 업데이트를 제공하고 (원하신다면!) 이를 이메일로 보내는 데 가장 최적화되어 있습니다.
Babel은 사용자의 환경에서 사용 가능한 함수들이 포함된 TypeScript 파일이 필요합니다. 함수를 접근 가능하게 만들려면 반드시 export 해야 합니다.
export const getCurrentLocation = (): Location => {
return {
lat: 37.773972,
...
Babel은 TypeScript 컴파일러 (compiler)를 활용하여 사용자의 파일을 TypeScript 타입 정의 (.d.ts)로 변환합니다.
type Location = {
lat: number;
lng: number;
...
Babel은 Claude 2에게 런타임 TypeScript 파일을 생성하도록 지시하는 프롬프트 (prompt)를 생성합니다. 사용 가능한 함수들을 바탕으로, 이 파일은 당면한 과제를 해결하려고 시도할 것입니다.
응답은 다음과 같은 상위 수준의 형식을 따르는 XML 객체입니다:
<response>
<code><![CDATA[
async function main(): Promise<string> {
...
만약 [error]가 존재한다면, 이는 런타임 코드 생성에 문제가 있음을 나타내며, 안전하게 실행될 수 없음을 의미합니다.
우리는 Claude 2가 잠재적으로 유효하지 않은 코드를 생성하고 에러 메시지를 반환하도록 허용하는 것이, 코드 또는 메시지 중 하나를 반드시 반환하도록 요구하는 것보다 종종 더 예측 가능하다는 점을 발견했습니다. 이러한 접근 방식은 우리의 기반 구현 (underlying implementation)의 근본적인 측면이지만, 향후 추가 연구의 대상입니다.
이 프로젝트는 샌프란시스코에서 열린 Anthropic 해커톤에서 우리의 전담 팀에 의해 시작되었습니다:
Babel에 대한 여러분의 관심에 감사드리며, 피드백, 기여 및 질문을 환영합니다. AI와 함께 더 나은 미래를 만들어 갑시다! 🎉
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기