Release and CI

릴리스 성능 점검

이 페이지는 2026년 5월 OpenClaw의 성능, 패키지 크기, 의존성 및 shrinkwrap 정리 작업을 뒷받침하는 근거를 담고 있습니다. 공개 블로그 게시물의 기술적 보충 자료입니다.

여기에는 두 가지 감사 결과가 통합되어 있습니다.

  • 릴리스 성능 점검: v2026.5.28부터 안정 버전 v2026.4.23까지의 GitHub Releases를 대상으로 OpenClaw Performance 워크플로, profile=smoke, 모의 공급자 경로를 사용했습니다. 대부분의 태그 행은 단일 샘플이며, v2026.5.27v2026.5.28 행에는 최신 3회 반복 릴리스 브랜치 아티팩트를 사용했습니다.
  • 이전 4월 맥락: v2026.4.1부터 v2026.5.2까지 공개된 clawgrit-reports 모의 공급자 기준선을 사용했으며, 문제가 있었던 4월 말 릴리스를 공개 성능 기준선으로 취급하지 않기 위한 용도로만 활용했습니다.
  • 설치 용량 점검: 임시 패키지에서 새로운 npm install --ignore-scripts 설치를 수행하고, 크기는 du -sk node_modules로, 패키지 인스턴스 수는 node_modules 순회로 측정했습니다.
  • npm 패키지 크기 점검: 공개된 릴리스에 대해 npm pack openclaw@<version> --dry-run --json을 실행하여 압축된 tarball 크기, 압축 해제 크기 및 파일 수를 기록했습니다.

스냅샷

성능 측정 범위: 요청된 릴리스 77개, 아티팩트가 뒷받침하는 지점 74개, 사용할 수 없는 CI 실행 3개입니다. 측정된 최신 안정 버전 지점은 v2026.5.28입니다.

5.28에서 변경된 사항

v2026.5.27v2026.5.28 사이의 정리 작업은 기능 자체를 제거하는 대신 기본 설치 그래프를 줄였습니다.

주요 수치

문제가 있었던 4월 말 행을 공개 성능 기준선으로 사용하지 마십시오. v2026.4.23v2026.4.29는 회귀 근거로 유용하지만, 14x 수준의 큰 차이는 대부분 문제가 있었던 릴리스 계열에서 회복된 정도를 나타냅니다.

블로그 서술에는 이전 4월 공개 기준선을 규모 비교에 사용하십시오. 기준선은 공개된 clawgrit-reports 모의 공급자 실행의 v2026.4.14입니다(3회 반복. 해당 실행은 진단 타임라인이 생성되지 않았다는 이유로만 실패했으므로 콜드, 웜 및 RSS 중앙값은 대략적인 규모를 파악하는 데 여전히 유용합니다). 이는 릴리스 게이트 통계가 아니라 서술을 위한 맥락으로 간주하십시오.

지표 이전 4월 기준선 v2026.5.28 변화량
콜드 에이전트 턴 9,819ms 1,908ms 80.6% 감소, 5.1배 단축
웜 에이전트 턴 7,458ms 1,870ms 74.9% 감소, 4.0배 단축
에이전트 최대 RSS 686.2MB 581.0MB 15.3% 감소

5월 점검 내에서 최신 릴리스 브랜치 행은 v2026.5.2보다 크게 개선되었습니다.

지표 v2026.5.2 v2026.5.28 변화량
콜드 에이전트 턴 3,897ms 1,908ms 51.0% 감소
웜 에이전트 턴 3,610ms 1,870ms 48.2% 감소
에이전트 최대 RSS 613.7MB 581.0MB 5.3% 감소

이전 안정 버전과 비교하면 다음과 같습니다.

지표 v2026.5.27 v2026.5.28 변화량
콜드 에이전트 턴 2,231ms 1,908ms 14.5% 감소
웜 에이전트 턴 2,226ms 1,870ms 16.0% 감소
에이전트 최대 RSS 649.0MB 581.0MB 10.5% 감소

설치 용량

지표 기준선 v2026.5.28 변화량
2026.5.22 최고점 대비 설치 크기 1,020.6MB 361.7MiB 64.6% 감소
최신 릴리스 2026.5.27 대비 설치 크기 767.1MiB 361.7MiB 52.8% 감소
월간 최고점 2026.2.26 대비 의존성 수 645 300 53.5% 감소
최신 릴리스 2026.5.27 대비 의존성 수 371 300 19.1% 감소
2026.5.22 대비 중첩된 openclaw/node_modules 911.8MB 259.7MiB 71.5% 감소
2026.5.27 대비 중첩된 openclaw/node_modules 656.1MiB 259.7MiB 60.4% 감소

npm 패키지 크기

