본문으로 건너뛰기
이 아티클은 AI를 사용하여 일본어에서 번역되었습니다
일본어로 읽기
이 아티클은 퍼블릭 도메인(CC0)입니다. 자유롭게 사용하십시오. CC0 1.0 Universal

국경 없는 시대로: 30개 언어 블로그 사이트 만들기

저는 제가 블로그에 썼던 글들을 정리하기 위해 생성형 AI(Gemini)를 활용하여 자체 웹사이트를 만들었습니다.

카토시의 연구 노트 https://katoshi-mfacet.github.io/

이 사이트는 일본어로 작성된 블로그 게시물 초안에서 자동으로 생성됩니다.

이 사이트의 특징은 다음과 같습니다.

  • 글 초안에서 자동 생성
  • 카테고리 및 태그 분류를 통한 글 정리
  • 30개 언어 및 접근성 지원

기본 메커니즘

기본 메커니즘은 Astro 프레임워크 기반으로 구축된 맞춤형 프로그램을 통해 글 초안에서 HTML 파일을 자동으로 생성하는 방식입니다.

저는 이 프로그램 자체를 Google의 Gemini와 대화하며 개발했습니다.

이 메커니즘 덕분에 글 초안을 작성하고 재생성 프로세스를 실행하면, HTML 파일이 자동으로 업데이트되어 웹사이트에 반영됩니다.

분류 및 태그 지정

저는 분류 및 태그 지정을 위한 별도의 프로그램도 개발했습니다.

이 프로그램은 API를 통해 Gemini에 글을 전달하여 자동으로 분류하고 태그를 지정합니다.

글과 함께 카테고리 및 태그 목록을 제공하면 Gemini가 글의 의미를 해석하여 적절한 것을 능숙하게 제안합니다.

또한, 카테고리 및 태그 목록 자체는 다른 맞춤형 프로그램을 사용하여 과거 글에서 추출하여 결정됩니다. 여기에도 Gemini가 활용됩니다.

과거 글은 API를 통해 Gemini에 순차적으로 전달되어 후보 카테고리와 태그를 출력합니다. 그런 다음, 모든 글에서 추출된 이 후보 카테고리와 태그를 Gemini에 전달하여 카테고리 및 태그 목록을 확정합니다.

이 전체 프로세스 또한 프로그램에 의해 자동화됩니다.

다국어 번역

다국어 지원을 위해서는 번역이 필수적입니다. 물론 이 번역에도 Gemini가 활용됩니다.

번역에는 두 가지 패턴이 있습니다.

하나는 글과 상관없이 웹사이트 전체에 공통으로 사용되는 문자열의 번역입니다. 여기에는 메뉴 항목 이름, 자기소개 및 기타 유사한 텍스트가 포함됩니다.

다른 하나는 글 초안 자체의 번역입니다.

이 두 가지 유형의 번역을 위해 저는 Gemini의 API를 사용하여 번역을 실행하는 맞춤형 프로그램을 만들었습니다.

접근성

시각 장애가 있는 사용자가 오디오를 통해 글 내용을 듣거나, 마우스 사용에 어려움을 겪는 사용자가 키보드 조작만으로 웹사이트를 탐색할 수 있도록 HTML 파일에 여러 기능을 추가하여 접근성을 향상시켰습니다.

저는 접근성에 대한 지식이 거의 없었는데, 프로그래밍 관련 대화 중에 Gemini가 이러한 개선 사항들을 제안해 주었습니다.

그리고 접근성을 향상시키기 위한 HTML 변경 사항들에 대해서도 Gemini와 대화하며 구현 방법을 문의했고, 그에 따라 수정 사항을 적용했습니다.

장벽의 소멸

생성형 AI는 프로그램 생성, 번역 및 카테고리/태그 정리와 같은 자연어 처리, 접근성과 같은 미묘한 부분 제안 등 이 웹사이트를 만드는 데 다양한 방식으로 활용되었습니다.

또한 HTML 생성 및 카테고리/태그의 자연어 처리를 포함하여 글 추가 시 자동 업데이트 시스템을 구축함으로써, 새로운 글이 추가될 때마다 성장하는 웹사이트를 만들 수 있었습니다.

이 웹사이트를 만들면서 생성형 AI를 통해 다양한 장벽을 이제 쉽게 극복할 수 있다는 것을 진정으로 느꼈습니다.

첫째는 언어 장벽입니다. 30개 언어 지원은 번역을 고려하더라도 개인이 전통적인 방식으로 달성하기는 불가능했을 것입니다.

게다가 번역된 블로그가 의도한 뉘앙스를 전달하는지, 표현이 원어민에게 어색하거나 불쾌할 수 있는지에 대한 우려도 있습니다.

생성형 AI의 번역은 전통적인 기계 번역보다 뉘앙스를 더 정확하게 전달하고 더 자연스러운 표현을 사용할 수 있습니다. 또한, 번역된 결과물을 생성형 AI에 다시 입력하여 부자연스럽거나 부적절한 표현이 있는지 확인할 수 있습니다.

웹사이트 다국어화 관점에서 날짜나 단위처럼 언어마다 표현 방식이 다른 요소들을 적절히 처리하는 것은 어려운 일이었습니다.

