본문 바로가기
개발2026년 9월 7일17분 읽기

Microsoft Agent Framework·OpenClaw 공개 — 오픈소스 셀프호스트 에이전트 경쟁 신호탄

YS
김영삼
조회 9
Microsoft Agent Framework·OpenClaw 공개 — 오픈소스 셀프호스트 에이전트 경쟁 신호탄

Microsoft가 Build 2026에서 Microsoft Agent Framework와 오픈소스·셀프호스트 에이전트 프레임워크 OpenClaw를 공개했다. Agent Harness, Hosted Agents, 그리고 코드 실행형 에이전트 패턴인 CodeAct 지원이 함께 발표됐다.

핵심은 두 가지다. 하나, 에이전트를 남의 클라우드에만 묶지 않고 내 인프라에서 돌리는 셀프호스트를 정식으로 밀기 시작했다는 것. 둘, "툴을 하나씩 호출"하는 방식 대신 에이전트가 코드를 짜서 실행하는 CodeAct를 1급 시민으로 올렸다는 것. 개발자 입장에서 뭐가 달라지는지 실무 관점으로 뜯어본다.

솔직히 말하면, 에이전트 프레임워크 발표는 이제 좀 식상했다. 다들 SDK 하나씩 들고 나오니까. 그런데 이번 발표에서 눈길이 간 건 이름값(Agent Framework)보다 OpenClaw 쪽이었다. 오픈소스에다 셀프호스트를 전면에 내세웠다는 점, 그리고 에이전트 실행 모델로 CodeAct를 공식 지원한다는 점. 이 두 개가 붙으면 얘기가 좀 달라진다. 아래에서 하나씩 본다.

항목 발표 내용
발표 시점·자리Microsoft Build 2026
주요 제품 1Microsoft Agent Framework — 에이전트 구축·운영 프레임워크
주요 제품 2OpenClaw — 오픈소스·셀프호스트 AI 에이전트 프레임워크
Agent Harness에이전트 실행 루프·툴 연결·상태 관리를 감싸는 실행 골격
Hosted AgentsMicrosoft 관리형으로 배포·운영하는 에이전트 실행 형태
CodeAct개별 툴 호출 대신 에이전트가 코드를 생성·실행해 행동하는 패턴
개발자 핵심 포인트셀프호스트로 데이터·실행 통제권 확보 + CodeAct로 복합 작업 표현력 상승

Build 2026에서 정확히 뭐가 공개됐나

한 문장으로 요약하면, Microsoft가 에이전트 스택을 "관리형"과 "오픈소스 셀프호스트" 양쪽으로 동시에 밀기 시작했다. Microsoft Agent Framework는 에이전트를 만들고 운영하는 통합 프레임워크로, 그 실행 골격이 Agent Harness다. 그리고 이 위에서 돌아가는 에이전트를 Microsoft 인프라가 대신 굴려주는 형태가 Hosted Agents다.

여기까지는 "예상 가능한" 클라우드 벤더의 행보다. 관리형으로 진입장벽 낮추고, 자기 클라우드에 얹는 그림. 그런데 이번에 같이 나온 OpenClaw는 결이 다르다. 오픈소스이고, 셀프호스트를 대놓고 전제로 한다. 즉 "우리 클라우드에서 굴려라"가 아니라 "네 서버, 네 VPC, 심지어 네 노트북에서도 돌려라"는 쪽이다.

두 개를 같이 낸 의도는 뻔하다. 관리형은 매출로, 오픈소스는 생태계와 록인으로. LangGraph, CrewAode 같은... 아니, 정확히는 LangGraph, CrewAI, AutoGen 계열이 이미 잡고 있던 오픈소스 에이전트 진영에 대형 벤더가 정식으로 발을 담근 셈이다. 개인적으로는 이 구도가 2023~2024년의 "웹 프레임워크 난립" 초기와 비슷하게 느껴진다. 승자는 아직 안 정해졌다.

Agent Framework와 OpenClaw는 어떻게 다른가

가장 자주 나올 질문부터 답한다. 둘은 경쟁이 아니라 배포 형태의 선택지에 가깝다. Agent Framework는 Microsoft 생태계(Azure, Entra ID, 관측성 스택)와 촘촘히 붙는 통합 경험을 지향하고, OpenClaw는 그 반대편, 즉 어디서든 돌아가는 벤더 중립·셀프호스트를 지향한다. 조직의 규제·데이터 위치·운영 역량에 따라 고르면 된다.

