에필로그 - TPublisher

AI(ChatGPT / Codex)와 함께 개발하면서 쌓인 대화를 글로 만들고, 그 결과를 티스토리까지 자동으로 발행한다. 여기서 부터 시작했고 처음에는 정말 이 정도면 될 줄 알았다.

ChatGPT → TPublisher → Tistory

막상 시작해보니 생각처럼 단순하지 않았다. ChatGPT 공유 링크로 대화를 가져오는 방식부터 한계가 있었고, 결국 ChatGPT가 만든 결과물을 ZIP Package로 받아 처리하는 구조로 방향을 바꿨다.

 

그리고 이미지가 포함된 본문을 붙여넣는 과정이 느렸을 때는 처음에 TPublisher의 Clipboard 처리를 의심했다. 하지만 확인해보니 실제 병목은 Tistory Editor가 Base64 이미지가 포함된 HTML을 처리하는 과정에 있었다.

 

자동 발행을 살려보기 위해 OAuth 기반 발행과 다른 플랫폼, WebEngine 기반 접근까지 여러 방향을 검토했다. 한때 QtWebEngine까지 들어갈 줄은 나도 몰랐다. ㅋㅋㅋ 하지만 WebEngine을 사용한다고 Tistory Editor 내부의 Upload Pipeline 문제가 해결되는 것은 아니었고, 유지보수와 배포 부담까지 고려해 결국 그 방향도 버렸다.

 

완전 자동 발행을 끝까지 붙잡기보다, 자동화할 수 있는 부분과 사람이 해야 하는 부분을 나누는 것이 실제 사용에는 더 낫다고 판단했다.

프로그램보다 작업 방식이 남았다

그 뒤에도 ChatGPT에게 정해둔 Package 규칙과 다른 결과를 만드는 문제를 실제 사용 과정에서 확인했고, AI가 항상 완벽하게 규칙을 지키기를 기대하기보다 반복해서 발생하는 출력 흔들림은 TPublisher가 받아들이는 방향으로 다듬었다.

 

일주일 가량 블로그에 글을 올리면서 큰 문제도 없었다. 사실 TPublisher 프로그램 자체는 매우 가벼운 프로그램이다. 단지 외부 환경 제약 조건으로 우회하는 방법 찾는 과정에서 삽질과 뻘짓을 해서 그렇지 파이썬 프로그램 자체는 MyStock에 비해 매우 심플한 구조였다.

 

그래서 TPublisher 안정화 단계에서는 리팩토링 방향도 다시 검토했다. 크게 뜯어고치는 것보다 이미 잘 동작하는 부분을 유지하면서 필요한 영역만 개선하는 쪽을 선택했다. 작은 프로그램 하나 금방 만들 수 있을 줄 알았는데, 만들다 보니 프로그램 자체뿐 아니라 AI(ChatGPT / Codex)와 어떻게 개발하고 검토하고 기록할 것인지까지 함께 정리하게 됐다.

 

결국 지금의 흐름은 ChatGPT와 요구사항과 방향을 논의하고, Codex에서 구현과 검증을 진행한 뒤 다시 결과를 검토하고 GitHub에 남기는 구조가 됐다. 그리고 그 과정에서 쌓인 대화는 /TPUB를 통해 콘텐츠가 되고, TPublisher를 거쳐 Tistory에 발행한다.

그리고 만들고 보니

처음에는 TPublisher라는 자동 발행 프로그램 하나를 만들려고 했다. 그런데 만들고 보니 개발과 기록, 발행까지 이어지는 AI 협업 작업 방식 하나가 같이 만들어졌다. 그리고 정작 TPublisher가 하는 일을 다시 보면 제목과 태그와 본문을 옮기기 쉽게 만들고, 필요한 이미지를 확인해서 Tistory Editor로 넘길 수 있게 해준다. 마지막 확인과 발행은 사람이 직접 한다.

 

자동 발행기는 아니었다. 그 어떤 미사여구를 붙이더라도 결국 ChatGPT 대화 프린터였다.

만들어놓고 보니 참 어처구니 없는 프로젝트이긴 한데... 졸라 웃기다... ㅋㅋㅋ