Amazon Q Developer에서 명령줄 인터페이스(CLI) 기반의 AI 코딩 도우미를 발표하였다. Q Developer는 CLI에서 최신 에이전트 환경을 제공하여 사용자와 함께 작동하고 피드백에 따라 보다 동적인 대화형 코딩 환경을 제공하며, 이를 테스트를 해보고자 한다.
Amazon Q Developer는 AI 기반의 코드 생성, 문서 이해, 디버깅, 리팩토링, 질문 응답 기능을 제공하는 코드 어시스턴트이다. 기존의 ChatGPT나 GitHub Copilot처럼 코드 자동완성 기능을 제공하지만, AWS 환경에 특화되어 있다.
코드 자동 생성 및 추천
문서 기반 질문 응답
디버깅 및 오류 분석
AWS 통합
IDE 통합
가격
Amazon Q Developer는 일정 기능까지는 무료 제공되며, 고급 기능은 유료 요금제에서 사용할 수 있다. Q Developer Pro는 사용자당 월 19USD 라는 가격이 책정되어 있다.
자세한 요금 및 특성은 공식 문서인Amazon Q Developer 요금을 참고하면 된다.
Linux를 Amazon Q Developer CLI와 통합하려면 시스템에 적합한 파일을 설치해야 한다.
작성자는 AmazonLinux2023에서 테스트를 진행하였으며, 현재 Windows 환경은 지원을 하지 않는 것으로 보인다.(WSL 설치 시 가능)
더 자세한 환경이나 설치는 지원되는 환경에서 설치 방법에 대하여 자세히 확인할 수 있다.
# Linux x86-64
$ curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip" -o "q.zip"
# Linux ARM (aarch64)
$ curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-aarch64-linux.zip" -o "q.zip"
$ unzip q.zip
# root 사용자라면 --force 를 통해 설치
$ ./q/install.sh --force
./q/install.sh --force
Installing as root is not supported.
✔ Do you want q to modify your shell config (you will have to manually do this otherwise)? · Yes
✔ Select login method · Use for Free with Builder ID
Confirm the following code in the browser
Code: <your-confirm-code>
Open this URL: https://view.awsapps.com/start/#/device?user_code=<your-confirm-code>
▰▱▱▱▱▱▱ Logging in...
CLI 화면에서 지정된 URL을 클릭하거나 복사를 하여 위와 같이 확인 및 계속을 눌러 진행을 한다.
코드는 <your-confirm-code>
와 동일한지 꼭 확인을 하자.
Amazon Q Developer for command line이 CLI 를 사용할 수 있도록 액세스 허용을 클릭한다.
최종적으로 설정이 완료가 되었다면, 초기 설정은 완료가 되었고, CLI 환경에서 "Device authorized
Logged in successfully" 라는 문구를 확인할 수 있을 것이다.
"q chat" 이라는 명령어를 입력 시 자연어를 통한 질문을 할 수 있도록 CLI 환경이 만들어 진다.
화면에서는 "ap-norhteast-2 리전에 있는 EC2 에서 실행중인 인스턴스 리스트와 중지된 인스턴스 리스트를 보여줘" 라는 질문을 통해 에이전트가 aws cli
를 사용하여 필요한 파라미터를 통해 자연어에 대한 요청을 필터링하는 것을 알 수 있다.
여기서 기본적으로 EC2의 IAM Role을 사용하며, AWS 자원에 대한 접근이 필요하다면 정책이 할당되어 있어야 한다.
또한 자연어 요청에 대한 결과를 최종적으로 사용자에게 반환한 것 또한 확인할 수 있다.
Amazon Q를 사용하기 위해 필요한 명령어는 채팅 사용참고
MCP(Model Context Protocol)는 AI 어시스턴트가 외부 도구와 통신할 수 있도록 설계된 표준화된 개방형 프로토콜이다.
MCP는 일종의 범용 커넥터 역할을 하여 AI 모델이 외부 시스템과 안전하고 일관되게 상호작용할 수 있도록 한다. 이를 통해 Amazon Q 같은 AI 에이전트는 실시간 데이터에 접근하고, 통합하여 상황에 맞는 지능형 지원을 제공할 수 있다.
Amazon Q에서 MCP를 사용하는 예로, Github MCP 서버를 구성해야 한다.
해당 작업을 진행하기 전 GitHub 계정 개발자 설정으로 이동하여 권한이 있는 개인 액세스 토큰을 만들어야 한다.
# mcp.json
{
"mcpServers": {
"github": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITHUB_PERSONAL_ACCESS_TOKEN",
"ghcr.io/github/github-mcp-server"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<your-github-token>"
}
}
}
}
vi 에디터를 사용하여 $HOME/.amazonq/mcp.json
내용을 파일에 추가한다. 여기서 docker 가 설치가 되어 있어야 하며, 실행도 되어 있어야 한다.
설정이 정상적으로 되었다면, 캡처와 같이 github mcp가 로드되어 사용할 수 있다.
"github mcp 를 통해서 mcp-test 라는 레포지토리를 Public하게 만들고, 주석에는 "Test repository created via Amazon Q" 라고 적어줘"라는 자연어를 통해 요청을 하였고, CLI 환경에서 원하는 조건으로 만들었다는 내용을 확인할 수 있다.
Github에서 동일한 결과를 확인할 수 있었으며, 주석까지도 원하는 조건을 생성이 되었다.
Amazon Q를 통한 MCP확장은 MCP 사용
통합 개발 환경(IDE)에서 Amazon Q Developer를 설정하려면 Amazon Q 플러그인을 설치한 후 IAM 또는 Builder ID로 인증해야 한다.
확장 프로그램에서 q를 검색하면 바로 추가할 수 있다. 사용자는 vscode 기반으로 진행을 하였지만, 다른 IDE 에서도 지원을 하기에 자세한 부분은 IDE용 Q 플러그인링크를 참고하자.
사용자는 무료 버전이므로, Builder ID 를 사용하여 진행을 한다.
Linux 환경에서 진행했던 것과 마찬가지로 액세스를 활성화한다면, VSCode에서 Amazon Q를 사용할 준비는 모두 끝났다.
Amazon Q를 활용하여 실시간 채팅 프로그램 생성을 요청하였고, 이에 따라 서버 측과 클라이언트 측 코드가 자동으로 생성되었다. 생성된 코드는 GitHub 저장소에 업로드되어 있으니 참고하면 된다.
클라이언트 측 코드인 chat_client.py
파일을 실행하면, 닉네임을 입력한 후 채팅 서버에 접속하게 된다. 이후 채팅창이 활성화되며 다른 사용자들과 실시간으로 소통할 수 있다.
해당 애플리케이션은 Socket 방식을 이용한 실시간 채팅 기능을 제공한다. 여러 클라이언트가 동시에 접속하여 메시지를 주고받는 것이 가능하며, 실제로 테스트를 통해 정상적인 동작을 확인했다.
다만, 현재는 한글 입력 시 일부 인코딩 문제로 제대로 표시되지 않는 이슈가 있으나, 전반적으로 자연어를 통해 빠르게 서비스를 개발하고 테스트할 수 있는 Amazon Q의 강력함을 체감할 수 있는 좋은 경험이였다.
최근 Amazon Bedrock을 활용해 Text-to-SQL 시스템을 개발하면서 AI에 대한 관심이 크게 높아졌다. 그러던 중 Q Developer CLI를 접하게 되었고, 간단한 테스트만으로도 단순한 AI 코딩 도우미를 넘어, 실제 개발 워크플로우에 밀접하게 통합된 생산성 도구라는 인상을 받았다.
특히 AWS 환경과의 깊은 통합, 자연어 기반 인터페이스, 그리고 MCP와 같은 외부 시스템과의 연동 기능은 기존 AI 도구들보다 한 단계 진화된 개발 경험을 제공할 것으로 기대된다.
물론 아직은 일부 기능이 베타 단계이거나 특정 환경에 제한적이지만, 빠르게 발전 중인 만큼 실제 프로젝트에 적용해 보며 효율성과 가능성을 직접 체감해보는 것도 충분히 가치 있는 선택일 것이다.