기준 Hosted Agents (관리형) OpenClaw (셀프호스트)
운영 주체Microsoft가 실행·스케일 담당내가 내 인프라에서 운영
데이터 위치벤더 경계 안내 VPC·온프렘, 유출 표면 최소화
시작 속도빠름(인프라 신경 X)초기 셋업 부담 있음
커스터마이즈제공 범위 안에서소스까지 열려 있어 자유
비용 구조사용량 과금(운영비 포함)인프라·운영 인건비를 내가 부담
적합한 팀빠른 출시·소규모 운영 인력규제 산업·데이터 민감·플랫폼팀 보유

경험상 이 선택은 "기술"보다 "조직"의 문제인 경우가 많다. 금융·의료·공공처럼 데이터가 밖으로 못 나가는 곳이라면 셀프호스트가 사실상 강제된다. 반대로 플랫폼팀이 없는 작은 조직이 셀프호스트를 덜컥 잡으면, 정작 제품이 아니라 에이전트 런타임 운영에 사람이 갈려 나간다. 이건 문서에 안 나오는 현실이다.

CodeAct — 코드 실행형 에이전트가 왜 중요한가

CodeAct는 에이전트가 "툴을 하나 고르는" 대신 "코드를 짜서 실행"하게 하는 행동(action) 표현 방식이다. 전통적인 툴 호출(function calling)은 모델이 정해진 함수 하나를 골라 인자를 채우는 방식이다. CodeAct는 모델이 파이썬 같은 코드 블록을 생성하고, 샌드박스가 그걸 실행한 뒤 결과(표준출력·예외)를 다시 모델에 돌려준다.

왜 이게 표현력이 높냐면, 코드 한 덩이에 반복·조건·중간 변수·여러 툴의 조합을 한 번에 담을 수 있기 때문이다. "파일 100개를 열어 조건 맞는 것만 골라 합계를 내라" 같은 작업을, 툴 호출로는 수십 번 왕복해야 하지만 코드로는 한 번의 실행으로 끝낸다. 왕복이 줄면 토큰도 줄고 지연도 준다.

# CodeAct 패턴의 개념 예시 — 모델이 "코드"를 행동으로 내놓는다
# (아래는 프레임워크 API가 아니라 실행 루프의 뼈대다)

SYSTEM = '''너는 코드로 행동하는 에이전트다.
사고를 마치면 실행할 파이썬을 ```python ... ``` 블록으로 내놓아라.
사용 가능한 함수: search(q), read_file(path), http_get(url).'''

def run(task, max_steps=8):
    messages = [{"role": "system", "content": SYSTEM},
                {"role": "user", "content": task}]
    for _ in range(max_steps):
        reply = llm(messages)                 # 모델이 코드 블록을 생성
        code = extract_python_block(reply)    # ```python ... ``` 추출
        if code is None:
            return reply                      # 코드가 없으면 최종 답으로 간주
        # 핵심: 코드는 반드시 격리된 샌드박스에서 실행 (호스트와 분리)
        result = sandbox.exec(code, timeout=20)
        messages.append({"role": "assistant", "content": reply})
        # 실행 결과(표준출력/예외)를 관측값으로 되먹임
        messages.append({"role": "user",
                         "content": f"[실행결과]\n{result.stdout}\n{result.stderr}"})
    raise RuntimeError("max_steps 초과")
참고 CodeAct라는 개념 자체는 이번에 새로 발명된 게 아니다. "행동을 실행 가능한 코드로 표현한다"는 아이디어는 학계·오픈소스에서 이미 다뤄져 왔다. 이번 발표의 의미는 대형 벤더 프레임워크가 이 패턴을 정식 실행 모델로 채택했다는 데 있다. 툴 호출과 CodeAct는 배타적이지 않고, 실무에선 섞어 쓰는 게 보통이다.

단, 공짜 점심은 없다. CodeAct의 대가는 샌드박스다. 모델이 생성한 코드를 그냥 호스트에서 exec 하면 그 순간 원격 코드 실행(RCE) 취약점을 자기 손으로 심는 셈이다. 나는 이 부분이 CodeAct 도입의 진짜 난관이라고 본다. 화려한 데모 뒤에 숨은 비용이 격리 인프라거든.

셀프호스트가 개발자에게 갖는 진짜 의미

셀프호스트의 핵심 가치는 한마디로 통제권이다. 데이터가 내 경계를 안 벗어나고, 모델 엔드포인트를 내가 고르고(사내 모델이든 특정 리전 모델이든), 실행 환경과 로그를 내가 소유한다. 규제 대응, 감사(audit), 프롬프트·트레이스의 자체 보관 같은 요구는 관리형에서 늘 아쉬웠던 지점이다.

