jjyaoao/HelloAgents

A agent framework based on the tutorial hello-agents

HelloAgents – 모듈식 다중 에이전트 프레임워크

무엇인가요 – HelloAgents는 대규모 언어 모델(LLM)의 함수 호출 인터페이스를 통해 통신하는 다중 에이전트 애플리케이션을 구축할 수 있는 Python 라이브러리입니다. 프롬프트를 전송하고 도구 호출을 수신하며, 도구를 실행하고 결과를 피드백하는 루프를 미리 준비해 제공합니다. 또한 컨텍스트 처리, 검색 증강 생성(RAG), 지속적 메모리, 하위 에이전트, 기술, 스트리밍 출력, 관측성과 같은 선택적 기능도 제공합니다.

주요 구성 요소

  • 핵심 – SimpleAgent, ReActAgent, ReflectionAgent, PlanSolveAgent는 서로 다른 추론 패턴을 구현합니다. HelloAgentsLLM은 OpenAI 호환, Anthropic, Gemini 제공자를 추상화하며, LLM_BASE_URL에서 자동으로 적절한 어댑터를 감지합니다.
  • 도구 시스템 – ToolRegistry를 통해 도구(예: 계산기)를 등록합니다. 내장 도구에는 파일 편집, 작업 위임, 개발 로그, RAG, 메모리, GraphRAG, 권한, 회로 차단기 등이 포함됩니다.
  • 컨텍스트 엔진 – 대화 기록 관리, 토큰 예산, 자르기 처리를 수행하고 모델에 전송할 최종 페이로드를 구성합니다.
  • 검색 및 메모리 – 플러그인 가능한 벡터 스토어(Qdrant), BM25, 하이브리드 랭킹, 재랭킹, 사용자 고유 정보를 저장하는 지속적 "프로필" 스토어를 지원합니다.
  • 런타임 – 비동기 루프, 스트리밍 SSE 출력, 모델 간 예산 공유, 세션 지속성, 백그라운드 작업을 처리합니다.

시작 방법

  1. uv sync --locked 또는 pip install -r requirements.txt로 설치 (Python 3.12–3.13).
  2. 모델 ID, API 키, 기본 URL을 포함하는 .env 파일을 정의합니다.
  3. 필요한 도구를 등록하고, HelloAgentsLLM 인스턴스를 생성한 후, SimpleAgent를 인스턴스화하고 agent.run(prompt)를 호출합니다.
from hello_agents import SimpleAgent, HelloAgentsLLM, ToolRegistry
from hello_agents.tools import CalculatorTool

registry = ToolRegistry()
registry.register_tool(CalculatorTool())
with HelloAgentsLLM() as llm:
    agent = SimpleAgent("assistant", llm, tool_registry=registry)
    print(agent.run("숙박비 320원, 2박, 교통비 180원의 총 예산 계산"))

확장성 – AgentComponents를 통해 선택적 구성 요소(예: RAG 스토어, 메모리 스토어, 하위 에이전트)를 추가할 수 있습니다. 또한 다음 기능도 지원합니다:

  • 외부 도구 통합을 위한 MCP 브리지 (stdio/HTTP)
  • 도구 실행을 사전에 격리하기 위한 회로 차단기 및 권한 정책
  • TraceLogger를 통한 관측성으로 실행 추적

문서 및 예제 – 리포지토리는 설치, 신뢰성, 도구 응답 프로토콜, 컨텍스트 엔지니어링, RAG, GraphRAG, 메모리, 하위 에이전트, 스트리밍 등 완전한 문서 계층과 풍부한 examples/ 폴더를 제공합니다. 단순한 비동기 에이전트 데모부터 완전한 여행 어시스턴트 애플리케이션까지 각 기능을 시연합니다.

커뮤니티 및 버전

  • 주요 브랜치 두 개: learn_version (Datawhale 튜토리얼과 동기화) 및 현재의 v1.0.1 릴리스.
  • Go 및 TypeScript로의 커뮤니티 포트 링크가 제공됩니다.
  • CC BY-NC-SA 4.0 라이선스(비상업적 사용); 상업적 사용은 허가가 필요합니다.

대상 사용자 – 도구 사용, 검색, 메모리 기능을 갖춘 LLM 기반 에이전트를, 모든 것을 직접 연결하지 않고도 즉시 사용 가능하면서도 고도로 구성 가능한 프레임워크로 구축하고자 하는 개발자에게 적합합니다.

관련

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