예를 들어, 첫 번째 카테고리에 글이 1개, 두 번째 카테고리에 2개, 세 번째 카테고리에 10개가 있는 경우 일본어에서는 단순히 "1記事(1 article), 2記事(2 articles), 10記事(10 articles)"와 같이 숫자 뒤에 단위 "記事"를 붙이면 됩니다.

그러나 영어에서는 "1 article, 2 articles, 10 articles"와 같이 단수와 복수를 구분해야 합니다. 게다가 일부 언어에서는 복수의 작은 수와 큰 수에 따라 표현이 달라질 수도 있다고 합니다.

더 나아가 아랍어처럼 오른쪽에서 왼쪽으로 쓰는 언어의 경우, 웹사이트 전체 레이아웃도 독자의 시선이 오른쪽에서 왼쪽으로 자연스럽게 흐르도록 만들어야 합니다. 텍스트나 이미지에 화살표가 사용된 경우, 이를 좌우 반전해야 할 수도 있습니다. 이러한 문제들도 생성형 AI가 검토하도록 하여 해결했습니다.

생성형 AI와 함께 웹사이트 다국어화 작업을 하면서 전통적인 방식으로는 놓치거나 고려하지 못했을 부분들을 세심하게 다룰 수 있었습니다.

이는 접근성 고려 사항에도 동일하게 적용됩니다. 이전에는 저와 같은 방식으로 웹사이트를 보는 사람들만을 고려할 수 있었습니다.

그러나 생성형 AI는 제가 알아차리지 못하거나, 노력 때문에 소홀히 할 수 있는 고려 사항들을 쉽게 통합합니다.

다국어화와 접근성이 아직 완벽하다고는 할 수 없지만, 혼자서 생각하고 연구하여 달성할 수 있었던 것보다 압도적으로 높은 품질이라고 생각합니다.

이러한 방식으로 생성형 AI는 블로그 글을 통해 정보를 전파하려는 저의 노력에 많은 장벽을 없애주었습니다.

마지막으로

저는 프로그래밍 경험이 풍부한 시스템 엔지니어입니다. 직업적으로 웹사이트를 만들지는 않지만, 과거에 취미로 여러 개인 홈페이지를 만들었습니다.

이러한 경험과 생성형 AI와의 채팅을 통해 약 2주 만에 이 자동 다국어 블로그 사이트 생성 시스템을 구축할 수 있었습니다.

생성형 AI가 없었다면 다국어 지원은 고려조차 하지 않았을 것입니다. 그런 의미에서 이는 상상의 장벽을 넘어선 것이라고 할 수 있습니다.

더 나아가, 글이 추가될 때마다 분류하고 태그를 지정하는 수고를 고려하면, 처음 만든 후 업데이트가 중단될 가능성이 매우 높았을 것입니다. 생성형 AI의 자연어 처리로 가능해진 자동화를 통해 유지보수 및 업데이트의 장벽을 극복할 수 있었습니다.

또한, 이 시스템은 저처럼 프로그래밍이나 웹사이트 제작 경험이 없는 사람들도 구축할 수 있습니다. 이 글을 Gemini와 같은 생성형 AI에게 보여주고 만들고 싶다고 표현하면, 만드는 방법을 알려줄 것입니다.

제가 만든 프로그램을 널리 배포할 수도 있지만, 생성형 AI가 본격적인 소프트웨어 엔지니어가 되어가는 지금, 공유할 가장 가치 있는 정보는 프로그램 자체가 아니라 이 글처럼 아이디어와 메커니즘에 대한 설명이 될 것입니다. 아이디어와 기본 메커니즘은 프로그램보다 훨씬 쉽게 변경, 강화 및 결합될 수 있습니다.

이는 소프트웨어 개발 및 웹사이트 제작의 장벽이 사라짐과 동시에 개인 정보 전달의 장벽도 사라질 것임을 시사합니다.

기술적으로 인터넷은 정보 교환의 장벽을 사실상 제거했지만, 우리는 여전히 언어 및 접근성과 같은 장벽에 가로막혀 있습니다.

수신자의 기지(기계 번역 및 텍스트 음성 변환)를 통해 이러한 장벽을 어느 정도 극복할 수 있지만, 정보 발신자가 조치와 고려를 취하지 않으면 극복할 수 없는 부분도 있습니다.

생성형 AI는 정보 발신자가 극복해야 할 바로 그 장벽들을 제거합니다.

언어 및 접근성 장벽이 사라지더라도 문화, 관습, 가치관의 차이와 같은 더 많은 장벽이 있을 것입니다. 이러한 장벽은 극복하기가 더 어려울 수 있습니다.

그러나 그러한 어려운 장벽을 극복하기 위해서는 먼저 그 이전의 장벽들을 극복해야 합니다. 그러한 장벽 바로 앞에 서게 되면, 그것을 극복하기 위한 새로운 아이디어와 기술이 나타날 것입니다.

이러한 방식으로 우리는 세상에서 장벽이 사라지는 시대로 접어들고 있는지도 모릅니다. 이것이 제가 이 웹사이트를 만들면서 느낀 바입니다.