TL;DR
- Sentry는 에이전트를 대체하지 않는 외부 런타임 실패 관리 계층으로, 네 가지 벤치마크에서 가장 강력한 런타임 개입 기준선보다 평균 37% 높은 성능을 보이고 검증된 복구에서 재사용 가능한 교훈을 학습함.
- Sentry는 잘못된 동작과 반복 루프, 작업 이탈, 근거 없는 가정을 감지하고 복구를 안내한 뒤 성공 여부를 확인함.
- 보류된 WebShop 및 Mind2Web Replay 작업에서 문맥 진화 기준선보다 평균 39% 높은 성능을 기록함.
- 기본 에이전트 대비 토큰 사용량은 1.54배이며, 다른 런타임 방식의 최대 2.44배보다 적고 SWE-bench Lite에서 작업당 31.7초, AppWorld에서 45.6초를 절약함.
- 감지된 939건의 실패 중 81.7%를 복구했으며, 검증된 소프트 복구를 유사한 실패에 재사용할 교훈으로 학습함.
Sentry란?
- Sentry는 대형 언어 모델(LLM) 에이전트를 위한 외부 런타임 실패 관리 계층임.
- 잘못된 동작을 수정하고, 에이전트가 반복 루프에 빠지거나 작업에서 벗어나거나 근거 없는 가정을 할 때 복구를 돕음.
- 고정된 조언을 제공하는 일반적인 런타임 모니터와 달리, 성공한 복구를 바탕으로 학습하고 진화함.
- 실패를 감지하고 복구를 안내한 뒤 수정이 효과가 있었는지 확인함으로써, 에이전트의 문맥을 불필요한 정보로 채우지 않고 여러 작업에서 신뢰성을 높임.
- Sentry 데모를 제공함.
주요 결과
- WebShop, AppWorld, SWE-bench Lite, Mind2Web Replay에서 가장 강력한 런타임 개입 기준선보다 평균 37% 향상됨.
- 보류된 WebShop 및 Mind2Web Replay 작업에서 가장 강력한 문맥 진화 기준선보다 평균 39% 향상됨.
- 기본 에이전트 대비 토큰 사용량은 1.54배이며, 다른 런타임 방식은 최대 2.44배임.
- SWE-bench Lite에서 작업당 31.7초, AppWorld에서 45.6초를 절약함.
- 감지된 실패 939건에서 복구율 81.7%를 기록함.
빠른 시작
설치
- Sentry 실행에는 Python 3.10 이상이 필요함.
https://github.com/nuglifeleoji/Sentry.git저장소를 복제하고 프로젝트 디렉터리로 이동한 다음 가상 환경을 만들고 활성화함.- 패키지를 편집 가능 모드로 설치하고
configs/paper.yaml을 사용해sentry-validate검증을 실행함.
에이전트 루프에 Sentry 통합
- 모델 제공자를 설정한 뒤, 완료된 각 에이전트-환경 사이클을 Sentry에 전달함.
SentryRunner.from_yaml로 설정 파일을 읽어 실행기를 만들고, 작업 목표와 환경 동작 스키마로 작업을 시작함.- 각 단계에서 단계 식별자, 추론, 원시 동작, 도구 이름과 인수, 관찰 결과를 전달하며, 파싱·스키마 유효성·환경 수락 여부도 표시함.
runner.step에 단계를 전달하고, 복구 프롬프트가 반환되면 이를 에이전트 메시지에 추가함. 마지막에는runner.finalize를 호출함.- 동작의 생성·검증·실행은 애플리케이션이 계속 담당함. 전체 수명 주기와 유효성 규칙은 통합 안내서를 참조함.
AppWorld 통합 실행
- AppWorld는 저장소에 포함된 참조 통합 환경임.
- Python 3.11 가상 환경을 만들고 활성화한 뒤
.[appworld]추가 의존성을 설치함. appworld install을 실행하고APPWORLD_ROOT를outputs/appworld-root로 설정한 다음 AppWorld 데이터를 내려받음.OPENROUTER_API_KEY를 설정하고configs/providers/openrouter.yaml을 지정해sentry run appworld를 실행함.- 환경 설정, 인증 정보, 실행 제한은 AppWorld 안내서에 설명되어 있음.
작동 방식
- 실패 감지: 최근 에이전트 단계에서 잘못된 동작과 행동 실패를 감시함.
- 하드 복구: 잘못된 동작을 필수 형식으로 다시 시도하도록 에이전트에 요청함.
- 소프트 복구: 진행 및 추론 실패에 관련 플레이북 교훈을 바탕으로 표적화된 안내를 제공함.
- 복구 검증: 이후 단계에서 에이전트가 복구하는지 확인함.
- 온라인 플레이북 학습: 검증된 소프트 복구를 여러 작업의 유사한 실패에 재사용할 수 있는 교훈으로 전환함.
추가 연구 결과
- 무조건적인 정보 노출은 성능을 해칠 수 있음: 통제 실험에서 실패별 지식을 모두 에이전트 문맥에 유지하면 성능이 낮아짐. 이에 따라 Sentry는 일치하는 실패가 발생했을 때만 복구 교훈을 제공함.
- 검색은 실패 유형과 일치해야 함: 필터링하지 않은 검색과 포괄적인 실패 유형 매칭은 세분화된 실패 라벨을 사용하는 검색보다 성능이 낮음. 이에 따라 Sentry는 라벨 기반 검색을 사용함.
- 검증된 교훈은 전이됨: 검증된 복구에서 학습한 교훈은 보지 못한 작업의 성능을 높이며, 학습을 계속하면 추가 향상이 나타남.
- 작업 수준 학습과 실패 수준 학습은 상호 보완적임: Sentry와 문맥 진화를 결합했을 때 가장 좋은 결과를 얻음. 두 학습 방식은 서로 다른 필요를 다루며 효과가 더해짐.
출시
- 현재 저장소에는 프로젝트 개요와 논문이 포함되어 있음.
- 코드와 문서를 마무리하고 있으며, 2~3주 내 전체 버전을 공개할 계획임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요