Mattie/cataclysm

Cataclysm - Code generation library for the end game

해결하는 문제

Cataclysm은 아직 작성되지 않은 함수를 호출할 수 있게 해줍니다. 수동으로 로직을 구현하는 대신, 이 라이브러리는 함수 이름, 인자, 주변 컨텍스트를 기반으로 LLM을 사용해 코드를 동적으로 생성하고 실행합니다.

작동 방식

이 프로젝트는 OpenAI의 GPT-4(또는 GPT-3.5)와 통합되어 Python 코드를 동적으로 생성합니다. 함수 시그니처, 콜 스택, 키워드 인자, docstring, 주석을 분석하여 코드가 무엇을 해야 하는지 결정합니다. 지속적인 API 호출을 피하기 위해 생성된 코드는 로컬 YAML 파일에 캐시됩니다. 생성된 코드의 첫 번째 실행이 실패하면, 시스템은 한 번 더 재생성 시도 후 포기합니다.

대상 사용자

실험적인 개발자이거나, 특정 함수의 구현을 AI가 처리하게 하여 빠르게 프로토타이핑하고 싶은 개발자에게 적합합니다.

주요 기능

  • 글로벌 모드: consume(globals())를 사용해 환경 내 모든 미인식 함수를 AI로 생성합니다.
  • 명시적 모드: doom 모듈을 사용해 AI 생성 함수를 제어되고 명시적으로 호출합니다.
  • 미리보기 모드: doom.impending 기능을 통해 실제로 실행하기 전에 생성된 코드 문자열을 미리 확인할 수 있습니다.
  • 고정 모드: doom.chosen은 릴리스된 코드가 특정한, 이전에 생성된 버전의 코드를 사용하도록 보장하여 안정성을 유지합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트