AI Briefing

모든 환경을 위한 하나의 에이전트: Kiro 에이전트 하네스를 구축한 방법 (20분 읽기)

·2026.08.04 09:00

Kiro가 IDE·CLI·웹의 분리된 agent를 하나의 harness로 통합했다.

Kiro는 노트북, 클라우드 sandbox, 모바일, Slack 등 개발자가 사용하는 모든 환경에서 하나의 연속적인 agent 세션을 제공하기 위해 IDE·CLI·웹의 agent harness를 통합했다.

기존에는 각 클라이언트가 별도 harness를 운영했다. IDE는 TypeScript, CLI는 Rust, 웹은 Python으로 구현됐으며 세션 저장 방식, 도구 세트, 설정 모델이 서로 달랐다.

이로 인해 권한 시스템과 명령어 매칭 방식도 호환되지 않았다. CLI는 정규식 기반의 allowedCommands·deniedCommands를 사용한 반면, IDE는 trustedCommands에 접두사 매칭과 별도의 denylist substring 매칭을 적용했다. Compaction, sub-agent 컨텍스트 공유, custom agent 동작도 클라이언트마다 달랐다.

기능 역시 분리됐다.

  • IDE에만 spec-driven development와 powers가 제공됨
  • CLI에만 plan mode와 code intelligence가 제공됨
  • 새로운 기능과 버그 수정이 세 개의 코드베이스에서 반복됨

클라이언트 간 동작 계약만 맞추는 방안도 검토했지만, 기능이 추가될 때마다 사양 작성과 세 가지 구현, 동작 일치 검증이 필요했다. Kiro는 웹 공개를 앞두고 중복 비용을 줄이고 모든 클라이언트에 동일한 기능을 제공하기 위해 단일 agent harness를 구축하기로 결정했다.

새 harness는 각 클라이언트에 라이브러리로 컴파일하는 대신 standalone server process로 설계됐다. 이를 통해 클라이언트가 내부 메서드에 직접 의존하거나 자체 로직을 덧붙이는 문제를 줄이고, 다양한 표면과 실행 환경에서 공통 agent 동작을 유지하는 기반을 마련했다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.