
안녕하세요, 브라이언트입니다.
오늘은 최근 ChatGPT에서 새롭게 발표한 코드 인터프리터 Code Interpreter 기능에 대해 알아보도록 하겠습니다.
한마디로 이야기하자면,
GPT가 스스로 코드를 실행하는 기능이라고 볼 수 있습니다.
이전에는 챗지피티에게 A에 대한 코드를 알려달라고 하면
단지 A에 대해서 소스코드를 제공해 줄 뿐이었습니다.
환경설정이 필요하다고 이야기하면, 매뉴얼대로 설명해줄 뿐이었죠.
이제는 다릅니다.
코드 인터프리터 기능을 통해서 A에 대해 코드를 직접 실행하고 그 결과를 알려줍니다.
환경설정도 필요 없습니다.
우리의 컴퓨터에 그 어떤 것도 설치할 필요없이, 자연어(한국어, 영어)로 부탁하면 GPT가 스스로 프로그래밍합니다.
이건 정말 엄청난 혁신입니다.
앞으로 나타날 미래가 상상이 되시나요?
프로그래밍 언어는 물론 영어도 잘 못하는 10살의 한국 어린이가 있습니다.
GPT가 옆에 있다면.. 이 아이는...
파이썬으로 빅데이터를 분석하고, 시각화할 수 있습니다.
물론 엑셀 자동화도 가능하고요.
이 모든 것이 문장 몇 번이면 가능합니다. 몇 분 만에요!
이제 이 기능이 왜 혁신인지 느껴지시나요?
아직 잘 모르시겠다면 제가 해보았던 예시들을 공유드리겠습니다!
팩토리얼에 대한 예시입니다.
먼저 팩토리얼이 무엇인지 한번 짚어보자면
0! = 1, ex) 5! = 5x4x3x2x1 = 120
이런 식의 연산을 수행하는 것을 !(팩토리얼)이라고 부릅니다.

실제로 해보니 간결하게 코드를 작성해 실행하는 걸 확인할 수 있었습니다.
아스키 아트는 이미지나 텍스트를 아스키코드로 변환한 것을 말합니다.
이미지의 픽셀마다 밝기가 다 다른 것을 이용하여 제작합니다.

저는 애플 로고를 아스키 아트로 만들어보겠습니다!
물론 챗지피티의 도움을 받습니다.

GPT가 스스로 코드를 작성하고 오류가 발생하면 알아서 수정한 후 다시 코드를 작성합니다.

와우!! 바로 만들어주네요.
간단한 이미지지만 시간이 조금 걸립니다.
기다리다 보면 애플 로고의 아스키 아트를 얻을 수 있습니다.

GPT에게 머신러닝 예제를 보여달라고 부탁했습니다.

라이브러리 임포트, 데이터 로드

로지스틱 회귀 모델 학습

나머지 과정도 계속 실행해달라고 요청했습니다.

혼동 행렬 생성

학습이 잘 완료된 것을 확인할 수 있습니다.
다음은 제가 혁신이라고 느끼게 된 예제입니다.
코드 인터프리터 몇번 써보다가.. 끝말잇기를 한번 만들어볼까? 하는 생각이 들었고
실은 '이게 될까? 과연?'이라고 생각하며 진행해보았습니다.
bryant: 파이썬을 활용한 끝말잇기 게임을 만들거야.
규칙은 아래와 같아.
GPT:

단어장이 필요하다고 해서 국립국어원에서 엑셀 파일을 다운받았습니다.

bryant: 이건 한국어 단어장이야.
단어|품사 로 이루어진 엑셀 파일이야.
위의 3개의 규칙에 더해 다른 규칙들을 추가할게.
4. 한국어 단어장에서 '품사'의 경우 명사만 참조한다.
품사 항목에는 명(명사), 동(동사), 형(형용사)등 다양한 항목들이 존재한다.
이 중에서 명(명사) 항목만 참조한다. 나머지는 상관 없는 데이터들이다.
5. 한국어 단어장에서 '단어'의 경우 중복된 단어는 제거한다.
예를 들어, 기구 라는 명사가 있다고 하자. '기구'가 같은 낱말이지만 뜻이 다양한 경우가 있다.
그럴 땐 기구01, 기구02 이런 식으로 엑셀 파일에 표시되어 있다.
이런 식으로 단어가 중복될 때는 '기구'라는 단어만 남기고 나머지는 참조하지 않는다.
6. 끝말잇기에 사용되는 단어는 2글자 이상이어야 한다.
1글자인 단어는 참조하지 않는다.
파일 - 한국어 학습용 어휘 목록.xls
GPT:

코드는 다음과 같습니다.

bryant: '기'로 시작하는 단어는 기차, 기름, 기차표 등이야.
너가 예시를 보여준 건 '기'로 끝나는 단어들이고.
자 다시 알려줄게
사용자가 단어를 입력했어 (ex. 한글) 그러면 너는 한글의 끝 글자인 '글'로 시작하는 단어를 입력하면 되는거야.
예를 들어 글자, 글씨 등이 있겠지?
이해했어? 이해했다면 이해했다고 알려줘. 바로 실행해볼게.
GPT: 네, 이해했습니다. 제가 잘못 이해했던 부분에 대해 죄송합니다. 사용자가 입력한 단어의 '끝' 글자로 시작하는 단어를 찾는 것이 목표입니다.
이번에는 단어장을 '시작' 글자에 따라 분류하겠습니다. 이렇게 하면 사용자가 입력한 단어의 마지막 글자로 시작하는 단어를 빠르게 찾을 수 있습니다.
이해한 대로 코드를 수정하고 다시 실행해보겠습니다.
아직 코드가 수정되지 않아 다시 요청했습니다.

다음은 테스트를 해볼 차례입니다.

잘 작동하네요!
단어장에 없는 단어도, 생성해내는 것이 아니라 없는 단어라고 잘 대답하는 걸 볼 수 있습니다.
코드 인터프리터를 이번 기회에 처음 사용해보면서, 엄청난 혁신이라는 걸 느꼈습니다.
간단한 프로그래밍은 물론이고
끝말잇기와 같은 프로그램도 만드는 걸 보고 너무 신기했습니다.
끝말잇기를 구현하는 것은 간단하지 않습니다.
생각보다 고려해야할 부분들이 있기 때문이죠.
제가 직접 구현하려고 했어도 하루는 족히 써야했을 것 같습니다..ㅎㅎ
저는 GPT와 함께 끝말잇기를 만들며 30분도 안되는 시간에 구현할 수 있었습니다.
이건 정말 놀라운 기술입니다!
파일 업로드가 가능하기 때문에, 엑셀 자동화도 가능해 보입니다.
엑셀 파일을 주고, 데이터 정리해달라고 하면 다 해줄 것 같아요.
다른 분의 사례를 보았는데, 데이터 시각화도 가능하다는 걸 확인했습니다.

코드 인터프리터로 수많은 비즈니스 기회가 생길 것 같습니다.
다들 한번 사용해보세요 ㅎㅎ 정말 신기합니다!
오늘 글은 여기서 마치겠습니다.
감사합니다, 브라이언트였습니다!
실수를 반복하더니
파이썬 코드상의 문제까지 집어주고
어떻게 수정했는지 알려주는 부분이 너무 인상적이네요...ㄷㄷ
좋은 글 감사합니다!