🧑🏻💻 Ep.13 | AI와 함께 시스템을 설계한다는 것
"이 서비스를 MSA로 전환하면 어떨까?" AI에게 물어봤습니다.
5분 만에 서비스 분리 방안, 통신 방식, 데이터 동기화 전략까지 나왔습니다.
깔끔합니다. 그럴듯합니다. 그런데 이걸 그대로 따라가도 되는 걸까.
AI는 설계안을 만들어줍니다. 하지만 그 설계가 우리 상황에 맞는지는 말해주지 않습니다.
1. AI에게 설계를 물어보면 일어나는 일
AI에게 아키텍처를 물어보면 교과서적으로 좋은 답이 나옵니다. 이벤트 드리븐, CQRS, 서킷 브레이커. 이런 패턴을 적절히 조합해서 제안합니다.
문제는 이 답에 우리 팀의 상황이 빠져 있다는 것입니다.
✔️ 운영 인력이 2명인데 마이크로서비스 10개를 제안합니다.
✔️ 일 트래픽이 100건인데 Kafka를 넣으라고 합니다.
✔️ DB를 분리하라고 하는데 현재 조인 쿼리가 200개입니다.
AI는 일반적으로 좋은 설계를 제안합니다. 지금 우리에게 좋은 설계는 다릅니다.
2. AI가 잘하는 설계, 못하는 설계
명확하게 구분됩니다.
AI가 잘하는 것
✔️ 특정 패턴의 구현 방법 설명
✔️ 기술 스택 비교 (Redis vs Memcached, Kafka vs RabbitMQ)
✔️ 설계 문서 초안 작성
✔️ 다이어그램 생성
AI가 못하는 것
✔️ "지금 이 팀에 MSA가 맞는가?" 판단
✔️ 운영 비용과 개발 복잡도 사이의 트레이드오프
✔️ 조직 구조와 서비스 경계의 정합
✔️ 장기적인 기술 부채 예측
앞의 것은 지식입니다. 뒤의 것은 판단입니다. AI는 지식을 빠르게 가져다줍니다. 판단은 맥락을 가진 사람이 해야 합니다.
3. 요구사항을 제약 조건으로 바꾸는 일
설계의 시작은 "뭘 만들까"가 아니라 "어떤 조건 안에서 만들어야 하는가"입니다.
✔️ 응답 시간 200ms 이내
✔️ 동시 사용자 1만 명
✔️ 99.9% 가용성
✔️ 운영 인력 2명
이 제약 조건이 정해지면 선택지가 좁아집니다. 선택지가 좁아져야 설계가 됩니다. AI에게 "좋은 아키텍처를 설계해줘"라고 말하면 범위가 없습니다. "이 제약 조건 안에서 가능한 아키텍처를 비교해줘"라고 말하면 쓸 수 있는 답이 나옵니다.
제약 조건을 정의하는 건 사람의 일입니다. 제약 안에서 선택지를 비교하는 건 AI가 빠릅니다.
4. AI와 함께 설계하는 방법
AI를 설계자가 아니라 토론 상대로 쓰면 효과가 좋습니다.
"이 구조의 약점은 뭐야?"
"트래픽이 10배 늘면 어디가 먼저 터져?"
"이 방식 대신 이렇게 하면 뭐가 달라져?"
이런 질문을 던지면 AI가 다양한 관점을 제시합니다.
사람 혼자 생각하면 놓치기 쉬운 지점을 AI가 짚어줍니다.
설계 미팅에서 동료와 화이트보드 앞에서 토론하듯, AI와 설계를 두고 대화하세요.
단, AI의 답을 결론으로 받아들이면 안 됩니다. AI는 반론을 제기하지 반박하지 않습니다. "이 방식이 안 되는 이유를 찾아줘"라고 시켜야 약점을 말해줍니다.
5. 설계 문서를 AI와 함께 작성하기
설계를 머릿속에만 두면 팀이 공유할 수 없습니다.
문서로 남겨야 합니다. 이 작업에서 AI가 크게 도움이 됩니다.
✔️ 아키텍처 결정 기록(ADR) 초안 작성
✔️ 시퀀스 다이어그램 생성
✔️ 컴포넌트 간 데이터 흐름 정리
✔️ 기술 스택 선택의 근거 비교표
사람이 판단하고, AI가 문서화합니다.
"왜 이 방식을 선택했는지"는 사람이 말해야 합니다. 그 내용을 구조화된 문서로 만드는 건 AI가 빠릅니다. 두 역할을 섞지 않는 게 핵심입니다.
6. 설계를 리뷰하는 시각
코드 리뷰와 마찬가지로 설계 리뷰도 필요합니다. AI가 설계안을 만들어줬다면 그 리뷰는 더 꼼꼼해야 합니다.
체크해야 할 것이 있습니다.
✔️ 제약 조건을 실제로 만족하는가
✔️ 운영 복잡도를 감당할 수 있는가
✔️ 팀의 기술 수준에 맞는가
✔️ 장애 시나리오가 고려되어 있는가
AI가 만든 설계는 이론적으로 깔끔한 경우가 많습니다. 하지만 운영 현실과 이론 사이에는 항상 간극이 있습니다. 그 간극을 메우는 건 시스템을 운영해본 사람의 경험입니다.
7. 설계 감각은 어디서 오는가
설계를 잘하는 사람에게는 공통점이 있습니다. 장애를 겪어봤고, 트레이드오프를 직접 선택해봤고, 그 결과를 운영하며 지켜본 사람입니다.
이 경험은 AI가 대신 쌓아줄 수 없습니다. 하지만 AI가 경험의 밀도를 높여줄 수는 있습니다. 더 많은 선택지를 빠르게 비교하고, 더 많은 시나리오를 시뮬레이션해볼 수 있으니까요.
트레이드오프를 판단하고 제약 조건을 정의하는 건 사람의 몫입니다. AI는 그 판단을 더 빠르게, 더 넓게 할 수 있도록 도와주는 도구입니다.
🌱 시스템 설계를 실전으로 배우는 곳, 루퍼스
교과서의 설계와 운영의 설계는 다릅니다.
루퍼스 Loop:PAK에서는 시스템 설계, Kafka, 대규모 트래픽 처리 같은 주제를 실전 기반으로 다룹니다.
AI 시대에도 결국 중요한 건 생각하는 힘과 성장하는 환경이라고 믿습니다.
루퍼스에는 성장에 진심인 750+명의 크루가 함께하고 있습니다. 현업에서 부딪히는 고민과 경험을 나누며 함께 성장하는 크루들의 이야기. 전액 기부 강의 그리고 다양한 오프라인 네트워킹까지! 루퍼스는 개발자를 위한 지속 가능한 성장을 만들어 갑니다.
📢 LOOPERS의 소식이 궁금하다면?
Share article