[reinvent 2024] Amazon Q Developer Agents를 활용한 소프트웨어 개발 혁신
Summary
기존 AI Assistant는 주로 코드 생성에 사람의 세밀한 지도가 필요했지만, Amazon Q Developer는 최소한의 개입으로 다단계 작업을 수행할 수 있는 Amazon Q Developer Agent 기능을 제공합니다. 이 에이전트는 코드 생성뿐만 아니라 애플리케이션 기능 개발, 자동 코드 리뷰, 유닛 테스트, 문서 생성 등 복잡한 작업을 해결할 수 있습니다. 이번 세션에서는 이 새로운 기능이 개발자가 계획부터 구현까지의 과정을 얼마나 빠르게 도와주는지와, DTCC가 Amazon Q를 활용해 개발 프로세스를 최적화한 사례를 소개합니다.
리인벤트 2024 테크 블로그의 더 많은 글이 보고 싶다면?
Overview
들어가며
이번 세션은 AWS re:Invent에서 진행된 “Amazon Q Developer Agents를 활용한 소프트웨어 개발 혁신”에 관한 발표로, AWS의 AI 기반 도구인 Amazon Q Developer와 그 에이전트를 소개하고, 이를 활용한 개발 효율 향상 사례와 미래 전망에 대해 다룹니다.
서비스가 개발자들의 반복 작업 부담을 덜어주고, 코드 작성부터 테스트, 문서화, 배포까지 전체 개발 생애주기를 혁신하는 방식을 구체적으로 다룹니다. 또한 DTCC 사례 연구를 통해 Q Developer 도입의 실제 효과를 입증하며, 다양한 산업에서 이 도구가 어떻게 활용될 수 있는지에 대해 설명합니다.
AWS 파트너사 솔루션 아키텍트(SA)로서, Q Developer의 AI 기반 생산성 도구가 개발 환경에 가져올 변화와 구체적인 적용 방법을 배우고자 했습니다. 특히, 반복 작업을 자동화하고 개발자들의 핵심 작업에 집중할 수 있게 하는 기능들이 고객들에게 제공할 가치를 예측해 보고 싶었습니다. 또한, ROI 검증 및 성공적인 도구 도입 전략을 통해 고객사에게 보다 효과적으로 솔루션을 제안할 방법을 배우길 기대하며 세션을 듣기로 결정했던것 같습니다.
About Amazon Q Developer
Amazon Q Developer는 생성형 AI 기술을 기반으로 소프트웨어 개발 생애 주기(SDLC)를 지원하는 시스템으로, 주요 기능은 아래와 같습니다.
- 코드 생성 및 리팩토링
- 테스트 및 운영 관리
- 실시간 제안 및 코멘트 제공
개발자들은 과중한 작업량으로 중요한 업무에 집중하기 어려운 경우가 많은데, 이 서비스를 활용하면 반복적이고 비차별적인 작업을 제거하여 생산성을 높이고, 소프트웨어 개발을 개선할 수 있는 생성형 AI 기반 시스템이라고 합니다.
UseCase : DTCC
DTCC는 미국의 중앙 증권 예탁원으로, 매년 수십 조 달러 규모의 거래를 처리하는 기업입니다. 이들은 보안, 확장성, 성능, 안정성을 핵심적인 가치로 두고 있습니다.
DTCC가 AI 도구를 도입하려는 이유는 크게 3가지 였습니다.
- 고객 경험 개선: 고객들에게 더 나은 서비스를 제공하고, 요청 사항을 신속하고 정확하게 처리하기 위해 AI를 활용하려는 것입니다.
- 생산성 최적화: 개발자가 더 빠르고 효율적으로 작업할 수 있도록 지원해, 전체 업무 프로세스를 개선하려고 합니다.
- AI 연구 및 개발 촉진: 회사 내부에서 AI 기술의 활용도를 높이고, 더 발전된 AI 기술을 개발하는 데 도움을 주기 위해 도구를 도입하려고 합니다.
하지만 AI 서비스를 도입하려면 해결해야 할 몇 가지 난관이 있었습니다.
- 새로운 서비스에 대한 내부 회의론:
- 일부 임원이나 팀에서는 “정말로 이 서비스가 유용할까?”라는 의구심을 가졌습니다.
- 특히, 이미 잘 작동하고 있는 기존 시스템을 대체하거나 새롭게 도입하는 것이 위험할 수도 있다는 걱정이 있었습니다.
- ROI(투자 대비 수익) 검증 필요성:
- 새로운 서비스를 도입하면 비용(서비스 구입, 교육, 인프라 등)이 발생하기 때문에, 이 서비스가 실제로 시간이나 돈을 절약하게 해줄지 입증해야 했습니다.
- “비용 대비 이익이 정말로 클까?”라는 질문에 답할 필요가 있었습니다.
- 초기 결과가 기대에 미치지 못할 가능성:
- 파일럿 테스트 단계에서 결과가 충분히 긍정적이지 않으면, 서비스 도입이 실패로 간주될 가능성이 있었습니다.
- 새로운 기술은 초기에 문제나 한계점이 드러날 수 있기에, 초반 성과를 중요했습니다.
이러한 난관을 DTCC는 Amazon Q Developer를 통해 해결할 수 있었습니다.
1. 내부 회의론 극복
Amazon Q Developer의 보안 및 기능 우수성:
- 여러 개발 도구를 비교 평가한 결과, Amazon Q Developer가 보안, 개인정보 보호, 기능 지원 측면에서 DTCC의 엄격한 요구를 충족함을 입증하였습니다.
- 특히, Amazon Q Developer는 코드 데이터 외부 공유 차단, 텔레메트리 데이터 통제 기능, Java 변환 기능(Java 8 → Java 17) 같은 DTCC 맞춤형 요구사항을 지원하여 신뢰를 확보할 수 있었습니다.
2. ROI 검증
Amazon Q Developer 기반의 파일럿 프로그램:
- 17주간 파일럿을 통해 Amazon Q Developer 도입의 효과를 데이터로 입증했습니다.
- 주요 성과:
- 개발 처리량 40% 증가: 개발 작업 시간이 10시간에서 6시간으로 단축.
- 코드 결함 30% 감소: 품질 향상과 안정성을 동시에 달성.
- 개발 시간 단축으로 연간 15만~30만 시간의 추가 생산성 확보.
3. 초기 결과 미흡 우려 극복
구체적인 파일럿 설계:
- 다양한 프로그래밍 언어와 IDE를 대표하는 팀에 Amazon Q Developer를 제공하여 조직 전반에서 유효성을 검증했습니다.
개발자 만족도 향상:
- Amazon Q Developer는 실시간 코드 제안, 복잡한 코드 이해 지원, 유닛 테스트 자동화 등 기능으로 개발자들의 업무를 단순화하고 시간 소모를 줄였습니다.
- 실제 사용자로부터 “Q Developer가 내 삶을 바꾸었다”는 긍정적 피드백 확보할 수 있었습니다.확장하기로 결정하였으며, 생산성 증대와 품질 안정성을 통해 AI 도구의 실질적인 가치를 입증하였고, 조직 내 신뢰와 기대를 동시에 확보 할 수 있었다고 합니다.
Amazon Q Developer Agent (QDA)
Newly Announced in re:Invent 2024
QDA는 코드 작성, 테스트, 배포, 문서화까지 여러 작업을 자동화하여 개발자의 업무를 크게 간소화시킬 수 있는 서비스입니다. 반복적이고 시간이 많이 걸리는 작업(예: 유닛 테스트 작성, 코드 리뷰)을 대체함으로써 개발자는 더 중요한 문제에 집중할 수 있습니다.
한 번의 명령문으로 여러 단계의 작업을 처리할 수 있는데, 예를 들어 새로운 기능 요청이 들어오면 코드를 작성하고, 테스트와 문서화까지 처리한 후 결과를 제공합니다. QDA는 팀 간 지식 공유를 편리하게 해주며, 새로운 개발자가 기존 코드베이스를 이해하고 적응하는 시간을 단축합니다.
또한, 코드 검토를 통해 버그나 오류가 있는 부분을 잡아내고 수정을 하여 적용까지 할 수도 있습니다. VScode는 물론 GitLab에서도 쉽게 사용할 수 있습니다.
결론
Amazon Q Developer와 에이전트의 강력한 기능은 개발자의 반복 작업을 줄이고, 생산성과 품질을 동시에 향상시키는 것을 목표로 합니다. DTCC 사례를 통해 Q Developer가 실제 환경에서 검증된 도구임을 확인했으며, 코드 작성, 테스트, 문서화, 리뷰를 자동화하는 AI 기반 도구의 잠재력을 엿볼 수 있었습니다. 특히, AI 에이전트의 협업과 지속적인 학습이 개발 프로세스 혁신에 중요한 역할을 한다는 점이 돋보였습니다.
AI 기술이 개발자를 돕는 방식과 그 실제 효과를 구체적으로 배울 수 있는 유익한 시간이었습니다. Q Developer의 Agent는 저도 한 번 꼭 사용해보고 싶다는 생각이 들게 해주는 세션이었습니다.