GenericAgent: 3,300줄의 시드 코드에서 시작해 스스로 스킬을 성장시키는 자기 진화형 LLM 에이전트 프레임워크

GenericAgent 소개

자율형 AI 에이전트의 실제 활용 가능성은 오래전부터 논의되어 왔지만, 기존 에이전트 프레임워크들은 수십만 줄에 달하는 복잡한 코드 기반과 수십만 개의 컨텍스트 토큰을 소비하는 무거운 구조로 인해 실용성에 한계가 있었습니다. 복잡한 환경 설정, 과도한 비용, 느린 반응 속도는 실제 개인 사용자나 소규모 팀이 자율 에이전트를 일상 업무에 적용하기 어렵게 만들었습니다. GenericAgent는 이러한 문제를 정면으로 해결하기 위해 탄생한 경량 자기 진화형 에이전트 프레임워크입니다.

GenericAgent의 핵심 철학은 "최소한의 코드로 최대한의 능력"입니다. 약 3,300줄의 핵심 코드와 약 100줄의 에이전트 루프로 구성된 이 프레임워크는, 사전에 모든 기능을 코드에 내장하는 대신 실제 작업 수행 과정을 통해 스스로 능력을 성장시킵니다. 작업을 수행하면서 성공적인 실행 경로를 스킬(Skill)로 결정화(crystallize)하여 재사용 가능한 형태로 메모리에 저장하고, 다음에 유사한 작업이 발생했을 때 즉시 활용합니다. 이를 통해 에이전트는 사용할수록 더 강력하고 효율적으로 성장합니다.

GenericAgent는 Claude, Gemini, Kimi, MiniMax 등 주요 LLM을 지원하며, 실제 브라우저 자동화(로그인 세션 유지), 터미널 제어, 파일 시스템 접근, 키보드/마우스 입력, 화면 비전, Android ADB 등 9가지 원자적 도구를 통해 시스템 수준의 컴퓨터 제어가 가능합니다. 기술 보고서는 arXiv:2604.17091에 공개되어 있으며, MIT 라이선스로 자유롭게 활용할 수 있습니다.

GenericAgent의 자기 진화 메커니즘

GenericAgent의 가장 독창적인 특징은 계층적 메모리 시스템과 자기 진화 루프입니다. 에이전트는 새로운 작업을 만나면 탐색하고 실험하며 스스로 해결책을 찾아냅니다. 이 과정이 성공적으로 완료되면 해당 실행 경로를 재사용 가능한 스킬로 변환하여 메모리에 저장합니다.

[새로운 작업] → [자율 탐색: 의존성 설치, 스크립트 작성, 디버깅/검증]
→ [실행 경로를 스킬로 결정화] → [메모리 레이어에 저장]
→ [유사 작업 발생 시 즉시 재활용]

계층적 메모리 시스템 (L0~L4)

GenericAgent는 5단계 메모리 구조를 통해 장기적이고 맥락에 적합한 지식을 유지합니다:

  • L0 (메타 규칙): 핵심 행동 지침과 시스템 제약
  • L1 (인사이트 인덱스): 빠른 라우팅을 위한 최소 색인 레이어
  • L2 (전역 사실): 장기 운용 중 축적된 안정적 지식
  • L3 (작업 스킬/SOP): 특정 작업 유형에 대한 재사용 가능한 워크플로우
  • L4 (세션 아카이브): 완료된 세션에서 증류된 기록, 장기 기억 활성화

이 구조 덕분에 GenericAgent는 30K 토큰 이하의 컨텍스트 윈도우만으로도 기존 경쟁 프레임워크 대비 6배 낮은 토큰 소비를 달성합니다.

9가지 원자적 도구

# GenericAgent의 핵심 도구 목록
tools = {
    "code_run":               "임의의 코드 실행",
    "file_read":              "파일 내용 읽기",
    "file_write":             "파일에 쓰기",
    "file_patch":             "기존 파일 수정",
    "web_scan":               "웹 콘텐츠 인식",
    "web_execute_js":         "브라우저 동작 제어",
    "ask_user":               "인간 검증 요청",
    "update_working_checkpoint": "세션 내 컨텍스트 저장",
    "start_long_term_update": "세션 간 경험 축적",
}

GenericAgent의 설치 및 실행

# 저장소 클론
git clone https://github.com/lsdefine/GenericAgent.git
cd GenericAgent

# 최소 의존성 설치
pip install streamlit pywebview

# API 키 설정
cp mykey_template.py mykey.py
# mykey.py를 열어 사용할 LLM의 API 키 입력

# 실행 (Streamlit 웹 UI)
python launch.pyw

다양한 메신저 봇 프론트엔드도 지원합니다. WeChat(frontends/wechatapp.py), QQ, 페이수(Feishu/Lark), WeCom, DingTalk 봇으로 에이전트에 접근하거나 Qt 데스크탑 앱(frontends/qtapp.py)으로 실행할 수 있습니다.

실제 활용 사례

GenericAgent는 다음과 같은 복잡한 실세계 작업을 자율적으로 수행합니다:

  • 앱을 통한 음식 배달 주문(네비게이션 및 결제 자동화)
  • 기술적 지표(EXPMA 골든 크로스, 회전율 임계값)를 활용한 주식 스크리닝
  • 주기적 요약을 포함한 자율 웹 탐색
  • Android Debug Bridge(ADB)를 통한 알리페이 지출 추적

라이선스

이 프로젝트는 MIT 라이선스로 공개되어 있습니다. 단, GenericAgent 명칭을 사용한 상업 활동은 DintalClaw를 제외하고 공식적으로 허가되지 않음을 README에서 명시하고 있습니다.

:scroll: GenericAgent 기술 보고서

:github: GenericAgent 프로젝트 GitHub 저장소

:books: GenericAgent 튜토리얼 (Hello GenericAgent)

더 읽어보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요