jaseci-labs/jac
The Jac Programming Language -- The ultimate language for agents to build everything.
해결하는 문제
Jac은 현대 풀스택 개발을 괴롭히는 "글루 코드"와 파편화된 툴체인을 제거합니다. 프론트엔드, 백엔드, 데이터 모델을 아우르는 단일 컴파일러 검증 언어를 제공함으로써, 별도의 표기법(SQL, JSON, YAML 등)에 대한 필요성을 없애고 서로 다른 언어와 시스템 간의 경계에서 발생하는 버그를 방지합니다.
작동 방식
Jac은 전체 애플리케이션을 하나의 연속된 프로그램으로 처리하는 "폴리파일러(polypiler)"를 사용합니다. Python 바이트코드, JavaScript 및 네이티브 머신 코드로 컴파일되므로 래퍼 없이 기존 생태계(PyPI, npm, C)를 사용할 수 있습니다. 데이터가 노드와 엣지의 그래프로 지속되고 "워커(walkers)"가 해당 그래프를 통해 계산을 수행하는 "객체 공간 프로그래밍(Object-Spatial Programming)"을 특징으로 합니다. 또한 점진적 빌림 검사(gradual borrow checking)가 포함되어 있어, 필요한 경우에만 고성능의 메모리 안전 네이티브 코드를 선택적으로 사용할 수 있습니다.
대상 사용자
Jac은 복잡한 데이터 기반 애플리케이션을 구축하는 개발자와 AI 에이전트를 위해 설계되었습니다. 특히 코딩 에이전트에 최적화되어 있어, 런타임에야 나타날 수 있는 계층 간 오류를 컴파일러가 잡아낼 수 있는 자기 문서화 환경을 제공합니다.
주요 특징
- 올인원 툴체인: 단일 바이너리가 Python, Node, 컴파일러, 패키지 관리자 및 배포 도구를 대체합니다.
- 엔드 투 엔드 타입 안전성: 단일 컴파일러가 전체 스택을 검사하여 계층 간 통합 오류를 컴파일 타임 실수로 전환합니다.
- 내장 지속성: 데이터 객체가 자동으로 지속되므로 수동 데이터베이스 관리, ORM 또는 마이그레이션이 필요하지 않습니다.
- AI 네이티브: AI 상호작용은 타입이 지정된 함수 호출로 처리되며, 컴파일러가 프롬프트 구조와 반환 타입을 강제합니다.
- 원활한 배포: Dockerfile이나 YAML 설정을 작성할 필요 없이 단일 명령어로 노트북에서 Kubernetes로 배포할 수 있습니다.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트