하네스 개요
하네스를 사용하면 Agent는 작업의 지속성, 가시성, 조종 가능성을 유지하면서 장기적이고 복잡한 목표를 추구할 수 있습니다. 재시도 및 중단 시 진행 상황을 유지하는 동시에 사람과 다른 시스템에 진행 상황을 검사하고, 컨텍스트를 추가하고, 작업을 승인하고, Agent를 리디렉션하거나 중지할 수 있는 방법을 제공합니다.
Mastra에서 하네스는 단일 중단 없이 실행되는 Agent를 관리하기 위한 기능 세트를 나타냅니다. 이러한 기능을 개별적으로 채택하거나 필요에 따라 결합할 수 있습니다.
AgentController는 대화형 Agent 애플리케이션을 위해 설계된 하네스입니다. 기본 Agent 루프를 확장해 사용자나 작업별 격리 세션, 지속되는 스레드와 상태, 전환 가능한 모드와 Model, Tool 권한과 승인, 하위 Agent 오케스트레이션, 이벤트 및 표시 상태 스트림을 제공합니다.
Agent 하네스는 시간이 지나도 작업이 계속되는 모든 곳에 유용합니다. 일반적인 예로는 CI 및 검토를 통해 변경 사항을 전달하는 코딩 Agent, 많은 작업을 병렬로 조정하는 소프트웨어 팩토리, 사고 발생에 따라 적응하는 SRE Agent, 계정, 신호 및 대화 변경에 응답하는 시장 출시 Agent가 있습니다.
하네스를 사용해야 하는 경우하네스를 사용해야 하는 경우에 대한 직접 링크
Agent에게 필요한 사항에 따라 시작점을 선택하세요. 하나의 기능 또는 여러 기능을 사용할 수 있습니다.
| 원하는 작업 | 시작할 위치 | 이유 |
|---|---|---|
| 클라이언트 연결이 끊기거나 서버가 다시 시작되어도 실행 가능한 상태 유지 | Durable Agents | 실행 상태를 유지하고 클라이언트가 스트림에 다시 연결할 수 있게 합니다. |
| 느린 Tool, Workflow 또는 하위 Agent를 차단 없이 실행 | 백그라운드 작업 | 작업을 비동기적으로 완료하고 결과를 Agent에 반환합니다. |
| 목표에 도달할 때까지 Agent가 계속 작업하도록 유지 | 목표 | 스레드 범위 목표가 완료되거나 실행 예산에 도달할 때까지 평가합니다. |
| 반복되는 시간에 자동으로 작업 시작 | 일정 | 격리된 실행을 시작하거나 cron 일정에 따라 기존 스레드에 Prompt를 보냅니다. |
| 컨텍스트 추가, 활성 작업 리디렉션 또는 유휴 스레드 깨우기 | 신호 | 지금 입력을 전달하거나 다음 차례를 위해 보류합니다. |
| GitHub, Slack, 지속적 통합 또는 기타 외부 시스템의 변경 사항에 대응 | 신호 Provider | 구독을 추적하고 일치하는 이벤트를 Agent 스레드에 전달합니다. |
| 세션, 모드, 상태, 승인 및 이벤트를 사용해 대화형 제품 구축 | AgentController | 공유 Agent 런타임을 중심으로 격리된 세션을 호스팅합니다. |
| 사용자가 실행을 조종하고 후속 작업을 대기열에 추가하며 대화형 실행을 중지하도록 허용 | AgentController | 각 세션을 통해 실행 제어 기능을 제공합니다. |