OpenClaw가 오픈소스라는 건 실무적으로 두 가지를 뜻한다. 첫째, 동작을 소스로 확인할 수 있다 — 에이전트가 툴을 어떻게 부르는지, 컨텍스트를 어떻게 자르는지 블랙박스가 아니다. 둘째, 막히면 내가 고칠 수 있다. 벤더 릴리스를 기다리지 않아도 된다. 대신 그 자유의 반대급부로 업그레이드·보안 패치·스케일링을 내가 책임진다.

# 셀프호스트 에이전트 런타임의 전형적 구성 (개념 docker-compose)
# 요지: 에이전트 코어 / 격리된 코드 실행 샌드박스 / 상태 저장소를 분리
services:
  agent-runtime:
    image: openclaw/runtime:latest      # 에이전트 실행 코어
    environment:
      - MODEL_ENDPOINT=http://llm-gateway:8080   # 모델은 내가 고른다
      - SANDBOX_URL=http://code-sandbox:9000      # 코드 실행은 외부로 위임
    depends_on: [code-sandbox, state-store]

  code-sandbox:                          # CodeAct 코드가 실제 돌아가는 격리 영역
    image: openclaw/sandbox:latest
    read_only: true                      # 파일시스템 쓰기 차단
    security_opt: ["no-new-privileges:true"]
    cap_drop: ["ALL"]                    # 리눅스 capability 전부 제거
    networks: [isolated]                 # 아웃바운드 네트워크 격리

  state-store:                           # 대화·트레이스·체크포인트 보관
    image: postgres:16
    volumes: ["agentdata:/var/lib/postgresql/data"]

networks:
  isolated: { internal: true }           # 샌드박스는 외부망 접근 불가
volumes: { agentdata: {} }

현장 교훈 셀프호스트에서 가장 많이 터지는 곳은 모델도, 프롬프트도 아니라 코드 샌드박스의 격리 설정이다. 네트워크를 안 막으면 에이전트가 내부망을 스캔하고, 파일시스템을 안 잠그면 시크릿을 읽는다. 위 예시의 cap_drop·internal·read_only 같은 기본값이 진짜 방어선이다. 데모만 보고 이걸 빼면 나중에 보안팀에게 불려간다.

Agent Harness와 Hosted Agents는 무엇을 대신 해주나

Agent Harness는 에이전트를 굴리는 "실행 골격"이다. 에이전트를 직접 짜본 사람은 안다 — 모델 호출 루프, 툴 등록과 디스패치, 대화 상태·메모리 관리, 재시도와 타임아웃, 중간 체크포인트, 관측성 훅. 이 반복되는 배관(plumbing)을 매번 새로 짜는 건 낭비다. Harness는 이걸 표준화된 골격으로 제공한다.

Hosted Agents는 그 위에서 한 발 더 나간다. 정의한 에이전트를 Microsoft가 대신 배포·확장·운영해준다. 오토스케일, 가용성, 패치 같은 인프라 걱정을 넘기는 대신 사용량 과금과 벤더 경계를 받아들이는 거래다. Harness는 "어떻게 실행할지"의 표준, Hosted Agents는 "어디서 실행할지"의 관리형 답이라고 보면 정리가 쉽다.

  • Harness가 감싸는 것: 실행 루프, 툴 연결, 상태/메모리, 재시도·타임아웃, 관측성. 즉 프레임워크의 심장부.
  • Hosted가 감싸는 것: 배포, 스케일, 가용성, 운영. 즉 인프라 부담.
  • 셀프호스트(OpenClaw): 같은 Harness 개념을 내 인프라 위에서. 운영 책임이 나에게로 넘어온다.

오픈소스 에이전트 프레임워크 경쟁 지형

이번 발표의 진짜 뉴스는 "또 하나의 SDK"가 아니라 대형 클라우드 벤더가 오픈소스 셀프호스트 진영에 정식으로 뛰어들었다는 지형 변화다. 지금 오픈소스 에이전트 판은 대략 이런 그림이다.

진영 성격 셀프호스트
OpenClaw (신규)벤더 백업 + 오픈소스, CodeAct 정식 지원전면 지원
LangGraph 계열그래프 기반 상태 머신, 세밀한 제어가능
CrewAI / AutoGen 계열멀티 에이전트 협업 추상화가능
관리형 SaaS 에이전트빠른 시작, 벤더 종속제한적/불가

개인적으로는 프레임워크 이름 경쟁보다 상호운용이 더 중요해질 거라 본다. 툴 연결 표준(MCP류), 트레이스 표준(OpenTelemetry의 에이전트 확장) 같은 공통분모 위에서 프레임워크는 갈아끼우는 대상이 된다. 특정 프레임워크에 도메인 로직을 너무 깊이 박지 말라는 게, 이 초기 국면에서 내가 가장 강하게 권하는 원칙이다.

실무자는 지금 무엇을 해야 하나

