에이전트 루프를 직접 짜지 않고도 프로덕션 제어를 얻는 방법
에이전트가 어떤 결정을 내렸는지, 어디서 멈췄는지, 토큰을 얼마나 썼는지 한눈에 파악할 수 있는 장면을 상상해 보세요. 이 저장소는 그런 통찰력을 코드 몇 줄로 구현할 수 있게 해 줍니다. 쉽게 말해, AI 에이전트를 실행하고 제어하는 데 필요한 모든 기능을 하나로 묶은 오픈소스 도구 모음입니다.
완성형 에이전트와 커스텀 루프의 선택지
이 저장소는 두 가지 레벨의 도구를 제공합니다. 먼저 create_harness() 함수를 호출하면 메모리, 세션, 컨텍스트 관리가 최적화된 에이전트가 즉시 생성됩니다. 이는 아이디어를 프로덕션으로 옮기는 데 필요한 기본 설정을 이미 갖추고 있어 빠르게 시작할 수 있습니다. 반면, 기본값이 부족하거나 특정 로직이 필요할 때는 Python과 TypeScript SDK를 사용해 에이전트 루프, 도구, 모델 제공자, 메모리를 직접 구성할 수 있습니다. 이 구조 덕분에 초기 프로토타이핑부터 복잡한 커스텀 에이전트 구축까지 하나의 생태계 안에서 처리할 수 있습니다.
제어와 가시성을 위한 내장 기능
에이전트가 실행되는 동안 모든 결정 과정을 추적하는 트레이싱 기능이 기본적으로 활성화되어 있습니다. 이를 통해 각 단계에서 어떤 일이 일어나는지 기록하고, 검증하거나, 방향을 수정하는 훅을 삽입할 수 있습니다. 또한 가드레일 기능이 에러가 실행되기 전에 이를 잡아내고, 스티어링 핸들러를 통해 에이전트가 스스로 실수를 수정하도록 유도합니다. 이러한 기능들은 에이전트가 조용히 실패하는 것을 방지하고, 신뢰할 수 있는 결과를 도출하는 데 기여합니다.
모델과 클라우드에 구애받지 않는 유연성
Amazon Bedrock, Anthropic, OpenAI, Gemini 등 주요 모델 제공자를 1급 지원으로 다루며, Ollama나 커스텀 제공자도 연결할 수 있습니다. 특정 클라우드나 모델에 종속되지 않으므로, 규모가 커질 때 백엔드를 교체해도 기존 코드는 그대로 유지됩니다. MCP(모델 컨텍스트 프로토콜) 서버와 스트리밍, 다중 에이전트 패턴, 구조화된 출력도 내장되어 있어 외부 도구와의 연동이나 실시간 응답 처리가 용이합니다.
적용 전 확인해야 할 사항
Python SDK는 3.10 이상, TypeScript SDK는 Node.js 22 이상의 ESM 프로젝트 환경이 필요합니다. TypeScript 사용 시에는 기본적으로 Amazon Bedrock을 사용하므로 AWS 자격 증명을 설정하거나 다른 모델을 명시적으로 전달해야 합니다. 이 프로젝트는 Apache License 2.0으로 라이선스가 부여되어 있어 상업적 사용이 가능합니다. 복잡한 에이전트 시스템을 구축할 계획이라면, 제공되는 문서와 예제를 통해 자신의 워크플로우에 맞는 구성 요소를 선택하는 것이 중요합니다.