LLM(대형 언어 모델)과 같은 기본 모델(FM)에 의한 자율 에이전트의 성장은 복잡한 다단계 문제를 해결하는 방법을 개혁했습니다. 이러한 에이전트는 고객 지원부터 소프트웨어 엔지니어링까지 다양한 작업을 수행하며 추론, 도구 사용 및 기억을 결합하는 복잡한 워크플로를 탐색합니다.
그러나 이러한 시스템의 기능과 복잡성이 증가함에 따라 관찰 가능성, 신뢰성 및 규정 준수에 대한 문제가 대두됩니다.
AgentOps가 등장하는 곳입니다. DevOps 및 MLOps를 모델로 삼았지만 FM 기반 에이전트의 수명주기를 관리하기 위해 맞춤화된 개념입니다.
AgentOps란 무엇입니까?
AgentOps는 프로덕션 환경에서 FM 기반 자율 에이전트를 설계, 배포, 모니터링 및 최적화하는 데 필요한 엔드투엔드 프로세스, 도구 및 프레임워크를 나타냅니다. 목표는 다음과 같습니다.
- 관찰 가능성: 에이전트의 실행 및 의사결정 프로세스에 대한 완전한 가시성을 제공합니다.
- 추적성: 디버깅, 최적화 및 규정 준수를 위해 에이전트 수명 주기 전반에 걸쳐 자세한 아티팩트를 캡처합니다.
- 신뢰할 수 있음: 모니터링과 강력한 워크플로를 통해 일관되고 신뢰할 수 있는 결과를 보장합니다.
AgentOps의 핵심은 엄격한 추적 및 모니터링을 유지하는 동시에 반복적인 다단계 워크플로, 도구 통합 및 적응형 메모리를 강조하여 기존 MLOps를 뛰어넘는 것입니다.
AgentOps가 해결하는 주요 과제
1. 복잡성 에이전트 시스템
자율 에이전트는 광범위한 작업 공간에서 작업을 처리하므로 모든 단계에서 결정이 필요합니다. 이러한 복잡성에는 정교한 계획 및 모니터링 메커니즘이 필요합니다.
2. 관찰 가능성 요구 사항
의료 진단이나 법률 분석 등 위험도가 높은 사용 사례에는 세분화된 추적성이 필요합니다. EU AI Act와 같은 규정을 준수하면 강력한 관찰 가능성 프레임워크의 필요성이 더욱 강조됩니다.
3. 디버깅 및 최적화
다단계 워크플로에서 오류를 식별하거나 중간 출력을 평가하는 것은 상담원의 작업을 자세히 추적하지 않으면 어렵습니다.
4. 확장성 및 비용 관리
프로덕션용 확장 에이전트는 품질 저하 없이 효율성을 보장하기 위해 지연 시간, 토큰 사용량, 운영 비용 등의 측정항목을 모니터링해야 합니다.
AgentOps 플랫폼의 핵심 기능
1. 에이전트 생성 및 사용자 정의
개발자는 구성 요소 레지스트리를 사용하여 에이전트를 구성할 수 있습니다.
- 역할: 책임을 정의합니다(예: 연구원, 기획자).
- 난간: 윤리적이고 신뢰할 수 있는 행동을 보장하기 위해 제약 조건을 설정합니다.
- 툴킷: API, 데이터베이스 또는 지식 그래프와의 통합을 활성화합니다.
에이전트는 사전 정의된 규칙을 준수하면서 특정 데이터 세트, 도구 및 프롬프트와 상호 작용하도록 구축되었습니다.
2. 관찰 가능성 및 추적
AgentOps는 자세한 실행 로그를 캡처합니다.
- 흔적: LLM 통화부터 도구 사용까지 상담원 워크플로의 모든 단계를 기록하세요.
- 범위: 추적을 검색, 임베딩 생성 또는 도구 호출과 같은 세부적인 단계로 분류합니다.
- 유물: 디버깅을 돕기 위해 중간 출력, 메모리 상태 및 프롬프트 템플릿을 추적합니다.
Langfuse 또는 Arize와 같은 관찰 도구는 이러한 추적을 시각화하는 대시보드를 제공하여 병목 현상이나 오류를 식별하는 데 도움이 됩니다.
3. 신속한 관리
신속한 엔지니어링은 에이전트 행동을 형성하는 데 중요한 역할을 합니다. 주요 기능은 다음과 같습니다:
- 버전 관리: 성능 비교를 위한 프롬프트의 반복을 추적합니다.
- 주입 감지: 프롬프트 내에서 악성 코드나 입력 오류를 식별합니다.
- 최적화: CoT(생각의 사슬) 또는 생각의 나무와 같은 기술은 추론 능력을 향상시킵니다.
4. 피드백 통합
사람의 피드백은 반복적인 개선에 여전히 중요합니다.
- 명시적 피드백: 사용자는 출력을 평가하거나 의견을 제공합니다.
- 암시적 피드백: 작업 시간이나 클릭률과 같은 지표를 분석하여 효율성을 측정합니다.
이 피드백 루프는 에이전트의 성능과 테스트에 사용되는 평가 벤치마크를 모두 개선합니다.
5. 평가 및 테스트
AgentOps 플랫폼은 다음에 대한 엄격한 테스트를 촉진합니다.
- 벤치마크: 업계 표준과 에이전트 성능을 비교하세요.
- 단계별 평가: 워크플로의 중간 단계를 평가하여 정확성을 보장합니다.
- 궤도 평가: 에이전트가 취한 의사결정 경로를 검증합니다.
6. 기억과 지식 통합
에이전트는 컨텍스트(예: 대화 기록)를 위해 단기 기억을 활용하고 과거 작업에서 얻은 통찰력을 저장하기 위해 장기 기억을 활용합니다. 이를 통해 에이전트는 시간이 지나도 일관성을 유지하면서 동적으로 적응할 수 있습니다.
7. 모니터링 및 지표
포괄적인 모니터링 트랙:
- 숨어 있음: 최적화를 위한 응답 시간을 측정합니다.
- 토큰 사용법: 비용을 통제하기 위해 리소스 소비를 모니터링합니다.
- 품질 지표: 관련성, 정확성 및 독성을 평가합니다.
이러한 측정항목은 사용자 세션, 프롬프트, 워크플로 등 여러 측면에서 시각화되어 실시간 개입이 가능합니다.
추적 가능한 유물의 분류
이 백서는 AgentOps 관찰 가능성을 뒷받침하는 아티팩트의 체계적인 분류를 소개합니다.
- 에이전트 생성 아티팩트: 역할, 목표 및 제약 조건에 대한 메타데이터입니다.
- 실행 아티팩트: 도구 호출, 하위 작업 대기열 및 추론 단계에 대한 로그입니다.
- 평가 아티팩트: 벤치마크, 피드백 루프, 점수 측정 지표.
- 추적 아티팩트: 세부적인 모니터링을 위한 세션 ID, 추적 ID 및 범위.
이 분류법은 에이전트 수명 주기 전반에 걸쳐 일관성과 명확성을 보장하므로 디버깅 및 규정 준수를 보다 쉽게 관리할 수 있습니다.
AgentOps (도구) 연습
이는 AI 에이전트를 모니터링하고 최적화하기 위해 AgentOps를 설정하고 사용하는 과정을 안내합니다.
1단계: AgentOps SDK 설치
원하는 Python 패키지 관리자를 사용하여 AgentOps를 설치합니다.
pip install agentops
2단계: AgentOps 초기화
먼저 AgentOps를 가져오고 API 키를 사용하여 초기화하세요. API 키를 다음 위치에 저장합니다. .env
보안용 파일:
# Initialize AgentOps with API Keyimport agentopsimport osfrom dotenv import load_dotenv# Load environment variablesload_dotenv()AGENTOPS_API_KEY = os.getenv("AGENTOPS_API_KEY")# Initialize the AgentOps clientagentops.init(api_key=AGENTOPS_API_KEY, default_tags=["my-first-agent"])
이 단계에서는 애플리케이션의 모든 LLM 상호 작용에 대한 관찰 가능성을 설정합니다.
3단계: 데코레이터를 사용하여 작업 기록
다음을 사용하여 특정 기능을 계측할 수 있습니다. @record_action
매개변수, 실행 시간 및 출력을 추적하는 데코레이터입니다. 예는 다음과 같습니다.
from agentops import record_action@record_action("custom-action-tracker")def is_prime(number): """Check if a number is prime.""" if number이제 함수가 AgentOps 대시보드에 기록되어 실행 시간 및 입출력 추적에 대한 지표를 제공합니다.
4단계: 지정 에이전트 추적
명명된 에이전트를 사용하는 경우
@track_agent
모든 작업과 이벤트를 특정 에이전트에 연결하는 데코레이터입니다.from agentops import track_agent@track_agent(name="math-agent")class MathAgent: def __init__(self, name): self.name = name def factorial(self, n): """Calculate factorial recursively.""" return 1 if n == 0 else n * self.factorial(n - 1)이제 이 에이전트 내의 모든 작업이나 LLM 호출이
"math-agent"
꼬리표.5단계: 다중 에이전트 지원
여러 에이전트를 사용하는 시스템의 경우 더 나은 관찰을 위해 에이전트 전체에서 이벤트를 추적할 수 있습니다. 예는 다음과 같습니다.
@track_agent(name="qa-agent")class QAAgent: def generate_response(self, prompt): return f"Responding to: {prompt}"@track_agent(name="developer-agent")class DeveloperAgent: def generate_code(self, task_description): return f"# Code to perform: {task_description}"qa_agent = QAAgent()developer_agent = DeveloperAgent()response = qa_agent.generate_response("Explain observability in AI.")code = developer_agent.generate_code("calculate Fibonacci sequence")각 통화는 AgentOps 대시보드의 해당 에이전트 추적 아래에 표시됩니다.
6단계: 세션 종료
세션 종료를 알리려면 다음을 사용하세요.
end_session
방법. 선택적으로 세션 상태(Success
또는Fail
) 및 이유.# End of sessionagentops.end_session(state="Success", reason="Completed workflow")이렇게 하면 AgentOps 대시보드에 모든 데이터가 기록되고 액세스할 수 있습니다.
7단계: AgentOps 대시보드에서 시각화
방문하다 AgentOps 대시보드 탐험하다:
- 세션 재생: 단계별 실행 추적.
- 해석학: LLM 비용, 토큰 사용량 및 대기 시간 측정항목.
- 오류 감지: 오류 또는 재귀 루프를 식별하고 디버깅합니다.
향상된 예: 재귀적 사고 감지
AgentOps는 에이전트 워크플로에서 반복 루프 감지도 지원합니다. 재귀적 감지를 사용하여 이전 예제를 확장해 보겠습니다.
게시물 AgentOps를 갖춘 자율 에이전트: AI 애플리케이션을 위한 관찰성, 추적성 및 그 이상 처음 등장한 Unite.AI.