Kiro Subagent로 AI 코드 품질과 보안을 잡다!

by DD
4개월 전
조회수 32

AI 코딩 어시스턴트(AI Coding Assistant)의 발전으로 코드 품질과 보안에 대한 체계적인 관리가 중요해짐

Kiro의 Subagent 기능을 활용하여 코드 리뷰, QA, 문서화가 체계적으로 수행되는 개발 워크플로우(Development Workflow) 구축

Anthropic의 연구 결과를 인용, Multi-agent 시스템이 단일 Agent 대비 90.2% 더 높은 성능을 보임을 강조

각 Agent에게 명확한 역할 부여, XML 태그 활용, 예시 제공 등 프롬프트 엔지니어링(Prompt Engineering) 원칙 제시

사용자(User)가 최종 결정권을 가지는 Human-in-the-Loop(HITL) 방식을 통해 품질 보장(Quality Assurance) 및 투명성 확보

Multi-agent 시스템의 필요성

단일 Agent는 코드 작성, 리뷰, 테스트, 문서화를 모두 처리해야 하므로 컨텍스트 과부하(Context Overload), 역할 충돌, 병렬 처리 불가 등의 문제 발생 가능성이 높다. Anthropic의 연구에 따르면, Multi-agent 시스템은 Subagent마다 독립된 컨텍스트를 가지므로 더 많은 토큰을 병렬로 투입할 수 있으며, 모델 효율성 및 병렬 탐색을 통해 단일 Agent의 한계를 극복한다. 특히, 각 Agent가 전문 역할에 집중함으로써 경로 의존성(Path Dependency)을 줄여 객관적인 조사가 가능하다.

Kiro Subagent 기능 및 동작 방식

Kiro는 Multi-agent 아키텍처를 쉽게 구현할 수 있는 Subagent 기능을 제공하며, Kiro IDE와 Kiro CLI 모두에서 사용 가능하다. Subagent는 자율 실행, 실시간 진행 추적, 병렬 실행, 결과 취합, Custom Agent 활용 등의 주요 기능을 제공한다. 동작 방식은 사용자가 작업을 설명하면 Kiro가 Subagent 필요 여부를 판단하고, Agent 설정에 따른 컨텍스트와 도구 접근 권한으로 Subagent를 생성하여 자율적인 작업 수행(Autonomous Task Execution)을 지원한다. 작업 완료 시 메인 Agent로 결과를 전달하는 구조이다.

4개 Agent 시스템 기반 개발 워크플로우

본문에서는 Dev, Review, QA, Docs Agent로 구성된 4개 Agent 시스템을 제시한다. 각 Agent는 명확한 역할과 호출 시점을 가지며, Dev Agent는 코드 작성 및 Subagent 조율, Review Agent는 보안/신뢰성/가독성 검토, QA Agent는 실제 시스템 테스트, Docs Agent는 문서화를 담당한다. 이러한 Agent들은 코드 변경, 마일스톤 완료, 세션 종료 시점에 호출되며, 프롬프트 엔지니어링(Prompt Engineering) 원칙을 준수하여 각 Agent의 성능을 극대화한다.

프롬프트 엔지니어링(Prompt Engineering) 원칙

Anthropic의 프롬프트 엔지니어링 가이드에서 제시하는 원칙들을 기반으로, 각 Agent를 정의할 때 명확한 역할 부여, 명확하고 직접적인 지시, XML 태그를 활용한 구조화, 예시를 통한 기대 출력 명시, 단계별 사고 과정 유도(Chain of Thought) 등을 적용한다. 특히, S3 Public Access 금지, Dummy Data 및 Hardcoding 금지 등 구체적인 규칙(Specific Rules)을 제시하여 코드 품질과 보안을 강화한다. 또한, Subagent 호출을 통해 코드 변경(Code Change) 시마다 Review Agent를 호출하도록 설계한다.

Human-in-the-Loop(HITL) 기반 워크플로우

Kiro CLI 환경에서 Dev Agent가 변경 작업을 수행한 뒤 Review Agent를 Subagent로 호출하는 실제 워크플로우 예시를 보여준다. 이 워크플로우의 핵심은 사용자가 최종 결정권을 갖는다는 점이며, Review 결과에 대한 Go/No-Go 결정, QA 결과 확인 후 진행 여부 결정, 직접 엔드포인트 테스트 등을 통해 투명성(Transparency)을 확보한다. 이러한 Human-in-the-Loop(HITL) 방식은 코드 품질 보장 및 작업 연속성 확보에 기여한다.

Kiro Subagent 를 활용한 구조화된 AI 개발 워크플로우 구축