버전 압축 tarball 압축 해제된 패키지 파일 수 참고
2026.1.30 12.8MB 33.5MB 4,607 리브랜딩 초기 패키지
2026.2.26 23.6MB 82.9MB 10,125 기능 증가
2026.3.31 43.3MB 182.6MB 21,037 패키지 크기 최고점
2026.4.29 22.9MB 74.6MB 9,309 패키지 정리 효과가 드러남
2026.5.12 23.4MB 80.1MB 12,035 주요 외부 Plugin 분리
2026.5.22 17.2MB 76.9MB 12,386 docs/assets를 패키지에서 제외
2026.5.27 17.8MB 79.0MB 12,509 이전 안정 버전 패키지
2026.5.28 17.9MB 81.0MB 9,082 최신 안정 버전 패키지

2026.5.12는 변경 로그에서 확인할 수 있는 Plugin 추출 이정표입니다. Amazon Bedrock, Bedrock Mantle, Slack, OpenShell sandbox, Anthropic Vertex, Matrix 및 WhatsApp이 핵심 의존성 경로에서 분리되어, 해당 의존성 집합은 모든 핵심 설치가 아니라 그 Plugin들과 함께 설치됩니다.

Kova 에이전트 턴 요약

4월 안정 버전 계열에는 서로 다른 두 가지 양상이 있습니다. 4월 초는 느렸지만 일반적인 범위였습니다. 4월 말에는 회귀가 급격히 심화되었습니다. v2026.5.2부터 모의 공급자 경로가 처음으로 3~5초 범위로 내려가고 제공된 점검에서 일관되게 통과하기 시작합니다.

이전에 공개된 맥락:

릴리스 Kova 콜드 턴 웜 턴 에이전트 최대 RSS
v2026.4.10 실패 11,031ms 7,962ms 679.0MB
v2026.4.12 실패 11,965ms 8,289ms 713.5MB
v2026.4.14 실패 9,819ms 7,458ms 686.2MB
v2026.4.20 실패 22,314ms 18,811ms 810.8MB
v2026.4.22 실패 9,630ms 7,459ms 743.0MB

제공된 점검:

릴리스 Kova 콜드 턴 웜 턴 에이전트 최대 RSS
v2026.4.23 실패 47,847ms 8,010ms 1,082.7MB
v2026.4.24 실패 48,264ms 25,483ms 996.0MB
v2026.4.25 실패 81,080ms 59,172ms 1,113.9MB
v2026.4.26 실패 76,771ms 54,941ms 1,140.8MB
v2026.4.27 실패 60,902ms 33,699ms 1,156.0MB
v2026.4.29 실패 94,031ms 57,334ms 3,613.7MB
v2026.5.2 통과 3,897ms 3,610ms 613.7MB
v2026.5.7 통과 3,923ms 3,693ms 654.1MB
v2026.5.12 통과 7,248ms 6,629ms 834.8MB
v2026.5.18 통과 3,301ms 2,913ms 630.3MB
v2026.5.20 통과 3,413ms 2,952ms 643.2MB
v2026.5.22 통과 4,494ms 4,093ms 654.3MB
v2026.5.26 통과 2,626ms 2,282ms 660.4MB
v2026.5.27-beta.1 통과 2,575ms 2,217ms 635.3MB
v2026.5.27 통과 2,231ms 2,226ms 649.0MB
v2026.5.28 통과 1,908ms 1,870ms 581.0MB

소스 프로브

이전 참조 17개는 해당 소스 트리에 필요한 프로브 진입점이 아직 없었으므로 소스 프로브를 건너뛰었습니다. 이러한 참조에도 에이전트 턴 지표는 존재합니다.

대표적인 소스 프로브 지점:

릴리스 기본 readyz p50 Plugin 50개 readyz p50 CLI 상태 p50 Plugin 최대 RSS
v2026.4.29 2,819ms 2,618ms 1,679ms 389.0MB
v2026.5.2 2,324ms 2,013ms 1,384ms 377.2MB
v2026.5.7 1,649ms 1,540ms 1,175ms 387.6MB
v2026.5.18 1,942ms 1,927ms 607ms 426.5MB
v2026.5.20 1,966ms 1,987ms 621ms 455.0MB
v2026.5.22 2,081ms 1,884ms 5,095ms 444.2MB
v2026.5.26 1,546ms 1,634ms 656ms 400.4MB
v2026.5.27-beta.1 1,462ms 1,548ms 548ms 394.0MB
v2026.5.27 1,491ms 1,571ms 553ms 401.5MB
v2026.5.28 1,457ms 1,474ms 623ms 386.1MB

