yologdev/yoagent

The agent loop for Rust — stream from 7 LLM protocols, run tools, loop until done.

해결하는 문제

yoagent는 Rust에서 AI 에이전트를 구축하기 위한 전용 프레임워크입니다. 특히 "에이전트 루프" — LLM에 프롬프트를 보내 응답을 스트리밍하고 도구를 실행한 후 최종 답변에 도달할 때까지 반복하는 과정 — 에 집중합니다. 일반적인 LLM 프레임워크와 달리 벡터 스토어나 RAG 파이프라인을 포함하지 않고, 프로덕션 환경에서 도구 호출 에이전트를 실행하기 위해 필요한 기계적 요소에만 집중합니다.

작동 방식

프로젝트의 핵심은 LLM과 도구 실행 환경 간의 상호작용을 관리하는 상태 없는 agent_loop() 함수입니다. 기록과 큐를 관리하기 위한 선택적 Agent 래퍼도 제공됩니다. 프레임워크는 Anthropic, OpenAI, Gemini, Bedrock 등을 포함한 7개의 네이티브 와이어 프로토콜을 지원하여, 사고 예산과 프롬프트 캐시 브레이크포인트와 같은 프로바이더 고유 기능을 유지합니다.

주요 아키텍처 특징:

  • 세션 트리: 기록은 리스트가 아니라 트리로 관리되어 사용자가 대화 턴을 분기하거나 체크포인트를 설정하거나 과거 턴을 탐색할 수 있습니다.
  • 확장 기능: 단일 플러그인 계약을 통해 개발자는 도구 호출과 결과를 게이트, 수정, 또는 마스킹하고 예산을 강제할 수 있습니다.
  • 서브에이전트: 자식 루프에 작업을 위임할 수 있으며, 각각 고유의 모델과 도구를 가질 수 있습니다.

대상 사용자

일반적인 LLM 오케스트레이션 계층의 부담 없이 견고하고 프로덕션 준비 완료된 도구 호출 루프가 필요한 Rust 개발자.

주요 특징

  • 네이티브 프로토콜 지원: 단일 OpenAI 호환 쉴이 아닌 7개의 네이티브 프로토콜을 구현.
  • 트리 기반 기록: 기존 분기 구조를 파괴하지 않고 이전 턴을 편집하거나 분기할 수 있음.
  • 오프라인 테스트: API 키 없이 멀티턴 대화를 스크립트로 작성할 수 있는 MockProvider 포함.
  • uma Wasm 지원: wasm32-unknown-unknown을 지원하여 Cloudflare Workers와 같은 환경에 배포 가능.
  • 내장 도구: bash, 파일 시스템 작업, 검색을 위한 네이티브 도구 포함.
  • 기록 가능한 실행: GASP 리포지토리에 추가 전용 의미적 이벤트 로그로 실행 기록 가능.

관련

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