영화 "아이로봇"
안녕하세요! 누리미디어 개발운영팀에서 백엔드 개발자로 근무하고 있는 박준용입니다.
현재 운영하고 있는 서비스들이 문제없이 안정적으로 운영되도록 확인하고, 새롭게 추가해나갈 다양한 서비스나 개선해나가야 할 방향성에 대해 같이 고민하고 개발하는 역할을 담당하고 있습니다.
누리미디어에 들어온 지 2개월정도밖에 되지 않지만, 업무에 잘 적응할 수 있도록 주변 동료분들이 힘써주신 덕분에 도움도 많이 되었고 문제를 잘 헤쳐나가고 있습니다 😉
누리미디어에서는 DBpia 뿐만 아니라 다른 여러 가지 서비스를 운영하고 있어요. 서비스와 관련한 부분은 주변 동료분들에게 물어보는기도 하지만, 환경 구축, 기능 구현 등 서비스를 개발하기 위해서는 ChatGPT, Claude 와 같은 챗봇에게 많이 물어보기도 합니다. 심지어 누리미디어 개발팀에서는 ChatGPT 유료버전을 제공하고 있기 때문에 훨씬 빠르게 피드백을 전달받을 수 있어요.
그럼 ChatGPT를 개발에 접목시켜 활용하는 방법은 무엇이 있고, 어떻게 하면 효율적으로 사용할 수 있을까요?
아래에는 ChatGPT 3가 나온 후부터 사용하기 시작한 유저로서 나름의 노하우를 공유하고자 합니다.
메인
ChatGPT 사용 가이드
1. 환경에 대한 구체적인 내용 제시
ChatGPT 는 방대한 데이터를 모아서 자체적으로 학습을 하고, 질문자가 질문한 것에 가장 우선순위가 높았던 내용들을 기준으로 답변해 줍니다. 그렇게 하기 위해서는 내가 현재 어느 환경에서 개발하고 있는지, 어떤 프레임워크를 사용하고 있고 어떤 기술 스택을 응용하는지 구체적으로 설명해 주면 빠르게 해결책을 제시해 줄 수 있습니다.
가령 아래 Exception이 발생해서 해당 에러만 입력해 본 것과 저의 개발 환경을 입력했을 때의 차이를 보겠습니다.
여기에 내용들은 나에게 필요한 내용일 수도 있지만, 그렇지 않을 확률이 더 높아요. 질의를 적어도 1문장 이상으로 제시해 주는 게 좋습니다.
메인
2. 원하는 답이 나올 때까지 연속된 질문하기
질문 하나만으로 원하는 답변을 얻어내기는 생각보다 쉽지 않습니다. 첫 질문에 이어 두 번째 질문도 질의하게 되면, ChatGPT는 이를 연관성이 있는 질문으로 인식하기 때문에 더 구체적인 답변을 제시해 줍니다. 가령 환경 설정을 한다든지, 기본적인 설치나 소스 코드와 연계되어 있는 질문의 경우 좀 더 효과적으로 답변해 줍니다.
예를 들어, Python3을 설치하고 Crypto 라이브러리가 import 된 파일을 실행시킬 때의 질문을 해보겠습니다.
Homebrew 라고 하는 MacOS 전용의 유틸리티를 사용해 보겠습니다.
Q1. homebrew install python3 방법을 알려줘
파이썬의 설치가 완료되었다면 .py를 실행시키는 방법을 물어보겠습니다.
Q2. .py를 실행하는 방법을 알려줘
이제 파이썬 명령어를 사용해서 실행했더니 Error가 발생한 상황입니다.
Q3. ModuleNotFoundError: No module named 'requests' 가 발생했어
답을 모두 듣고 진행도 해보았지만, 이번에는 Crypto 에러가 또 발생해서 이 부분에 대해 질문합니다.
Q4. from Crypto.Cipher import AES ModuleNotFoundError: No module named 'Crypto'
위의 문제는 의존성이 잘못 설치된 것으로 확인이 되었고, 결국 지속적인 질문을 통해 답을 얻어내게 되었습니다.
ChatGPT는 현재 질문자의 의도를 계속된 질의를 통해서 학습한다는 것을 파악해 낼 수 있습니다.
메인
3. 하고자 하는 명시적인 코드와 샘플 작성
필요한 데이터 셋 또는 포맷이 있는 경우 개발자들은 알고리즘을 통해 작성하곤 하는데, 데이터셋을 직접적으로 전달해서 원하는 데이터를 출력하기에도 적합합니다. 여기서는 사용하고자 하는 언어와 함께 출력물과 산출물을 같이 넣어주는 것을 예시로 해보고자 합니다.
가장 간편한 예시로 Javascript 언어를 사용하여 서버로부터 전달받은 문자열을 해체하고, 알고리즘에 맞는 JSON 형태로 나오게 하는 방법을 작성해 보겠습니다.
이렇게 구체적으로 입력값과 작성하려고 하는 함수의 결괏값을 구체적으로 작성하면 ChatGPT는 이를 알고리즘화하여 보여줍니다.
때로는 원하지 않는 결괏값이 나올 때가 있지만 대부분 성공률이 높기 때문에 추천하는 방법입니다.
이러한 과정들을 통해서 챗봇에게 좀 더 구체적이고, 명확한 답변을 얻어내어 서비스 개발에 많은 도움을 받고 있습니다.
실제로도 웹 서버 구축이나, Gradle 빌드 설정에 필요한 의존성 주입, 파일 시스템 및 메모리 사용량과 관련된 내용들도 GPT를 사용하여 보다 수월하고 빠르게 진행하고 있습니다.
그럼, 누리미디어의 큰 축인 DBpia에서 AI를 도입한 서비스를 간단히 소개해 보려 합니다.
AI와 관련된 산업군들이 요새 주목받고 있는 추세입니다. 국내에 손꼽히는 학술 데이터를 가진 DBpia에서는 논문을 즐겨 읽는 사용자들에게 논문을 넘어 각종 서비스와 편의성을 더하고 있는데요, 바로 AI 요약보기 기능과 IDEA 서비스입니다.
about 1
바쁘고 바쁜 현대사회! 에서 AI 요약보기
AI를 사용해서 논문을 정독하고 있는 나의 시간을 조금 더 아끼는 기능을 소개해 드리고자 합니다.
바로 AI 요약보기라는 기능으로, 이건 어느 논문이든 상세 페이지에서 표시되어 있어요 🙂
논문 요약하기 기능을 사용하면 아래처럼 논문에 들어간 내용들을 학습해서 보여주고 있어요.
그리고 여기서 사용자가 가질만한 추천 질문을 제시해 주고, 선택하면 이 논문 안에서 어떤 내용이 나왔는지 요약을 해주는 기능도 있어요.
제목없음
about 1
같이 볼만한 논문을 AI가 추천해준다! DBpia IDEA
다음은 DBpia IDEA라는 서비스인데요, DBpia에서는 원하는 주제의 논문을 선택 또는 검색하고 목차를 추출해 주는 기능을 제공하고 있어요.
아래 사진처럼 주제를 선정하면 목차를 작성해 주고, 그 목차에 참고할 만한 논문들을 추천해 주기 때문에 굉장히 유용하답니다.
논문을 작성하는데 고민이 되는 분들에게 추천합니다!
실제 DBpia IDEA 답변
people
마치며,
누리미디어는 AI를 활용해 사용자가 원하는 정보를 더 빠르고 정확하게 얻어가도록 끊임없이 고민하고 있습니다.
학창 시절에 많이 보던 DBpia를 실제로 제가 이 서비스를 더욱 고도화시키고 만들어 나갈 거란 상상도 못 했었는데요, 앞으로 더욱 안정적이고 정확한 결과가 나올 수 있도록 지속해서 노력하고 있으니 많은 관심 부탁드립니다!