키로 AI 중급: 구조적 AI개발
Kiro란
Kiro는 구조적 AI 개발을 위한 AI 에이전트 IDE입니다. 대화로 시키면 AI가 파일을 만들고 실행하고 고치는 것을 넘어서, 구조를 세우고 검증하는 장치를 갖추고 있습니다. 오늘 아래 네 가지를 실습으로 다룹니다.
| 기능 | 하는 일 | 다루는 Lab |
|---|---|---|
| Spec | 요구사항 → 설계 → 작업으로 정리한 명세. 사람이 검토한다 | Lab 02 |
| Steering | 프로젝트에서 항상 지킬 규칙. 모든 요청에 자동 반영된다 | Lab 02 |
| MCP | 외부 도구·자료(AWS 공식 문서 등)를 AI에 연결한다 | Lab 03 |
| Hooks | 파일 저장 같은 사건에 검사를 자동 실행한다 | Lab 03 |
여기에 코드 검토·보안 점검 명령을 더해 주는 GStack(
/review·/cso)을 함께 씁니다. 도구는 바뀔 수 있지만, 오늘 익히는 “구조를 세우고 검증한다”는 방식은 어디서든 통합니다.
왜 구조적 AI 개발인가
AI에게 “만들어줘”라고 하면 코드가 나옵니다. 하지만 그 코드가 내가 원하는 것인지, 사실이 맞는지는 보장되지 않습니다. AI는 “맞는가”가 아니라 “그럴듯한가”를 기준으로 답을 이어 붙이기 때문입니다.
결과가 동작하는 모습만 보고 코드는 읽지 않는 방식을 바이브 코딩이라고 합니다. 빠르지만, 그럴듯한 오류를 걸러 줄 사람이 과정에 없습니다. 실제로 최근 이런 문제들이 보고되고 있습니다.
| 문제 | 무슨 일이 벌어지나 | 실제 조사·사례 |
|---|---|---|
| 보안 취약점 | AI가 흔한 예제 패턴(보안·예외 처리 생략)을 그대로 재현 | AI 생성 코드의 약 45%가 OWASP Top 10 취약점 포함 (Veracode 2025). 특히 XSS에 취약 |
| 비밀·개인정보 노출 | API 키·DB 접근 정보가 클라이언트 코드에 그대로 노출 | 바이브 코딩 앱 5,600개 조사에서 시크릿 400건+·PII 175건(의료·계좌 포함) 노출 (Escape.tech 2025). 인증 헤더 한 줄만 지워도 전체 유저 DB가 열린 앱도 있었음 |
| 환각 패키지 | AI가 없는 라이브러리 이름을 지어내고, 공격자가 그 이름을 선점해 악성 코드를 심음(슬롭스쿼팅) | 한 연구에서 AI 코드 샘플의 약 20%가 존재하지 않는 패키지명을 포함 |
공통점은 하나입니다. “동작한다”가 “안전하고 정확하다”를 뜻하지는 않는다는 것입니다. 그리고 코드를 읽지 않는 바이브 코딩에는 이걸 걸러 줄 사람이 과정에 없습니다.
구조적 AI 개발은 그 반대입니다. 만들기 전에 규칙(항상 지킬 것)과 명세(이번에 만들 것)를 먼저 정하고, AI가 만든 결과를 사람이 검증합니다. 사람의 역할이 “코드를 타이핑하는 사람”에서 “규칙을 정하고 결과를 검증하는 사람”으로 바뀝니다.
이 과정은 그 전환을 직접 겪게 합니다. 바이브로 빠르게 만들어 본 뒤, 왜 구조가 필요한지 스스로 납득하고, 구조로 다시 만들어 그 효과를 숫자로 확인합니다.
이 워크숍의 목표
이 워크숍의 목표는 바이브 코딩에서 구조적 AI 개발로 넘어가는 과정을 직접 겪는 것입니다. 손에 잡히는 결과물로 AWS 기초 개념 퀴즈 웹앱을 만들지만, 진짜 목표는 앱이 아니라 아래를 몸에 익히는 것입니다.
- 바이브 코딩으로 빠르게 만들어 보고, 그 한계를 코드 리뷰로 직접 확인합니다
- 규칙(Steering)과 명세(Spec)로 구조를 세워 같은 앱을 다시 만들고, 개선을 숫자로 확인합니다
- MCP로 문항의 사실을 검증하고, Hooks로 그 검증을 자동화합니다
이 목표를 아래 순서로 이룹니다.
| 단계 | 제목 | 내용 |
|---|---|---|
| 사전 준비 | Kiro·도구 설치 | Kiro 등록, GStack·uv 설치, MCP 준비 |
| Lab 01 | 바이브 코딩과 코드 리뷰 | 말 한마디로 앱을 만들고, 리뷰로 지적을 수집합니다 |
| Lab 02 ⭐ | 구조로 재구축 (Spec·Steering) | 지적의 원인을 이해하고, 규칙·명세로 다시 만듭니다 |
| Lab 03 | MCP 검증과 Hooks 자동화 | 공식 문서로 사실을 검증하고, 검증을 자동화합니다 |
| Lab 04 | 배포와 확장 (심화·선택) | 완성한 앱을 S3에 배포합니다 |
오늘의 한 문장
도구는 유행을 탑니다. 오늘 배우는 Kiro도, GStack도, MCP도 몇 해가 지나면 다른 이름으로 바뀔 것입니다. 하지만 도구가 바뀌어도 변하지 않는 것이 하나 있습니다. 무엇을 만들지 먼저 정하고, 만든 결과를 스스로 검증하는 태도입니다.
기술은 계속 바뀝니다. 핵심은 남습니다. 먼저 규칙과 명세로 구조를 세우고, 결과를 검증한다.
NxtCloud Workshop