결론부터. 당장 프로덕션을 갈아엎을 이유는 없다. 초기 릴리스는 API가 흔들리고 문서 구멍이 있기 마련이다. 대신 지금은 평가와 격리 실험의 시기다. 아래 순서를 권한다.

  • 셀프호스트가 필요한 조직인지부터 판단: 데이터 규제·리전 제약이 없다면 관리형으로 빠르게 검증하는 게 낫다. 규제가 있다면 OpenClaw 방향이 자연스럽다.
  • CodeAct는 샌드박스부터: 코드 실행형을 쓸 거면 격리 인프라(네트워크·파일시스템·capability 차단)를 먼저 세우고, 그다음에 에이전트를 붙인다. 순서를 거꾸로 하면 사고 난다.
  • 추상화 계층을 얇게: 프레임워크 API를 코드 전체에 흩뿌리지 말고, 얇은 어댑터로 감싸라. 6개월 뒤 다른 프레임워크로 갈아탈 여지를 남긴다.
  • 관측성 먼저: 에이전트는 비결정적이라 로그·트레이스 없이는 디버깅이 불가능에 가깝다. 첫 프로토타입부터 트레이스를 남겨라.

요약하면, 이번 발표는 "에이전트를 남의 클라우드에서만 굴려야 한다"는 전제를 깬 신호다. 그게 개발자에게는 선택지가 늘었다는 뜻이고, 동시에 운영 책임을 스스로 질 준비가 됐는지 묻는 질문이기도 하다.

자주 묻는 질문

Microsoft Agent Framework와 OpenClaw 중 뭘 골라야 하나요?

데이터가 벤더 경계를 넘어도 되고 빠른 출시가 목표라면 Agent Framework의 관리형(Hosted Agents)이 편하다. 규제·데이터 민감성 때문에 실행과 데이터를 직접 통제해야 한다면 오픈소스 셀프호스트인 OpenClaw가 맞다. 둘은 대립이라기보다 배포 형태의 선택지다.

CodeAct는 기존 함수 호출(tool calling)을 대체하나요?

대체가 아니라 보완이다. 단순히 정해진 툴 하나를 부르는 작업은 함수 호출이 명확하고 안전하다. 반복·조건·여러 툴 조합이 필요한 복합 작업은 코드로 표현하는 CodeAct가 왕복을 줄여 유리하다. 실무에선 두 방식을 섞어 쓴다.

Agent Harness가 정확히 뭔가요?

에이전트를 굴리는 실행 골격이다. 모델 호출 루프, 툴 등록·디스패치, 대화 상태·메모리, 재시도·타임아웃, 관측성 훅처럼 매번 새로 짜기 번거로운 배관을 표준화해 제공한다. Harness가 "어떻게 실행할지"를, Hosted Agents가 "어디서 실행할지"를 담당한다고 보면 된다.

CodeAct를 쓰면 보안 위험이 크지 않나요?

그렇다. 모델이 생성한 코드를 실행하므로 격리가 없으면 원격 코드 실행 위험이 된다. 반드시 별도 샌드박스에서 돌리고, 네트워크 아웃바운드 차단, 파일시스템 읽기전용, 리눅스 capability 제거, 실행 타임아웃 같은 기본 방어선을 둬야 한다. 격리 인프라가 CodeAct 도입의 실제 비용이다.

지금 쓰던 LangGraph나 CrewAI를 버리고 갈아타야 하나요?

서두를 필요 없다. 초기 릴리스는 API가 변하고 생태계가 얇다. 잘 돌고 있는 스택을 급히 갈아엎기보다, 프레임워크 의존을 얇은 어댑터로 감싸 갈아탈 여지를 남겨두는 편이 현명하다. 상호운용 표준(툴 연결·트레이스)이 자리 잡으면 이동 비용은 더 낮아진다.

셀프호스트의 숨은 비용은 무엇인가요?

업그레이드, 보안 패치, 스케일링, 그리고 코드 샌드박스 운영이다. 라이선스 비용은 없어도 이걸 감당할 플랫폼 역량이 없으면 제품이 아니라 런타임 운영에 인력이 소모된다. 셀프호스트는 "공짜"가 아니라 "통제권을 인건비로 사는 것"에 가깝다.

이번 발표는 어디서 확인할 수 있나요?

Microsoft 개발자 블로그의 Build 리캡에서 공개됐다. Microsoft Agent Framework, OpenClaw, Agent Harness, Hosted Agents, CodeAct 지원이 함께 정리돼 있다. 아래 출처 링크를 참고하면 된다.

출처 Microsoft Developer Blog — Build 2026 Recap: developer.microsoft.com/blog/build-recap

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록