Self-evolving agent: grows skill tree from 3.3K-line seed, achieving full system control with 6x less token consumption
이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.
<div align="center">
<img src="assets/images/bar.jpg" width="880" alt="GenericAgent 배너"/>
최소한의 자기 진화형 자율 에이전트 프레임워크
~3K 라인의 시드 코드 · 9개의 원자적 도구 · ~100줄의 에이전트 루프
<p>
<a href="https://gaagent.ai"><img src="https://img.shields.io/badge/OfficialWebsite-gaagent.ai-00A67E?style=flat-square" alt="공식 웹사이트"/></a> <a href="https://arxiv.org/abs/2604.17091"><img src="https://img.shields.io/badge/TechnicalReport-PDF-EA4335?style=flat-square&logo=adobeacrobatreader&logoColor=white" alt="기술 보고서"/></a> <a href="https://github.com/JinyiHan99/GA-Technical-Report"><img src="https://img.shields.io/badge/Code%26Data-Reproduction-181717?style=flat-square&logo=github" alt="재현 저장소"/></a> <a href="https://datawhalechina.github.io/hello-generic-agent/"><img src="https://img.shields.io/badge/Tutorial-Datawhale-blue?style=flat-square" alt="튜토리얼"/></a> <a href="https://fudankw.cn/sophub"><img src="https://img.shields.io/badge/Skill_Hub-Sophub-purple?style=flat-square" alt="Sophub"/></a> </p>
<p> <a href="https://trendshift.io/repositories/25944" target="_blank"><img src="https://trendshift.io/api/badge/repositories/25944" alt="Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </p>
English · 中文
</div>
📌 공식: GitHub + https://gaagent.ai 만 공식입니다. DintalClaw는 유일한 공인 상업 파트너이며, 다른 곳은 관련이 없습니다.
<a id="-english"></a>
GenericAgent는 최소한의 자기 진화형 자율 에이전트 프레임워크입니다. 핵심은 약 3K 라인의 코드에 불과합니다. 9개의 원자적 도구 + 약 100줄의 에이전트 루프를 통해 모든 LLM에 로컬 컴퓨터에 대한 시스템 수준 제어권을 부여합니다. 브라우저, 터미널, 파일 시스템, 키보드/마우스 입력, 화면 비전, 모바일 기기(ADB)를 포함합니다.
디자인 철학 — 스킬을 미리 로드하지 말고, 진화시키세요.
GenericAgent가 새로운 작업을 해결할 때마다 실행 경로를 재사용 가능한 스킬로 자동 결정화합니다. 오래 사용할수록 더 많은 스킬이 축적되어 3K 라인의 시드 코드에서 완전히 성장한 개인 스킬 트리를 형성합니다.
🤖 자체 부트스트랩 증명 — 이 저장소의 모든 것, Git 설치 및
git init실행부터 모든 커밋 메시지까지 GenericAgent가 자율적으로 완료했습니다. 저자는 터미널을 한 번도 열지 않았습니다.
| 기능 | 설명 | ||
|---|---|---|---|
| 🧬 자기 진화 | 각 작업을 자동으로 스킬로 결정화합니다. 사용할 때마다 능력이 성장하여 개인 스킬 트리를 형성합니다. | ||
| 🪶 최소 아키텍처 | 약 3K 라인의 핵심 코드. 에이전트 루프는 약 100줄. 복잡한 종속성 없음, 배포 오버헤드 제로. | ||
| ⚡ 강력한 실행 | TMWebdriver가 실제 브라우저에 주입됩니다(로그인 세션 유지). 9개의 원자적 도구가 시스템을 직접 제어합니다. | ||
| 🔌 높은 호환성 | Claude / Gemini / Kimi / MiniMax 및 기타 주요 모델을 지원합니다. 크로스 플랫폼. | ||
| 💰 토큰 효율적 | <30K 컨텍스트 윈도우 — 다른 에이전트가 소비하는 200K–1M의 극히 일부입니다. 노이즈 감소, 환각 감소, 성공률 향상, 비용 절감. |
<table> <tr> <td align="center" width="50%"><b>🛡️ 실제 브라우저 CAPTCHA 생존</b></td> <td align="center" width="50%"><b>🌐 자율 웹 탐색</b></td> </tr> <tr> <td><img src="assets/demo/discordhcaptcharealbrowser.gif" width="100%" alt="실제 브라우저에서 Discord hCaptcha 통과"></td> <td><img src="assets/demo/autonomousexplore.png" width="100%" alt="웹 탐색"></td> </tr> <tr> <td><sub>Discord 봇을 구성하는 중간에 hCaptcha "당신은 인간입니까?" 챌린지가 나타납니다 — GA의 실제 브라우저 세션이 이를 통과하고 작업이 계속됩니다. <a href="#browser-realness-of-ga-web-tools">브라우저 실제성</a> 참조.</sub></td> <td><sub>자율적으로 웹을 탐색하고 주기적으로 콘텐츠를 요약합니다.</sub></td> </tr> <tr> <td align="center"><b>🧋 음식 배달 주문</b></td> <td align="center"><b>📈 퀀트 주식 스크리닝</b></td> </tr> <tr> <td><img src="assets/demo/ordertea.gif" width="100%" alt="차 주문"></td> <td><img src="assets/demo/selectstock.gif" width="100%" alt="주식 선택"></td> </tr> <tr> <td><sub>"밀크티 주문해 줘" — 배달 앱을 탐색하고, 항목을 선택하고, 결제를 완료합니다.</sub></td> <td><sub>"EXPMA 골든 크로스, 거래량 > 5%인 GEM 주식 찾아줘" — 퀀트 스크리닝.</sub></td> </tr> <tr> <td align="center"><b>💰 지출 추적</b></td> <td align="center"><b>💬 일괄 메시징</b></td> </tr> <tr> <td><img src="assets/demo/alipayexpense.png" width="100%" alt="Alipay 지출"></td> <td align="center"><img src="assets/demo/wechat_batch.png" width="65%" alt="WeChat 일괄"></td> </tr> <tr> <td><sub>"지난 3개월 동안 2,000위안 이상 지출 찾아줘" — ADB를 통해 Alipay를 구동합니다.</sub></td> <td><sub>WeChat 클라이언트를 완전히 구동하여 대량 WeChat 메시지를 보냅니다.</sub></td> </tr> </table>
⚠️ Python 버전: Python 3.11 또는 3.12를 사용하세요. Python 3.14를 사용하지 마세요 —
pywebview및 몇몇 다른 GA 종속성과 호환되지 않습니다.
>
📖 자세한 설치 가이드: installation.md · installationzh.md(中文)
설치 가이드를 가져와서 따르세요:
curl -fsSL https://raw.githubusercontent.com/lsdefine/GenericAgent/refs/heads/main/docs/installation.md
git clone https://github.com/lsdefine/GenericAgent.git && cd GenericAgent
uv venv && uv pip install -e ".[ui]"
cp mykey_template_en.py mykey.py # LLM API 키 입력
종속성은 의도적으로 계층화되어 있습니다: 에이전트 코어는 requests와 TMWebdriver의 로컬 서버를 위한 4개의 경량 패키지(beautifulsoup4, bottle, simple-websocket-server, aiohttp)만 필요합니다. [ui] 추가 기능은 프론트엔드 라이브러리(Streamlit, TUI용 prompt_toolkit/rich, …)를 가져옵니다 — 번들 UI를 위해 설치하거나 완전히 건너뛰고 에이전트를 헤드리스로 구동할 수 있습니다. Playwright, LangChain, 브라우저 바이너리 다운로드가 필요 없습니다.
그런 다음 실행:
python frontends/tui_v3.py # 터미널 UI (권장)
python launch.pyw # Streamlit 웹 UI
격리된 Python 환경, Git, 실행 준비가 된 패키지가 포함된 자체 포함 디렉토리를 설정합니다. 스크립트는 assets/에 있습니다. 먼저 읽어보고 싶다면.
Windows PowerShell
powershell -ExecutionPolicy Bypass -c "$env:GLOBAL=1; irm https://raw.githubusercontent.com/lsdefine/GenericAgent/main/assets/ga_install.ps1 | iex"
Linux / macOS
GLOBAL=1 bash -c "$(curl -fsSL https://raw.githubusercontent.com/lsdefine/GenericAgent/main/assets/ga_install.sh)"
💡 GenericAgent는 에이전트 자체를 통해 환경을 성장시킵니다 — 모든 것을 미리 설치하지 마세요. 아래 고급 기능 잠금 해제를 참조하세요.
prompt_toolkit + rich 기반의 경량 스크롤백 우선 터미널 인터페이스입니다. 여러 동시 세션과 실시간 스트리밍을 지원합니다.
python frontends/tui_v3.py
<details> <summary><b>⚠️ Windows TUI 문제 해결</b></summary>
Windows에서 TUI 렌더링은 터미널 + 글꼴에 따라 불안정할 수 있습니다. 일반적인 원인:
prompttoolkit / rich가 최신 버전이 아닙니다 — 먼저 pip install -U prompttoolkit rich를 실행하세요."Windows의 PowerShell / cmd / Git Bash에서
frontends/tui_v3.py를 사용하는 경험이 매우 좋지 않습니다 — 많은 비호환성이 있습니다. Claude Code의 Windows 터미널 모범 사례를 참조하여 모든 글꼴 및 렌더링 비호환성을 수정해 주세요."
</details>
python launch.pyw
GenericAgent는 Telegram, Discord, Lark와 같은 IM 프론트엔드도 지원합니다.
| 플랫폼 | 명령어 | ||
|---|---|---|---|
| Telegram | python frontends/tgapp.py |
||
| Discord | python frontends/dcapp.py |
||
| Lark / Feishu | python frontends/fsapp.py |
WeChat, QQ, WeCom 및 DingTalk도 지원됩니다 — 아래 중국어 섹션을 참조하세요.
자세한 설정은 GenericAgent 자체에 문의하세요.
GA에서 고급 기능은 에이전트에게 지시함으로써 잠금 해제되며, 문서를 읽거나 추가 기능을 설치할 필요가 없습니다. 아래 각 지시는 GA가 사전 설치된 SOP(메모리에 있는 전투 테스트된 플레이북)를 읽고, 누락된 것을 설치하고, OS에 적응하고, 결과를 자체 메모리에 유지하도록 합니다.
| 기능 | GA에게 말하기 | ||
|---|---|---|---|
| 🌐 웹 자동화 | "웹 자동화 기능을 설정해 줘." — GA가 번들 Chrome 확장 프로그램을 chrome://extensions로 드래그하는 한 가지 수동 단계를 안내합니다. |
||
| 🔤 OCR | "rapidocr로 OCR 기능을 설정하고 메모리에 저장해 줘." | ||
| 👁️ 비전 | "memory/의 템플릿에서 비전 기능을 설정해 줘." — GA가 템플릿을 복사하고, 기존 LLM 키에 연결하고, 자체 테스트합니다. | ||
| 🖱️ 컴퓨터 사용 | "이 시스템을 프로브하고 컴퓨터 사용 기능을 설정해 줘." |
💡 언어 정보: 사전 설치된 SOP는 중국어로 작성되었습니다 — GA가 기본적으로 읽으므로 문제가 되지 않습니다. 영어 지식 베이스를 선호한다면 다음과 같이 말하세요:
"사전 설치된 SOP를 읽고 영어로 다시 작성해 줘 (코드, 경로 및 오류 문자열은 그대로 유지)."
>
🌍 플랫폼 정보: SOP는 Windows에서 연마되었지만, 크로스 플랫폼 적응은 그 자체로 GA 작업입니다 — macOS/Linux에서 GA는 플랫폼에 해당하는 것(창 열거, 입력 제어, 스크린샷)을 자체적으로 교체합니다. 동일한 자기 진화 원칙입니다.
GenericAgent는 계층형 메모리 × 최소 도구 세트 × 자율 실행 루프를 통해 복잡한 작업을 수행하며, 실행 중에 지속적으로 경험을 축적합니다.
메모리는 작업 실행 전반에 걸쳐 결정화되어 에이전트가 시간이 지남에 따라 안정적이고 효율적인 작업 패턴을 구축할 수 있게 합니다.
| 계층 | 이름 | 설명 | ||
|---|---|---|---|---|
| L0 | 메타 규칙 | 핵심 행동 규칙 및 시스템 제약 조건 | ||
| L1 | 인사이트 인덱스 | 빠른 라우팅 및 검색을 위한 최소 메모리 인덱스 | ||
| L2 | 글로벌 사실 | 장기 운영 동안 축적된 안정적인 지식 | ||
| L3 | 작업 스킬 / SOP | 특정 작업 유형을 완료하기 위한 재사용 가능한 워크플로우 | ||
| L4 | 세션 아카이브 | 완료된 세션에서 추출된 아카이브된 작업 기록으로 장기 검색용 |
환경 상태 인식 → 작업 추론 → 도구 실행 → 경험을 메모리에 기록 → 루프
전체 코어 루프는 단지 약 100줄의 코드입니다 (agentloop.py).
GenericAgent는 9개의 원자적 도구만 제공하여 외부 세계와 상호 작용하기 위한 기본 기능을 형성합니다.
| 도구 | 기능 | ||
|---|---|---|---|
code_run |
임의 코드 실행 (Python / PowerShell) | ||
file_read |
파일 읽기 | ||
file_write |
파일 쓰기 / 생성 / 덮어쓰기 | ||
file_patch |
파일 패치 / 수정 | ||
web_scan |
웹 콘텐츠 인식 | ||
web_execute |
웹 페이지에서 JavaScript 실행 | ||
web_screenshot |
웹 페이지 스크린샷 캡처 | ||
adb_shell |
ADB 명령 실행 | ||
adb_screenshot |
ADB를 통해 기기 스크린샷 캡처 |
GenericAgent의 자기 진화는 작업 → 스킬 → 스킬 트리의 세 단계로 작동합니다.
새 작업이 주어지면 GA는 계층형 메모리에서 관련 스킬을 검색합니다. 일치하는 항목이 있으면 이를 재사용합니다. 그렇지 않으면 9개의 원자적 도구를 사용하여 처음부터 작업을 완료합니다.
작업이 완료되면 GA는 실행 경로를 분석하고 핵심 단계를 추출하여 재사용 가능한 스킬로 저장합니다. 각 스킬에는 다음이 포함됩니다:
스킬이 축적됨에 따라 GA는 유사한 스킬을 그룹화하고, 계층 구조를 구축하고, 중복을 병합하여 개인 스킬 트리를 형성합니다. 이 트리는 사용할 때마다 계속 성장하고 최적화됩니다.
결과: 3K 라인의 시드 코드에서 GA는 수천 개의 스킬을 포함하는 스킬 트리로 성장할 수 있으며, 각 스킬은 실제 사용을 통해 검증되었습니다.
| 측면 | GenericAgent | 기타 에이전트 프레임워크 | ||
|---|---|---|---|---|
| 코드베이스 크기 | ~3K 라인 | 일반적으로 50K–500K+ 라인 | ||
| 컨텍스트 윈도우 | <30K 토큰 | 200K–1M 토큰 | ||
| 종속성 | 최소 (requests + 4개 경량 패키지) | 무거움 (Playwright, LangChain, 브라우저 바이너리 등) | ||
| 스킬 메커니즘 | 자기 진화, 자동 결정화 | 수동 정의 또는 사전 훈련 | ||
| 브라우저 제어 | 실제 브라우저 주입 (TMWebdriver) | 헤드리스 브라우저 또는 API 기반 | ||
| CAPTCHA 처리 | 실제 브라우저 세션으로 통과 | 일반적으로 차단됨 | ||
| 비용 | 낮음 (적은 토큰 소비) | 높음 (많은 토큰 소비) |
공식 벤치마크 및 평가 결과는 기술 보고서에서 확인할 수 있습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.