‘GitLab 공식 기술 문서 한글판 by 인포그랩(이하 GitLab 공식 기술 문서 한글판)’은 미국 연구 기업 OpenAI의 생성형 인공지능(AI) 모델 gpt-3.5-turbo-1106으로 GitLab 공식 기술 문서 총 2000여 개를 한글로 자동 번역해 제공하는 서비스입니다. 인포그랩은 올해 1월 초부터 2주 동안 이 서비스를 개발, 배포까지 마쳤는데요. 이 기간에 AI 번역 봇 개발과 최적화, 웹사이트 구축, 디자인, 프로덕션 환경 배포까지 모든 작업을 완료했습니다.
이번 GitLab 공식 기술 문서 한글판 프로젝트는 인포그랩의 ‘Copy and Translate’ 유닛이 수행했습니다. 인포그랩은 조직의 목표 달성과 성과 창출을 촉진하기 위해 목적별로 여러 유닛을 운영하는데요. Copy and Translate 유닛은 ‘GitLab 공식 기술 문서의 80% 이상을 자동 번역한다’는 목표로 GitLab 공식 기술 문서 한글판을 만들었습니다. 저는 이번 프로젝트를 주제로 Copy and Translate 유닛 멤버들을 인터뷰했는데요. 이 글에서는 인터뷰를 토대로 GitLab 공식 기술 문서를 생성형 AI 기술로 대량 번역하고 이를 프로덕션 환경에 배포한 과정과 후기를 정리했습니다.
Copy And Translate 유닛 소개
Copy And Translate 유닛 멤버 Jeff, Hailie, John, Grace(왼쪽부터)이 유닛에는 인포그랩 DevOps 엔지니어 Jeff와 John, 프론트엔드 엔지니어 Hailie, 테크니컬 라이터 Grace가 참여했습니다. 각 멤버와 이들이 수행한 프로젝트 업무를 아래에 소개합니다.
- Jeff: 유닛 챔피언(리더). GitLab 공식 기술 문서 한글판 프로젝트의 마일스톤을 설정하고, 아이디어를 취합함. 유닛에서 AI 번역 로직 구현을 비롯해 여러 개발, 배포 업무를 수행함.
- Hailie: 유닛 서포터(부리더). GitLab 공식 기술 문서 한글판 웹사이트에 인포그랩의 브랜드 아이덴티티 적용을 전담함. 웹사이트의 헤더, 푸터를 인포그랩 공식 홈페이지 버전과 동일하게 적용하고, 상세 페이지 내비게이션 바의 한글 번역을 지원함.
- John: 유닛 멤버. 번역 프로세스 수립에 필요한 기술을 테스트하고 제안함. Python 코드로 AI 번역 로직 구현을 협업함.
- Grace: 유닛 멤버. 사내 용어집을 참조해 AI 번역 봇에 주입할 Instruction을 작성함. 번역본의 오역을 검수함. SEO를 반영해 GitLab 공식 기술 문서 한글판 웹사이트의 Description, Keyword를 정리함.
프로젝트 참여 이유
GitLab 공식 기술 문서 한글판 메인 페이지Q.우리 회사에 여러 유닛이 있잖아요. 모두 흥미로운 활동을 진행하고요. 그중에서도 굳이 Copy and Translate 유닛에 참여해 GitLab 공식 기술 문서 한글판을 만든 이유가 궁금합니다.
-
Jeff: 대부분 개발자가 GitLab을 사용하다 모르는 점이 있을 때 구글에서 이를 검색하거나 GitLab 공식 기술 문서를 찾아봅니다. 검색 엔진에서 GitLab을 한글로 검색하면 결과가 만족스럽지 않아요. 예를 들어, ‘깃랩 mr'이라고 검색하면 공식 기술 문서가 아닌 블로그만 검색됩니다. 이러한 문제를 해결하고 싶었어요.
저는 한국어를 사용하는 많은 개발자가 GitLab을 더 친숙하게 여기고, GitLab에서 궁금한 점을 곧바로 해결하길 원했습니다. 이를 돕기 위해 지난 몇 년 동안 GitLab 기능을 주제로 기술 블로그 콘텐츠와 가이드를 꾸준히 만들었죠. 하지만 GitLab은 끊임없이 바뀌고, 이 변화를 따라가기 위해 모든 가이드를 수정하려면 벅찹니다.
이러한 문제를 해결하기 위해 이번 프로젝트를 기획했고요. GPT와 인포그랩의 자동화 기술을 결합하면 양질의 GitLab 정보를 최신 버전으로 제공할 수 있을 걸로 판단했습니다.
-
Hailie: 저는 프론트엔드 개발자로서 이번 프로젝트에 참여하면 사용자 경험을 향상시키고 기술 문서의 접근성을 높이는 데 기여할 수 있을 거로 생각했습니다. 사용자가 GitLab 정보를 더 쉽게 이해하고 활용하도록 UI/UX를 개선하고, 사용자에게 기술 문서를 더 효과적으로 전달하는 데 초점을 두고 참여했습니다.
-
John: 저는 Copy and Translate 유닛 작업에서 ‘Python이 개발 언어로 채택될 확률이 높을 걸’로 생각했습니다. 제가 잘 다룰 수 있는 개발 언어가 Python인데요. 프로젝트에서 이를 능숙하게 활용하며 결과물을 만들어 회사에 기여하고 싶었습니다.
-
Grace: 원래 인포그랩은 GitLab 한글 가이드를 공식 홈페이지에서 제공하고 있었습니다. 저는 테크니컬 라이터로서 이 문서의 관리 업무를 맡았는데요. 이 업무를 수행하면서 고민한 점을 유닛에 공유하고, 번역 결과를 검토하는 데 제가 기여할 수 있을 걸로 보고 프로젝트에 참여했습니다.
GitLab 공식 기술 문서 한글판 개발은 지난해 말 임원분들이 먼저 제안했는데요. 이 제안을 접했을 때, 생성형 AI 기술로 방대한 영어 문서를 한글로 자동 번역하면 사내 기술 문서를 더 효율적으로 관리하는 데 도움이 될 걸로 생각했습니다. 특히 나날이 바뀌는 GitLab 공식 기술 문서를 한글로 빠르게 업데이트하는 데 효과적일 듯하고요.
GitLab 공식 기술 문서 한글판 필요성
GitLab 공식 기술 문서 웹사이트. 출처=GitLabQ.앞서 언급했다시피 우리 회사는 공식 홈페이지에서 GitLab 한글 가이드를 제공하는데요. 이는 국내 GitLab 사용자들이 많이 찾아보는 콘텐츠입니다. 그런데도 ‘GitLab 공식 기술 문서를 통째로 번역한 서비스가 또 필요할까?’라는 생각이 들지는 않았나요?
-
Hailie: GitLab 공식 기술 문서 한글판이 GitLab을 사용하려는 잠재 고객에게 ‘인포그랩’이라는 회사를 알릴 좋은 기회라고 봤고, ‘꼭 필요한 프로젝트’라고 생각했습니다.
-
John: GitLab은 공식 기술 문서를 한글로 제공하지 않습니다. 영어가 어려운 사용자가 이 문서를 일일이 번역하며 읽으려면 어려울 수 있는데요. 전 GitLab 공식 기술 문서 한글판이 이러한 사용자 경험을 개선할 수 있을 걸로 기대했습니다.
-
Grace: ‘GitLab 공식 기술 문서 한글판이 기존 GitLab 한글 가이드의 한계를 보완할 수 있어 필요하다’고 판단했습니다. GitLab 공식 기술 문서는 2000개가 넘는데요. GitLab 한글 가이드가 모든 GitLab 기능을 다루지는 않았죠. 생성형 AI 모델로 GitLab의 전체 공식 기술 문서를 자동으로 번역하면 이 공 백을 쉽고 빠르게 없앨 수 있는데요. 즉, 기존 GitLab 한글 가이드가 다루지 않은 GitLab 정보를 모두 제공할 수 있어 꼭 필요했습니다.
이는 기술 문서 관리 프로세스를 개선하는 데도 도움이 됩니다. 기존에는 GitLab 한글 가이드를 수동으로 작성하고 업데이트했는데요. 가이드를 제작, 리뷰, 배포하는 데 며칠 걸리기도 했습니다. 그러나 생성형 AI 모델로 GitLab 공식 기술 문서 번역을 자동화하면서 이 프로세스가 대폭 줄었는데요. 돌아보니 기술 문서 관리 프로세스를 더 간소화하며 업무 시간을 아끼는 데 필수적인 작업이었습니다.
AI 번역 봇 개발-번역-배포 프로세스
출처=픽사베이Q.GitLab 공식 기술 문서를 번역하려면 AI 번역 봇을 개발해야 하는데요. 이 봇을 만들어 문서를 번역하고 프로덕션 환경에 배포하는 프로세스를 설명해 주세요.
-
Jeff: 먼저 GitLab 공식 기술 문서의 프로젝트를 분석해 빌드 방법과 특수한 마크다운 사용법을 찾았습니다. 그다음, 공식 기술 문서의 특수 문법을 GPT에 주입할 프롬프트 규칙으로 만들었고요. 이어서 샘플 마크다운 파일을 준비하고 이를 토대로 번역을 끊임없이 테스트하며 결과를 검수했습니다. 이로써 프롬프트 규칙을 발전시켰고요.
프롬프트가 모두 준비되면 GPT가 프롬프트 규칙에 따라 GitLab 공식 기술 문서를 한글로 번역한 다음 커밋하는 자동화 로직을 만들었습니다. 그러고 나서 GitLab CI/CD를 구성하고요. 공식 기술 문서가 한글로 번역되면 이를 자동으로 GitLab 공식 기술 문서 한글판 웹사이트에 배포하도록 설정했습니다.
노력한 점
Udemy의 프롬프트 엔지니어링 강의 현황. 출처=UdemyQ.‘2000개가 넘는 GitLab 공식 기술 문서를 생성형 AI 모델을 사용해 한글로 자동 번역한다’는 목표는 도전적인데요. 이 미션을 잘 수행하기 위해 어떤 노력을 기울였나요?
- Jeff: Udemy에서 프롬프트 엔지니어링 강의를 들었고요. 임원분들과 소통하며 ‘어떤 작업이 완료됐는지’ 보고하고, 검토받고, 업무를 정리했습니다.
- Hailie: 빠르게 결과를 내야 했기에 GitLab Docs 프로젝트를 신속히 파악하는 일이 중요했습니다. 이에 GitLab Docs 프로젝트의 리드미(readme) 문서를 자세히 읽고 프로젝트 이해도를 높였습니다. 이는 결과물을 빠르게 만드는 데 도움이 됐습니다.
- John: 업무를 더 잘 수행하도록 최대한 많이 소통하려고 노력했습니다. 아울러 개발에 익숙하지 않아 GPT에도 열심히 물어보고, 퇴근 후에도 공부하며 코드를 작성했습니다.
- Grace: 이 프로젝트에 참여하기 전부터 사내 테크니컬 라이팅 가이드와 용어집을 만들었는데요. 그 내용을 이번 프로젝트의 GPT 번역용 Instruction에 적용하려고 했습니다. GitLab 공식 기술 문서가 한글로 더 자연스럽고, 더 매끄럽게 번역되면서 인포그랩의 테크니컬 라이팅 원칙을 반영하도록 애썼습니다. 또 번역 결과를 검토하며 오역을 찾아 번역 품질을 개선하려 했고요.
개발 과정서 유용했던 기술, 도구
GitLab, Python, VS Code, GPT 로고 모음(왼쪽부터)Q.GitLab 공식 기술 문서 한글판을 만들면서 각자 어떤 기술, 도구를 무슨 용도로 사용했는지 공유해 주세요. 특히 유용했던 기술과 도구도 알려주시면 좋겠습니다.
-
Jeff: 저는 Python으로 AI 번역 봇의 메인 로직을 개발했습니다. 또 GitLab을 기반으로 코드를 관리하고 자동화했고요. 특히 GPT 프롬프트를 만들어 AI 번역 봇의 핵심을 만들었습니다.
유용했던 기술은 프롬 프트 엔지니어링이었는데요. 이번 개발 과정에서 프롬프트 엔지니어링을 가장 많이 공부했습니다. 전 앞으로 AI 시대가 펼쳐질 테고, AI를 가장 잘 활용하는 방법은 프롬프트 엔지니어링이라고 생각합니다. 따라서 프롬프트를 만드는 기술은 이번 프로젝트를 넘어서 앞으로 엔지니어의 커리어에도 큰 도움이 될 거라고 봐요.
-
Hailie: 전 VS Code와 GitLab의 소스 파일을 사용했습니다. 이 프로젝트에서는 기존에 경험해 보지 않은 언어와 빌드 도구를 사용하다 보니 ChatGPT의 도움을 많이 받았습니다. 이는 프로그램을 실행하는 명령어나 커스텀하는 코드를 알아볼 때 유용했습니다.
-
John: 저는 python - Python-Gitlab 라이브러리를 사용해 GitLab에 파일을 업데이트하고 생성하며 가져오고 조회했습니다. Python 애플리케이션을 실행하는 gitlab-ci 스크립트를 작성하고요. 이 스크립트가 한 달에 한 번 실행되도록 스케줄링을 설정했습니다.
유용했던 기술과 도구도 역시 Python 라이브러리와 GPT였습니다. Python의 여러 라이브러리(python-gitlab 등)는 작업 시간을 줄이는 데 많은 보탬이 됐고요. GitLab 공식 기술 문서를 번역할 때는 GPT 모델을 사용했고, 코드를 작성할 때도 ChatGPT의 도움을 받아서 GPT가 많이 유용했습니다.
가장 기억에 남는 일
출처=픽사베이Q.각자 이 프로젝트에서 수행한 업무가 다르다 보니 에피소드도 다양할 듯합니다. GitLab 공식 기술 문서 한글판을 만들면서 어떤 일이 가장 기억에 남았나요?
- Jeff: 팀원 전부가 빠르게 움직여 제품을 개발한 경험이에요. 다들 여러 업무를 산발적으로 처리하느라 바쁜데도 집중해서 요구사항을 하나씩 처리하는 모습이 인상 깊었습니다.
- Hailie: md 파일이 2000개가 넘다 보니, 프로그램을 빌드하는 데 상당한 시간이 소요됐습니다. 더군다나 변경 사항을 바로바로 확인하는데도 빌드할 때 시간이 오래 걸려서 애를 먹었는데요. 이 문제를 해결하고자 md 파일 중 꼭 필요한 문서만 남기고 나머지는 로컬 환경에서 지워 개발 속도를 높일 수 있었습니다.
가장 잘한 일
Ruby, Nanoc, Vue 로고 모음(왼쪽부터)Q.GitLab 공식 기술 문서 한글판을 만들면서 자신이 가장 잘한 일은 뭐라고 생각하나요? 개인뿐만 아니라 유닛이 가장 잘한 일을 말해도 좋습니다.
- Hailie: 이른 시일 안에 결과물을 낸 게 가장 잘한 일이라고 생각합니다. 저는 이전에 경험해 보지 않은 Ruby, Nanoc, Vue로 이뤄진 프로젝트의 기본 구조를 빠르게 파악하려 노력했고요. 기존에 수행하던 업무도 결과물을 내야 하는 상황이라 업무별로 균형감 있게 작업하려고 애썼습니다. 타이머를 사용하거나, 매일매일 To-do 리스트를 상세하게 정리해 그날 목표로 삼았던 업무는 끝마치도록 했습니다.
- John: 저는 번역 프로세스가 확립되지 않았을 때 다양한 방법으로 번역하기 위해 노력했고요. GitLab 공식 기술 문서 한글판에 필요한 기능을 개발한 게 잘한 일이라고 생각합니다.
- Grace: 번역 결과를 검수하며 개선 사항을 정리한 일, 이 프로젝트 내용을 모두 문서화한 일을 잘 수행했다고 생각합니다. 문서화 과정에서 프로젝트 배경과 진행 과정, 특장점, 한계, 향후 과제를 작성하며 프로젝트 전반을 회고해서 좋았습니다. 문서화 작업은 ‘우리 프로젝트가 고객의 문제를 어떻게 해결하고, 어떠한 고객 가치를 전달할 수 있는지’ 통찰을 얻는 데 도움이 됐습니다.
가장 어려웠던 일
출처=픽사베이Q.작업을 진행하는 과정이 늘 순탄하지만 않았을 텐데요. 이 프로젝트에서 각자 어떤 일이 가장 어려웠나요?
- Jeff: 저는 개발에 필요한 요구사항을 명확히 파악하지 못했습니다. 예를 들어, ‘GPT의 번역 품질을 어디까지 끌어올려야 할지’ 측정할 수 없었습니다. 또 ‘프롬프트를 어떻게 작성할지, 얼마나 연구해야 하는지’도 고민거리였고요. 게다가 GPT 이해도가 낮다 보니 업무 시간을 측정하기가 어려웠습니다. 프로젝트 일정을 관리하는 입장에서 자꾸 프로젝트가 연기되는 변명거리만 생기는 느낌이었어요.
- Hailie: md 파일 중 version history 파트만 불러와서 수정하는 작업이 어려웠는데요. 프로젝트의 폴더 구조를 파악해 프로젝트를 어느 정도 인지해서 생각보다 빨리 문제를 해결할 수 있었습니다.
- John: 번역할 생성형 AI 모델을 선택하는 일과 ‘GPT로 우리가 원하는 결괏값을 출력하기 위해 해야 할 일’을 고민하고 진행하는 일이 어려웠습니다.
- Grace: 테스트할 때마다 GPT에 적용할 번역용 Instruction이 일관되게 작동하지 않아 어려웠습니다. 인포그랩의 테크니컬 라이팅 가이드와 용어집을 기계 번역 과정에서 완전히 적용하지 못해 아쉽고요.
배운 점과 깨달은 점
출처=픽사베이Q.이번 프로젝트를 수행하면서 다들 새로운 기술과 도구를 많이 익혔더라고요. 동영상 강 의도 보고 여러 문서를 찾아 읽으면서 열심히 공부했던데요. 각자 업무를 수행하면서 뭘 배우고 깨달았는지 궁금합니다.
- Jeff: 프로젝트 관리 능력과 GPT 프롬프트 엔지니어링을 배웠고요. ‘프로젝트는 어렵다’는 점을 깨달았습니다.
- Hailie: 배운 점은 ‘목표가 명확하면 결과도 빠르게 나올 수 있다’는 사실입니다. 깨달은 점은 ‘나와 우리는 빠르게 결과물을 도출해 내는 능력이 있다’는 점이고요. 다른 팀에 소속된 구성원들과 더 나은 결과물을 만들기 위해 매일 오전 회의로 진척 사항을 공유하고, 문제 해결 방법을 도출했는데요. 이 과정에서 ‘작은 정보라도 공유하는 게 업무에 큰 도움이 된다’는 사실을 깨달았습니다.
- John: 이번 프로젝트를 수행하면서 GPT를 많이 공부했는데요. 특히 GPT에 Instruction을 주입할 때 원하는 결괏값이 효율적으로 잘 나오기 위한 요건을 이번 경험으로 체득했습니다. 그건 바로 GPT에 ‘너는 어떤 역할이 있으며, 어떤 일을 수행해야 하고, 이 일을 할 때 이걸 지켜야 해’라는 Instruction을 예시와 함께 주입하는 건데요. 이때 고품질 답변이 나왔습니다. 이러한 요건을 지키면 GPT로 원하는 결괏값을 빠르게 얻을 수 있다고 봅니다.
- Grace: ‘개발자는 IT 업계의 목수’라고 하는데요. 멤버들이 순식간에 결과물을 뚝딱 만들어내는 걸 보고 그 말의 무게와 위력을 깨달았습니다. 아울러 인포그랩에서 다양한 DevOps 서비스를 제공하는데 ‘제가 기여할 일은 뭔지 잘 살펴봐야겠다’고 생각했습니다.
이 프로젝트가 개인 성장에 미친 영향
출처=픽사베이Q.다음 질문은 위 질문의 연장선에 있는 질문이에요. GitLab 공식 기술 문서 한글판 프로젝트가 엔지니어로 성장하는 데 어떻게 도움이 되었나요?
- Jeff: 이번 프로젝트로 다양한 기술 경험을 빠르게 쌓았기에 기민한 문제 해결 능력을 많이 길렀어요. 제품을 신속하게 출시해 시장의 요구사항을 반영하는 게 DevOps의 사명 중 하나인데요. 앞으로 DevOps 엔지니어로서 이 사명을 더 잘 수행할 수 있을 것 같습니다.
- Hailie: GitLab 공식 기술 문서 한글판을 만들면서 이전에 경험해 보지 않은 언어, 프레임워크를 빠르게 이해하며 작업했는데요. ‘나중에 이번과 같은 작업 환경에 놓이면 비슷한 방법으로 일을 해낼 수 있다’는 걸 배웠습니다.
- John: ‘개발도 잘하는 DevOps 엔지니어’로 한 발짝 더 나아갈 수 있었습니다.
이 프로젝트로 달성하고 싶은 성과
출처=픽사베이Q.긴 질문에 답변해 주셔서 감사합니다. 이제 마지막 질문인데요. GitLab 공식 기술 문서 한글판이 어떤 성과를 거두길 원하나요?
-
Hailie: 구글에서 한글로 된 모든 GitLab 검색어 순위가 GitLab 공식 기술 문서 순위보다 더 높길 희망합니다. 또한 국내 GitLab 고객이 인포그랩을 알고 우리 서비스를 받기를 바랍니다.
-
Grace: GitLab 공식 기술 문서 한글판이 세상에 유익한 소프트웨어를 개발하는 데 도움이 되면 좋겠습니다. 아울러 국내외 기술 커뮤니티에서 이 서비스가 널리 알려지고 회자되길 원하고요. GitLab도 GitLab 공식 기술 문서 한글판을 긍정적으로 봐주길 바랍니다. 이 서비스가 ‘국내 사용자가 GitLab을 더 편리하게 이용하도록 기능을 개선하는 데’ 도움이 되면 좋겠고요.
인포그랩은 설립 초기부터 GitLab 관련 국문 콘텐츠를 적극적으로 제작하고, 보급했는데요. 이번 프로젝트는 공동 창업자를 비롯한 회사 초기 멤버들의 이러한 노력을 토대로 진행될 수 있었습니다. 그 노력이 오래도록 기록되고, 기억되길 희망합니다.
인포그랩은 GitLab 및 DevOps에 대한 맞춤 기술 지원을 제공합니다. GitLab(Omnibus/Cloud Native Hybrid) 구축 관련한 지원이 필요하시면 문의하기 로 연락 주 십시오.