에이전트 턴 경로가 여전히 통과했지만, v2026.5.22의 CLI 상태 급증은 이 표에서 확인할 수 있습니다. 특정 CLI 또는 Gateway 회귀를 조사할 때는 소스 프로브를 유지하십시오.

설치 용량 감사

의존성 샘플에는 월별 안정 버전 하나씩과 2026.5.22 shrinkwrap 도입 이벤트 및 최신 2026.5.28 릴리스를 사용합니다.

시점 설치된 의존성 신규 설치 OpenClaw 패키지 중첩된 openclaw/node_modules 루트 shrinkwrap Canvas 설치 동작
1월 2026.1.30 605 438.4MB 45.8MB 2.4MB 아니요 최상위 래퍼 + darwin-arm64
2월 2026.2.26 645 575.7MB 110.1MB 3.5MB 아니요 최상위 래퍼 + darwin-arm64
3월 2026.3.31 438 584.1MB 234.8MB 0MB 아니요 최상위 래퍼 + darwin-arm64
4월 2026.4.29 392 335.0MB 97.4MB 0MB 아니요 설치된 항목 없음
2026.5.22 401 1,020.6MB 1,020.4MB 911.8MB 중첩: @napi-rs/canvas 패키지 12개 모두
5월 2026.5.26 371 767.5MB 767.4MB 656.4MB 중첩: @napi-rs/canvas 패키지 12개 모두
2026.5.27 371 767.1MiB 766.9MiB 656.1MiB 중첩: @napi-rs/canvas 패키지 12개 모두
최신 2026.5.28 300 361.7MiB 361.6MiB 259.7MiB 설치된 항목 없음

Shrinkwrap 경계

2026.5.20은 루트 shrinkwrap과 대규모 중첩 OpenClaw 의존성 트리 없이 출시되었습니다. 2026.5.22에서는 루트 shrinkwrap이 도입되었으며 중첩된 openclaw/node_modules 아래에 911.8MB가 설치되었습니다. 2026.5.28은 shrinkwrap을 유지하며 중첩된 openclaw/node_modules 아래에 여전히 259.7MiB를 설치하지만, 로컬 신규 설치 감사에서는 더 이상 @napi-rs/canvas 패키지를 설치하지 않습니다.

게시된 tarball 검사를 통해 이 경계를 확인할 수 있습니다.

버전 안정 버전으로 게시됨? 루트 npm-shrinkwrap.json 참고
2026.5.20 아니요 shrinkwrap 이전의 마지막 안정 릴리스
2026.5.21 아니요 해당 없음 안정 npm 릴리스 없음
2026.5.22 shrinkwrap 도입
2026.5.23 아니요 해당 없음 안정 npm 릴리스 없음
2026.5.24 아니요 해당 없음 안정 npm 릴리스 없음
2026.5.25 아니요 해당 없음 안정 npm 릴리스 없음
2026.5.26 중첩된 의존성 트리가 여전히 존재함
2026.5.27 중첩된 의존성 트리가 여전히 존재함
2026.5.28 중첩된 의존성 트리가 훨씬 작아짐

중요한 차이점은 shrinkwrap 자체가 문제는 아니라는 것입니다. v2026.5.28에도 루트 shrinkwrap이 포함되어 출시됩니다. 문제는 npm이 대규모 중첩 OpenClaw 의존성 트리와 12개의 모든 @napi-rs/canvas 플랫폼 패키지를 실제로 배치하게 만든 패키지 구조였습니다. v2026.5.28에서는 중첩 트리가 더 작아졌으며, 로컬 감사에서 더 이상 Canvas 플랫폼 패키지가 대량으로 설치되지 않습니다.

shrinkwrap에 대한 일반적인 설명과 유지관리자 수준의 패키지 검사에 관해서는 npm shrinkwrap을 참조하세요.

공급망 관점의 해석

의존성 수는 설치 크기 지표일 뿐만 아니라 운영 보안 지표이기도 합니다. 각 패키지는 운영자가 신뢰해야 하는 유지관리자, tarball, 전이적 업데이트, 선택적 네이티브 바이너리, 설치 시 동작의 범위를 넓힙니다.

정리 방향은 다음과 같습니다.

  • 무겁고 선택적인 기능은 기본 코어 설치 외부에 유지
  • Plugin 패키지가 자체 런타임 의존성 그래프를 소유하도록 구성
  • Gateway 시작 중 런타임 패키지 관리자 복구 방지
  • 모든 플랫폼의 네이티브 패키지가 실제로 설치되지 않도록 하면서 결정론적 설치 유지
  • 패키지 승인 및 측정 경로에서 설치 스크립트 비활성화 유지
  • 게시 전에 중첩된 의존성 트리와 선택적 네이티브 의존성의 폭증 감지

관련 문서:

Was this useful?
On this page

On this page