ChatGPT
chatGPT가 소개된 이후에 여러 관련 인공지능 모델이 소개되고 있습니다. 그중 2023년 3월 30일 개발자들의 코드 공유 플랫폼인 GitHub에 "Significant-Gravitas"이라는 이름의 사용자가 공개한 AutoGPT가 요즘 핫하죠.
AutoGPT는 OpenAI의 언어 모델 GPT-4를 기반으로 한 오픈 소스 Python 프로그램입니다. 이 모델은 사용자가 작업을 지시하면 여러 에이전트들이 중간 단계의 보조 업무를 스스로 도출하며 최종 결과를 얻어낼 때까지 자율적으로 작동합니다. 어떤 에이전트는 해야 할 일 업무들을 구분하고, 또 다른 에이전트는 정해진 업무를 수행하며, 어떤 에이전트는 다른 에이전트가 수행한 업무를 평가하기도 합니다. 답을 얻기 위해 스스로 논리적인 추론을 통해 서브 태스크를 식별하고 이행하는 모습을 들여다보고 있으면 소름이 끼칠 정도라니까요?
조금 관심이 있으신 분들은 이미 GitHub에서 소스를 받아 직접 돌려보셨을 것 같습니다만, 기존 PC에 이미 설치되어 있는 Python의 버전이나 이런저런 환경 문제로 제대로 사용하지 못하는 분도 있을 것 같습니다. 아는 분들은 이미 Python의 가상환경에서 추가 모듈을 설치하고 사용하겠지만, AutoGPT소스에는 개발자 컨테이너 Dev Container 관련 구성파일이 존재하기 때문에 이를 사용하면 보다 완벽한 환경 하에서 구동시킬 수 있습니다. 그렇다면, 개발자 컨테이너가 뭘까요?
비주얼 스튜디오 코드(VSCode)에는 개발자 컨테이너를 사용하는 강력한 기능이 존재합니다. 개발 컨테이너를 사용하면 모든 프로젝트마다 그에 적합한 환경을 설정하고 사용할 수 있어요. 환경을 맞추기 위한 노력 없이 코딩에만 전념하면 되죠. 개발 컨테이너의 장점이라면 일관성, 재현성, 공유의 용이성 정도가 되겠네요. 특히 다른 사람들과 협업할 때 엄청난 신세계를 경험하시게 될 겁니다. 그러면, 윈도우 환경 하에서 개발자 컨테이너를 사용하기 위한 방법을 간단하게 알아볼까요?
Windows 11에서 개발자 컨테이너 설정하기
먼저 필요한 애플리케이션들을 설치합니다.
데스크톱용 Docker 설치: Docker는 개발 컨테이너를 구동하는 엔진입니다. Docker 데스크톱은 공식 Docker 웹사이트에서 다운로드할 수 있어요. 사용하시는 Windows와 호환되는 버전을 설치하시면 됩니다.
Visual Studio Code(VSCode) 설치: 이 글을 읽으시는 분들이라면 이미 깔려 있겠죠?
VSCode에서 원격 - 컨테이너 확장 프로그램 설치: 이 확장 프로그램은 VSCode와 Docker의 통신이 가능하게 해 줍니다. VSCode의 확장 보기에서 설치하실 수 있어요. 이제 준비가 대충 끝났습니다.
개발자 컨테이너에서 특정 소스 운영하기
모든 설치가 완료되었으면 개발자 컨테이너를 사용하는 방법을 살펴보겠습니다.
프로젝트 생성 또는 가져오기: 프로젝트를 위한 새 폴더를 생성하거나 VSCode에서 기존 폴더로 이동합니다.
devcontainer.json 파일을 설정합니다: 프로젝트 내에. devcontainer라는 이름의 새 폴더를 만들고 이 폴더 안에 devcontainer.json이라는 새 파일을 만듭니다. 이 내용대로 컨테이너 환경이 만들어집니다. GitHub에서 소스를 클론 해올 때 이미 해당 구성파일이 존재하는 경우도 있을 수 있겠고요. AutoGPT의 소스에는 해당 구성 파일이 포함되어 있습니다.
개발자 컨테이너 빌드: devcontainer.json이 준비되면 명령 팔레트를 열고(F1을 누름) "reopen in container"를 입력한 후 사용가능한 옵션 목록에서 '개발 컨테이너: 컨테이너에서 다시 열기'를 선택합니다. 그러면 VSCode가 devcontainer.json 파일에 제공된 구성을 기반으로 Docker 컨테이너를 빌드하기 시작합니다.
코딩 시작: 컨테이너가 준비되면 VSCode 창이 컨테이너의 콘텍스트에 다시 로드됩니다. 이제 devcontainer.json에 지정된 모든 종속성과 설정이 준비되었고, 실행하는 모든 코드는 이 환경 내에서 실행됩니다. AutoGPT 소스를 컨테이너에서 오픈하셨으면 터미널을 열어 실행을 해보세요.
개발 툴을 가볍게만 사용하시는 분들께서는 크게 관심이 없을 수도 있지만, VSCode의 플러그인들을 잘 활용하면 꽤 편하고 안전하게 개발작업을 수행할 수 있습니다. 물론 플러그인의 작동 메커니즘에 대해 이해하는 게 귀찮긴 하지만... 위에서 설명드린 컨테이너 워크플로우는 데브옵스의 기본이기도 하니 잘 알아두시면 꽤 쓸모가 있을 거예요. 이 포스트가 보다 간소화된 협업 개발 환경 운영을 위한 도움이 되면 좋겠습니다.
chatGPT와 아포칼립스 - 생각저장소 (aprilamb.com)
윈도우즈의 셸 스크립팅 도구 - 생각저장소 (aprilamb.com)
Synology Docker에 mongoDB 설치하기 - 생각저장소 (aprilamb.com)