II-Agent는 여러 분야에서 워크플로우를 간소화하고 강화하기 위해 설계된 오픈 소스 지능형 어시스턴트 프레임워크이며, 복잡한 작업을 독립적으로 수행할 수 있습니다.
II-Agent 프로젝트 상세 소개
프로젝트 개요
II-Agent는 여러 분야에 걸쳐 워크플로우를 간소화하고 강화하기 위해 설계된 오픈 소스 지능형 어시스턴트입니다. 이는 우리가 기술과 상호 작용하는 방식의 중요한 진전을 나타냅니다. 수동적인 도구에서 복잡한 작업을 독립적으로 수행할 수 있는 지능형 시스템으로의 전환입니다.
프로젝트 주소: https://github.com/Intelligent-Internet/ii-agent
핵심 기능
II Agent는 Anthropic Claude 모델에 대한 에이전트 인터페이스를 제공하도록 구축되었으며, 다음과 같은 기능을 제공합니다.
- CLI 인터페이스: 직접적인 명령줄 상호 작용
- WebSocket 서버: 최신 React 프론트엔드 지원
- Google Cloud Vertex AI 통합: API를 통해 Anthropic 모델에 액세스
응용 분야 및 기능
분야 | II-Agent의 기능 |
---|---|
연구 및 사실 확인 | 다단계 웹 검색, 정보 출처 삼각 검증, 구조화된 노트, 빠른 요약 |
콘텐츠 생성 | 블로그 및 기사 초안, 교육 과정 계획, 창의적인 에세이, 기술 매뉴얼, 웹사이트 제작 |
데이터 분석 및 시각화 | 데이터 정리, 통계 분석, 추세 감지, 차트 제작, 자동 보고서 생성 |
소프트웨어 개발 | 코드 합성, 리팩토링, 디버깅, 테스트 작성, 다국어 단계별 튜토리얼 |
워크플로우 자동화 | 스크립트 생성, 브라우저 자동화, 파일 관리, 프로세스 최적화 |
문제 해결 | 문제 분해, 대체 경로 탐색, 단계별 지침, 문제 해결 |
시스템 아키텍처
II-Agent 시스템은 다기능 AI 에이전트를 구축하기 위해 복잡한 방법을 사용하며, 핵심 방법은 다음과 같습니다.
1. 핵심 에이전트 아키텍처 및 LLM 상호 작용
- 동적으로 사용자 정의된 컨텍스트의 시스템 프롬프트
- 포괄적인 상호 작용 기록 관리
- 토큰 제한을 처리하기 위한 지능형 컨텍스트 관리
- 체계적인 LLM 호출 및 기능 선택
- 실행 주기를 통한 반복적인 최적화
2. 계획 및 성찰
- 복잡한 문제 해결을 위한 구조화된 추론
- 문제 분해 및 순차적 사고
- 투명한 의사 결정 과정
- 가설 형성 및 테스트
3. 실행 능력
- 지능형 코드 편집을 통한 파일 시스템 작업
- 안전한 환경에서의 명령줄 실행
- 고급 웹 상호 작용 및 브라우저 자동화
- 작업 완료 및 보고
- 다양한 양식의 전용 기능 (실험적): PDF, 오디오, 이미지, 비디오, 슬라이드
- 심층 연구 통합
4. 컨텍스트 관리
- 토큰 사용량 예측 및 최적화
- 긴 상호 작용을 위한 전략적 잘라내기
- 큰 출력에 대한 파일 기반 아카이브
5. 실시간 통신
- WebSocket 기반의 대화형 인터페이스
- 각 클라이언트의 격리된 에이전트 인스턴스
- 반응형 사용자 경험을 위한 스트리밍 작업 이벤트
성능 평가
II-Agent는 GAIA 벤치마크에서 평가되었으며, 이 벤치마크는 실제 시나리오에서 실행되는 LLM 기반 에이전트를 평가하며, 다중 모드 처리, 도구 활용 및 웹 검색을 포함한 여러 차원을 다룹니다.
평가 과정에서 GAIA 벤치마크의 몇 가지 문제가 발견되었습니다.
- 주석 오류: 데이터 세트의 몇 가지 잘못된 주석
- 오래된 정보: 일부 문제는 더 이상 액세스할 수 없는 웹사이트 또는 콘텐츠를 참조
- 언어적 모호성: 명확하지 않은 표현으로 인해 문제에 대한 다른 해석 발생
이러한 어려움에도 불구하고 II-Agent는 벤치마크에서 특히 복잡한 추론, 도구 사용 및 다단계 계획이 필요한 영역에서 뛰어난 성능을 보였습니다.
설치 및 구성
시스템 요구 사항
- Python 3.10+
- Node.js 18+ (프론트엔드용)
- Vertex AI API가 활성화된 Google Cloud 프로젝트 또는 Anthropic API 키
환경 구성
루트 디렉토리에 .env
파일을 생성합니다.
# 이미지 및 비디오 생성 도구
OPENAI_API_KEY=your_openai_key
OPENAI_AZURE_ENDPOINT=your_azure_endpoint
# 검색 제공업체
TAVILY_API_KEY=your_tavily_key
#JINA_API_KEY=your_jina_key
#FIRECRAWL_API_KEY=your_firecrawl_key
# 이미지 검색 및 더 나은 검색 결과를 위해 SerpAPI 사용
#SERPAPI_API_KEY=your_serpapi_key
STATIC_FILE_BASE_URL=http://localhost:8000/
# Anthropic 클라이언트를 사용하는 경우
ANTHROPIC_API_KEY=
# Google Vertex를 사용하는 경우 (권장, 권한이 있는 경우 추가 처리량 확보 가능)
#GOOGLE_APPLICATION_CREDENTIALS=
프론트엔드 환경 구성, frontend 디렉토리에 .env
파일을 생성합니다.
NEXT_PUBLIC_API_URL=http://localhost:8000
설치 단계
저장소 복제
Python 환경 설정:
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
- 프론트엔드 설정 (선택 사항):
cd frontend
npm install
사용 방법
CLI 사용
Anthropic 클라이언트 사용:
python cli.py
Vertex 사용:
python cli.py --project-id YOUR_PROJECT_ID --region YOUR_REGION
CLI 옵션:
--project-id
: Google Cloud 프로젝트 ID--region
: Google Cloud 지역 (예: us-east5)--workspace
: 작업 공간 디렉토리 경로 (기본값: ./workspace)--needs-permission
: 명령을 실행하기 전에 권한 필요--minimize-stdout-logs
: stdout에 인쇄되는 로그 양 줄이기
웹 인터페이스 사용
- WebSocket 서버 시작:
Anthropic 클라이언트 사용:
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000
Vertex 사용:
export STATIC_FILE_BASE_URL=http://localhost:8000
python ws_server.py --port 8000 --project-id YOUR_PROJECT_ID --region YOUR_REGION
- 프론트엔드 시작 (별도의 터미널에서):
cd frontend
npm run dev
- 브라우저 열기 http://localhost:3000 방문
프로젝트 구조
cli.py
: 명령줄 인터페이스ws_server.py
: 프론트엔드 WebSocket 서버src/ii_agent/
: 핵심 에이전트 구현agents/
: 에이전트 구현llm/
: LLM 클라이언트 인터페이스tools/
: 도구 구현utils/
: 유틸리티 함수
기술 특징
II-Agent 프레임워크는 Claude 3.7 Sonnet과 같은 대규모 언어 모델의 추론 능력을 중심으로 구축되어 다기능 AI 에이전트를 구축하는 포괄적이고 강력한 방법을 제시합니다. 강력한 LLM, 풍부한 실행 능력 집합, 명확한 계획 및 성찰 메커니즘, 지능형 컨텍스트 관리 전략의 시너지 조합을 통해 II-Agent는 광범위한 복잡한 다단계 작업을 처리할 수 있습니다.
요약
II-Agent는 지능형 에이전트 기술의 중요한 발전을 나타내며, 오픈 소스 특성과 확장 가능한 설계는 빠르게 발전하는 에이전트 AI 분야에서 지속적인 연구 및 개발을 위한 견고한 기반을 제공합니다. 다분야 응용 능력과 강력한 기술 아키텍처를 통해 II-Agent는 사용자에게 기능이 풍부하고 사용하기 쉬운 지능형 어시스턴트 플랫폼을 제공합니다.