'타이타닉 생존자 예측 with ChatGPT' 책 쓰기 (1주차)

1주차 사례 발표

'타이타닉 생존자 예측 with ChatGPT'를 제목으로 책을 쓰려고 합니다.

지금까지 책은 커녕 블로그 글 하나도 작성한 적 없는 글쓰기와는 전혀 무관한 삶을 살았습니다. 찐 공돌이 입니다.

어쨌든 위 제목으로 수업은 많이 해 와서 강의 콘텐츠는 있고 소스 코드도 이미 완성되어 있습니다. 책의 진행에 맞춰 소스를 변경해야 한다면 이런 건 쉽습니다. 문제는 원고 작성이지요. 글 쓰는 것도 힘들고, 별로 사용해 본 적 없는 도구들도 저를 힘들게 합니다.ㅠㅠ

1. 나의 책쓰기 진행 단계

현재 진행한 상태는 일단 목차는 완성되었습니다. 전체 챕터는 5개, 챕터 별로 섹션 2~3개 정도씩 있어 섹션 개수는 총 14개 입니다. 목차를 작성하고, 챗GPT한테 책의 방향을 알려주고 피드백 달라고 했더니 흥미를 끄는 제목들로 바꿔줬습니다. 만족합니다^^

오늘은 챕터 1의 섹션 1을 작성했습니다. 타이타닉 데이터에 어떤 내용이 있는지 살펴보고 캐글 사이트에 제출까지 하는 내용입니다. 참고로 타이타닉 생존자 예측은 데이터과학을 처음 배울 때 가장 많이 하는 프로젝트입니다. 코딩을 처음 배울 때 "Hello, World!"부터 작성하듯이요.
사실 타이타닉을 다루는 데이터과학 책의 첫 섹션은 어느 책이나 비슷 비슷합니다. 그러다 보니 좋은 아이디어가 하나 떠올랐습니다. 내 소스 코드를 첨부한 후 소스에 맞춰 초안을 작성해달라고 하는 것이지요. 얘가 초안을 작성한 후 조금만 수정하면 섹션 하나는 금방 끝나겠고, 앞으로도 이런 식으로 진행하면 되겠다 싶었습니다. 챗GPT가 소스를 이해할 수 있으니 독자층에 맞춰 설명글을 작성하고, 그 후에 제가 내용을 추가하거나 수정만 하면 될 것이라 생각했습니다.

하지만 결과는 참혹했습니다. 챗GPT도 지금까지 타이타닉 프로젝트를 많이 대답해 봐서 그런지 자기 코드를 예로 들며 설명글을 써 댑니다. 내 소스코드만을 사용해 작성하라고, 네가 만든 소스 를 사용하지 말라고, 지금 네 코드는 내 계획 상으로는 뒷 섹션에서 언급할 거라고... 프롬프트에 '명심', '제발' 등의 단어를 써가며 어떻게든 일을 시키려했으나, 계속 제가 의도한 글이 나오지 않았습니다. 말귀를 못 알아듣는 것인지, 고집이 센 건지...

어쩔 수 없이 지금까지 작업했던 것 전부 잊어버리라고 하고 다시 처음부터 작업하자고 한 뒤, 코드 셀 하나 하나를 주며 일을 시켰더니 조금 나아지기는 했습니다. 그런데, 이럴 바에는 내가 직접 쓰지 왜 얘를 시키나 싶어서, 결국 섹션 1의 원고를 직접 썼습니다. 오늘은 여기까지 했고 나중에 챗GPT는 제 원고의 문장을 다듬고 피드백을 듣는 용도로 사용할 생각입니다. 결국 더 시간만 잡아 먹었는데, 그냥 쉽게 날먹하려던 저를 반성하고 있습니다. 챗GPT와의 협업도 풀어야 할 숙제입니다.

2. 참고 할 벤치마크 도서

3. 지피터스에서 나에게 도움 되는 사례

지피터스에 코랩에 관한 글이 있지 않을까 싶어 검색했더니 여러 건이 나왔고, 다른 글은 제 작업과 관련없는 내용이었지만 구요한 님의 ChatGPT로 데이터 분석하기(Colab 사용하기) 글이 있어서 읽었습니다. 현재 제 가려운 부분을 해소하는 내용은 아니었지만, 비슷한 주제의 글이 있다는 것이 반가웠습니다.

4. 다음 주까지 진행할 부분 소개

