제목
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
인공지능
대상자
- Python 개발자, AGI(인공일반지능) 프로젝트에 참여하는 초보자 및 경험이 있는 개발자
- 난이도: 초보자도 쉽게 적용 가능한 최소한의 설정이 필요한 경우
핵심 요약
- "Lazy File Architecture"의 핵심은
LivinGrimoirePacket
과DLC
파일을 통해 1줄의 코드로 스킬 추가 가능 - 모듈화된 스킬 관리를 통해 DLC 파일로 재분류 및 실험적 개발이 용이
- 런타임 중 스킬 재로딩 기능 제공 (LISP 같은 언어에서만 가능했던 기능)
섹션별 세부 요약
1. 주요 구조 및 설정
- Brain
클래스를 통해 AGI의 기본적인 메시지 처리 루프 생성
- brain_queue
사용으로 입력/틱/스킬 실행을 비동기로 처리
- threading.Thread
로 틱 처리 및 사용자 입력을 별도 스레드로 분리
- TICK_INTERVAL
변수로 틱 주기 조절 가능
2. DLC 파일 기반의 스킬 관리
- .py
확장자에 DLC
포함된 파일을 동적으로 로드하여 스킬 추가
- importlib.import_module()
을 통해 런타임 모듈 로딩
- add_DLC_skills()
메서드로 스킬 등록 및 실행
- DiHelloWorld
, DiSayer
, DiTime
등의 스킬 클래스를 예시로 제공
3. 동적 재로딩 기능
- 런타임 중 DLC 파일 수정 시 스킬 재로딩 가능
- LISP과 유사한 동적 프로그래밍 기능 제공
- importlib.reload()
또는 모듈 재로딩 기법 사용 (문서에 명시되지 않음)
결론
- AGI 프로젝트 초기 개발 단계에서 최소한의 설정으로 빠르게 프로토타입을 구축할 수 있으며, DLC 파일 기반의 모듈화를 통해 유연한 확장성을 확보해야 한다.