Microsoft Agent Framework Harness는 모델 호출 클라이언트 위에 함수 호출 루프, 계획, 메모리, 컨텍스트 관리, 승인 정책, 텔레메트리를 얹어 주는 에이전트 실행 하네스다. Python과 .NET에서 사용할 수 있으며, 장기 실행 업무 자동화 에이전트를 직접 바닥부터 조립하지 않게 하는 것이 목표다.
포함되는 기능
| 기능 | 설명 |
|---|---|
| 함수 호출 루프 | 도구 호출을 반복 실행하고 iteration limit을 둔다 |
| 히스토리 저장 | 서비스 호출마다 대화 기록을 보존해 장애 복구와 감사에 쓴다 |
| 컨텍스트 압축 | 긴 도구 호출 루프가 컨텍스트 창을 넘지 않도록 compaction을 제공한다 |
| Todo·agent mode | 계획/실행 상태와 persistent todo list를 관리한다 |
| 파일 메모리 | 세션을 넘는 노트와 산출물을 저장한다 |
| Skills | 도메인 지식을 패키지로 점진 로드한다 |
| Tool approval | 안전한 호출 자동 승인과 “다시 묻지 않기” 규칙을 지원한다 |
| Telemetry | OpenTelemetry 기반 관측성을 내장한다 |
코드 관점
.NET에서는 기존 chat client를 harness agent로 감싸는 방식이다. 사용자는 모델 클라이언트, 지침, 커스텀 도구를 제공하고, 하네스가 나머지 에이전트 실행 파이프라인을 붙인다.
AIAgent agent = chatClient.AsHarnessAgent(new HarnessAgentOptions
{
Instructions = "Plan first, then execute with tools."
});Python에서도 같은 방향의 추상화를 제공한다. 핵심은 “모델 + 도구”만 넘기는 단순 챗봇이 아니라, 장기 작업에 필요한 상태·승인·관측성을 기본값으로 묶는 것이다.
어디에 맞는가
- 사내 업무 자동화: 파일, 데이터, API 도구를 승인 게이트와 함께 다루는 에이전트
- 리서치 어시스턴트: 검색, 요약, 계획, 장기 작업을 한 루프로 묶는 에이전트
- 데이터 처리 에이전트: 폴더 단위 파일 분석, 보고서 생성, 재시도와 로그가 필요한 작업
- .NET/Python 팀: 기존 Microsoft 생태계와 OpenTelemetry 운영 체계를 유지하려는 팀
주의할 점
배터리 포함 하네스는 빠르게 시작하게 해 주지만, 조직의 보안 경계와 승인 정책을 대신 설계해 주지는 않는다. 도구 권한, 메모리 보존 범위, 자동 승인 기준, 원격 검색 사용 여부는 제품 환경에 맞게 좁혀야 한다. 특히 “안전한 호출”의 정의는 애플리케이션마다 다르므로 기본 휴리스틱을 그대로 신뢰하면 안 된다.
관련 문서
- agent-harness — AI 에이전트 성능을 결정하는 스캐폴딩 설계
- agentic-loop-tips-three-loops — 추론·도구·사람 승인 루프를 분리해서 설계하기
- long-horizon-model-safety — 장시간 자율 작업 모델을 평가하고 통제하는 방법
참고 자료
- The Microsoft Agent Framework Harness is now released — Microsoft Agent Framework Blog (2026-07-22)