일단 원고를 많이 작성해야 합니다.ㅠㅠ
그리고 이리 저리 찾다가 주피터 북이라는게 있다는 걸 알았습니다. (https://jupyterbook.org/en/stable/intro.html)

코랩은 주피터 노트북 기반인데, 주피터 노트북은 개발에는 편하지만, 출판을 위한 툴은 아닙니다. 주피터 북은 출판을 목적으로 만들어졌고, 이름에서 알 수 있듯이 주피터 노트북 사용자를 위한 것입니다. 2020년에 처음 나왔다고 합니다. 제가 마음에 드는 것은 책 안에서 소스를 변경해 실행해 볼 수 있는 인터랙티브 기능입니다. 매뉴얼을 읽어보니 뭔가 복잡해 보이는데, 아무튼 이걸 테스트해 보려고 합니다.

아래는 Jupyter Book과 유사한 도구들에 대한 ChatGPT의 대답입니다. 저는 죄다 첨 들어보는 도구들입니다ㅠㅠ

주요 도구들의 비교

도구

주요 특징

사용 용도

언어 지원

인터랙티브 코드 실행

설정 난이도

Jupyter Book

Jupyter Notebook 통합, 다양한 포맷 지원

교육 자료, 데이터 과학 책, 연구 논문 등

Python, Markdown

가능

보통

Sphinx

문서화, API 문서화에 강력, Jupyter Notebook 포함 가능

기술 문서, API 문서 등

Python, reStructuredText

가능

높음

MkDocs

간단한 웹 기반 문서화 도구, Markdown 사용

간단한 웹 문서화, 블로그 등

Markdown

가능 (플러그인)

낮음

Quarto

멀티 언어 지원, 다양한 포맷으로 출력 가능

데이터 분석, 보고서, 학술 논문 등

Python, R, Julia 등

가능

보통

R Markdown

R 언어 중심, Python 통합 가능

데이터 분석, 동적 보고서 생성 등

R, Python

가능

보통

Observable

JavaScript 기반 데이터 시각화 및 문서화

데이터 시각화, 실시간 분석 및 협업 문서

JavaScript

매우 강력

높음

5. 멤버들에게 피드백 받거나 도움 받고 싶은 부분

소스코드를 코랩에서 작성했는데, 코드 실행결과인 테이블이나 그래프를 원고에 포함시키는 경우가 매우 많습니다. 그런데, 테이블의 경우 행과 열의 개수가 다 제 각각이라 캡쳐 프로그램을 사용하면 폰트 사이즈가 일정하지 않습니다. 이 문제가 큰 고민인데 해결방법을 찾고 있습니다.
데이터 사이언스 책들을 보면 테이블의 폰트 사이즈가 다 일정한데 (독자가 읽기에는 이게 맞습니다) 원고 작성할 때 표를 일일이 만들며 완전 노가다 작업을 했나 싶습니다. 뭔가 자동화된 방법이 있을 것 같은데요.

6. Claude 테스트 결과 (1/21 추가)

ChatGPT만 유료를 사용해서 클로드는 무료버전으로 테스트했습니다.
결과는 클로드가 훨씬 좋은데요, ChatGPT와는 일을 시킨 방식이 달라 좀 더 테스트해봐야겠어요.

일단 무료버전이라 소스코드를 첨부했더니 파일 크기가 길다고 답변을 거부하네요. 겨우 코드셀 8개짜리 간단한 소스코드인데요. 파일 제출 대신 소스코드를 프롬프트에 복사해서 제출하라고 해서 그렇게 했습니다. 이 과정에서 세 개의 프롬프트로 나누어서 제출했습니다. 각각의 답변도 만족스럽고, 이걸 다시 이어달라고 했더니 매끄럽게 이었습니다. 원고의 수준은 ChatGPT보다 클로드가 훨씬 뛰어났습니다.
좀 더 복잡한 코드로 테스트 해 보고 싶었는데, 무료라 조금 밖에 사용 못 했는데 기다려야 합니다.

ChatGPT도 이런 방식으로 일을 시켰다면 제 목적에 맞는 원고를 어느 정도 작성해줬을 것 같습니다. 너무 날로 먹으려고 했던 걸까요??? 그런데 나중에 소스 코드가 길어지면 따로 따로 코드를 주는 것도 꽤 귀찮을 것 같습니다. Claude 유료를 구매해서 파일을 첨부하는 방식으로 일을 시켜야 정확한 비교가 될 것 같습니다. Claude를 구매했어야 했던 건데...

PS) 1번 항목 ChatGPT 대화내용 캡쳐 (일부)

아래 스터디장님 댓글을 보니 원래 잘 안 되는 건데, 제가 잘 몰라서 계속 얘한테 시켰나 싶네요. 아니면 프롬프트 작성 요령이 부족해서 원하는 결과를 못 얻은 것일 수도 있겠네요. (무식한 프롬프트 사례로 박제되는 건 아닌지ㅠㅠㅠ)

한국어로 된 문자 메시지의 스크린샷
한국어 메시지 스크린샷
한국어로 된 문자 메시지의 스크린샷
휴대폰 화면에 한국어 문자
검은 화면에 한국어 텍스트 스크린샷

4
13개의 답글

뉴스레터 무료 구독

👉 이 게시글도 읽어보세요