요즘IT
위시켓
AIDP
콘텐츠프로덕트 밸리
요즘 작가들컬렉션물어봐
놀이터
콘텐츠
프로덕트 밸리
요즘 작가들
컬렉션
물어봐
놀이터
새로 나온
인기
개발
AI
IT서비스
기획
디자인
비즈니스
프로덕트
커리어
트렌드
스타트업
서비스 전체보기
위시켓요즘ITAIDP
고객 문의
02-6925-4867
10:00-18:00주말·공휴일 제외
yozm_help@wishket.com
요즘IT
요즘IT 소개작가 지원
기타 문의
콘텐츠 제안하기광고 상품 보기
요즘IT 슬랙봇크롬 확장 프로그램
이용약관
개인정보 처리방침
청소년보호정책
㈜위시켓
대표이사 : 박우범
서울특별시 강남구 테헤란로 211 3층 ㈜위시켓
사업자등록번호 : 209-81-57303
통신판매업신고 : 제2018-서울강남-02337 호
직업정보제공사업 신고번호 : J1200020180019
제호 : 요즘IT
발행인 : 박우범
편집인 : 노희선
청소년보호책임자 : 박우범
인터넷신문등록번호 : 서울,아54129
등록일 : 2022년 01월 23일
발행일 : 2021년 01월 10일
© 2013 Wishket Corp.
로그인
요즘IT 소개
콘텐츠 제안하기
광고 상품 보기
개발

개발자의 일상, 글감으로 바꾸는 ‘글감봇’을 만들다

zwoo
9분
2시간 전
183
에디터가 직접 고른 실무 인사이트 매주 목요일에 만나요.
newsletter_profile0명 뉴스레터 구독 중

글감 정하기가 제일 어렵다

글을 쓸 때 가장 어려운 부분은 무엇일까? 나에게는 글감을 정하는 일이다. 원고를 한 달에 한 번 쓰는데, 3주가 넘도록 고민한 적도 있다. 글감은 내가 평소 관심을 갖는 주제들 중에서 고른다. 보통 제일 먼저 최근 작업했던 코드 리포지토리와 북마크해 두었던 웹페이지들을 열어보면서 글감 후보를 리스트업한다. 사이드 프로젝트를 많이 하는 시기에는 외부에 공개할 만한 코드가 많지만, 회사 업무가 바쁜 시기에는 대부분의 코드가 회사 코드라 한 번 더 생각해야 한다. 

 

아무리 흥미로운 소재도 필터링을 거치는 과정에서 재미 요소가 많이 휘발되기 때문에, 대체로 최종 글감 후보에서 탈락시키게 된다. 그리고 너무 어려운 소재나 식상한 소재도 제외해야 한다. 이렇듯 다양한 기준으로 후보를 좁혀 나가다 보면 정말 오랜 시간이 걸린다. 결국, 글쓰기를 시작하기도 전에 지치고 만다.

 

생각해 보면, 글감을 정하는 일은 일종의 메타인지 작업이다. "최근에 내가 뭘 했지?", "뭐에 관심이 있었지?", "그중에 다른 사람에게도 의미 있는 이야기는 뭐지?"를 찾는 일이다. 그런데 내가 하는 대부분의 일은 컴퓨터로 이루어지고, 매일 같은 툴을 반복적으로 사용한다. 그렇다면 자동화할 수 있는 부분이 있지 않을까 하는 생각이 문득 들었다. 그래서 나는 글감 찾는 일을 한 번 AI에게 맡겨보기로 했다.

 

글감봇 개발 과정 A to Z

내가 자동화를 원하는 기능은 다음과 같았다.

 

  • 최근에 내가 작업한 내용들을 조회
  • 작업내용을 AI 모델에 인풋으로 넣으면, 이를 기반으로 글감을 추천
  • 결과물은 이메일로 전송

 

이제 이걸 위한 코드를 짜야 하는데, 그것조차도 AI에게 시키고 싶었다. 코딩에 특화된 AI 에이전트로는 대표적으로 클로드 코드와 코덱스가 있다. 코딩 에이전트의 특징은 터미널에서 실행된다는 것이다. 만약 내가 ChatGPT에게 코드를 작성해 달라고 하면, 응답으로 코드를 받고 그것을 복사해서 사용해야 한다. 이건 두 가지 측면에서 불편한데, 하나는 일일이 손으로 복사해 붙여 넣기를 해야 한다는 점이고, 또 하나는 그 코드가 아무런 맥락 없이 짜인 코드라는 점이다. 하지만 터미널에서 실행하는 코딩 에이전트는 알아서 주변 파일들로부터 맥락을 학습해 파일을 생성하고 코드를 작성해 준다. 나는 클로드 코드를 선택했다. 2026년 2월 기준, AI 모델 벤치마크 1위는 Claude의 Opus 모델이며, GPT의 모델들은 상대적으로 낮은 순위를 기록하고 있다. 

 

클로드 코드 같은 터미널 기반 에이전트를 사용하면 로컬 파일 시스템에 자유롭게 접근시킬 수 있다. 로컬에 있는 Chrome 북마크 파일을 파싱하고, VS Code 캐시를 읽는 등의 작업도 매우 쉽게 시킬 수 있다. 초반에는 어떤 작업물들을 조회하게 해야 할지 확신이 없어서 완벽한 프롬프트를 기반으로 시작하지는 못했다. ‘글감봇을 만들고 싶어’로 시작해서 클로드와 대화를 통해 프로젝트를 발전시켜 나갔다. 기본 기능을 완성하기까지는 약 2시간이 소요되었고, 지난 일주일간 지속적으로 개선하는 중이다.

 

<출처: 작가>

 

1) 데이터 수집

글감봇의 핵심 아이디어는 단순하다. 평소에 내가 글감을 찾을 때 훑어보는 데이터 소스를 그대로 AI에게 넘겨주는 것이다. 나는 보통 글감을 정할 때 최근에 작업한 코드, 노션에 기록한 내용, 크롬에 북마크해 둔 페이지들을 참고한다. Claude Code에게 "나의 일상에서 사용하는 도구 중 글감 소스로 활용할 수 있는 것"을 물었더니, 다음 7가지를 제안해 주었다.

 

  1. Notion: 메모와 기록. 평소에 떠오르는 생각을 적어두는 곳이다.
  2. 브라우저 북마크: 최근 관심 분야를 가장 잘 보여준다. 어떤 기술을 검색하고 저장했는지가 고스란히 남아 있다.
  3. Claude 대화 기록: AI와 함께 작업한 내용. 어떤 문제를 풀었는지, 어떤 삽질을 했는지가 대화 형태로 기록되어 있다.
  4. VS Code / Cursor 에디터 캐시: 최근에 어떤 프로젝트를 열었는지 알 수 있다. 에디터가 캐시해 둔 최근 파일 목록을 읽는다.
  5. GitHub 활동: 커밋, PR, 이슈. 실제로 코드를 쓴 기록이다.
  6. Apple Calendar: 일정에서 스터디, 기술 미팅 같은 이벤트를 가져온다.
  7. RSS 피드: 구독 중인 블로그의 최신 글. 업계 트렌드를 반영한다.

 

흥미로운 점은 이 목록 중 대부분이 내 아이디어가 아니라, Claude Code가 제안해준 것이라는 점이다. 나는 처음에 Notion과 GitHub 정도만 생각하고 있었는데, "에디터가 캐시해 둔 최근 파일 목록도 읽을 수 있다"는 것은 미처 떠올리지 못했다. 그래서 클로드에게 이 제안을 받았을 때 무척 솔깃했다. 실제로 이 데이터는 "요즘 어떤 프로젝트에 시간을 쓰고 있는지"를 가장 정직하게 보여준다.

 

최종적으로는 브라우저 북마크와 VSCode 에디터 캐시를 소스에서 제외했다. VSCode 에디터 캐시는 특정 컴퓨터의 로컬 디렉터리에 저장되기 때문에, 원격 저장소인 GitHub에서 GitHub Actions를 실행할 때 직접 접근할 수 없다. 또한 코드는 어차피 GitHub에 Push되므로, 저장소에 있는 코드로 충분히 대체할 수 있다고 판단했다. 브라우저 북마크는 실질적인 활용도가 낮아 제외했다. 평소에도 북마크는 단순 참고용으로만 사용했으며, 직접적인 작업 소재로 활용하는 경우는 거의 없었기 때문이다.

 

각 소스에서 데이터를 가져오는 수집기 코드도 모두 Claude Code가 작성해 주었다. 나의 역할은 클로드가 접근 권한이 없어 문제를 겪지 않도록, 필요한 토큰들을 환경 변수에 등록해 주는 일이었다. 데이터들의 중요도는 처음에는 동등했으나, 나중에는 가중치를 추가했다. 가령 내가 직접 적어 둔 기록은 높게, 외부에서 읽은 글은 낮게 반영된다. 이 가중치 덕분에 추천되는 글감이 "내가 진짜 경험한 이야기" 위주로 나오게 되었다.

 

7가지 소스에서 수집한 데이터를 하나의 프롬프트로 묶어 Claude API에 전달한다. 이때 Claude에게 "개발자 출신의 편집자 겸 글쓰기 코치" 역할을 부여한다. 나는 단순히 소재만 원한 것이 아니라, 글의 주제와 방향성까지 제안받고 싶었다. 그래서 각 글감에 대해 추천 이유, 예상 독자, 개요, 참고 키워드를 함께 생성하도록 했다.

 

<출처: Claude Code 생성>

 

2) 글감 추천

결과물들은 대부분 괜찮았다. 사실 이번 글감봇도 글감봇에게 추천받은 주제다. 꽤 만족스러웠고, 실제로 추천받은 개요를 많이 참고했다.

 

<출처: 작가>

 

그런가 하면 할루시네이션이 포함된 결과물도 있었다. 클로드는 ‘한 일’과 ‘할 일’을 구분하지 못한다. 그래서 내가 할 일로 적어 둔 일정을 이미 완수한 일로 생각한다. 하지만 이는 실제로 진행한 적이 없는 일이므로, 클로드는 그 과정을 상상력으로 채우는 모양이다. 이건 아직도 고민하고 있는 부분이다. 아래 예시는 순전히 클로드가 상상해 낸 것이고, 내 캘린더에는 ‘Write Promotion 권한 회수 요청하기’라는 할 일이 적혀 있었을 뿐이다.

 

<출처: 작가>

 

3) 성능 튜닝

처음에는 이메일로 도착한 글감 메일을 보고, 불을 처음 발견한 원시인처럼 기뻐했으나 몇 번 더 테스트해 보는 과정에서 개선할 부분이 눈에 보였다.

 

첫째, 뻔한 주제만 나왔다

초반에는 RSS 피드 최신 글에 과도하게 영향을 받아, "2026년 AI 트렌드 정리" 같은 누구나 쓸 수 있고 나와 큰 관련이 없는 글감이 상위에 추천됐다. 이를 해결하기 위해 데이터 소스별 가중치 시스템을 도입했다. 내가 직접 작성한 Notion 메모에 2.0, Claude 대화와 GitHub에 1.5, 외부 RSS에 0.5를 부여했다. 결과는 즉시 달라졌다. 글감봇 개발기를 비롯한 프로젝트 관련 내용들이 상위로 올라왔다.

 

<출처: 작가>

 

둘째, 같은 글감이 반복 추천되었다

물론 테스트 중에는 짧은 간격으로 결과물을 생성하니 당연한 결과였다. 하지만 한 프로젝트를 긴 기간 동안 붙잡고 있는 경우도 많기 때문에, 글감의 중복 추천은 분명 생각해 볼 만한 문제였다. 이 문제를 고민하면서 글감 추천 주기에 대해서도 함께 고민했다. 회사에 입사하고 바빠지면서 이메일이나 메시지를 읽는 일이 번거롭게 느껴져, 구독했던 뉴스레터들도 하나씩 정리해 나가던 차였다. 마찬가지로 글감봇이 매일같이 이메일을 보낸다면 소음처럼 느껴지고 금방 질릴 것 같았다. 그래서 주기를 일주일로 정했다.

 

topic_history.json에 과거 12주간 추천 이력을 저장하고, 프롬프트에 "이미 추천한 주제는 피해줘"라는 조건을 추가했다. 그러자 글감봇은 우회 전략을 선택한 것인지, 같은 기술이라도 다른 각도로 추천해주었다. 예를 들어 한 번은 “NullReferenceException 디버깅 과정”이라고 추천해주고, 그다음번에는 “.NET 개발자가 알아야 할 Exception Settings”라고 추천해주는 식이었다. 다양한 관점으로 추천해 주는 건 괜찮은 것 같아서 수긍하기로 했다. 또한 현재는 topic_history.json으로 관리하고 있지만, 양이 많아지면 Notion 테이블을 DB로 활용하는 것도 고민 중이다.

 

셋째, 모델에 따라 품질 차이가 컸다

모델별 성능을 비교하고 싶어서 같은 데이터를 넣고, Claude의 Sonnet과 Opus로 A/B 테스트를 돌려봤다. 소재 선정 자체는 비슷했다. 차이는 개요에서 갈렸다.

 

Sonnet이 추천한 글감 <출처: 작가>

 

 

Opus가 추천한 글감 <출처: 작가>

 

Sonnet은 사실을 평면적으로 서술하는 반면, Opus는 좀 더 입체적이고 통합적으로 사고하는 것으로 보였다. 비용은 약 5배 정도 차이가 나지만, 그래도 추천받은 글감을 가지고 이야기를 만들어 내야 하는 입장에서는 상황을 판단하고, 해석까지 제시해 주는 Opus가 낫다고 판단해 Opus를 선택했다.

 

4) 배포와 운영

글감봇은 GitHub Actions로 매주 금요일 오후 5시(KST)에 자동 실행된다. 결과는 HTML 이메일로 포맷팅되어 Gmail로 발송된다. 금요일 퇴근 무렵에 이메일을 열면, 주말에 살펴볼 글감 10개가 개요와 함께 정리되어 있다.

 

GitHub Actions를 선택한 이유는 배포를 따로 관리하지 않아도 되고, GitHub 레포지토리에 올라간 코드만으로 바로 실행할 수 있으며, 스케줄링 기반으로 동작하기 때문이다. 글감봇은 주 1회만 실행되면 충분하고, 한 번 실행하는 데 약 5분이면 끝난다. 이런 작업을 위해 상시 서버를 운영하는 것은 과하다고 판단했다. 또한 GitHub Actions는 퍼블릭 레포지토리에서는 무료로 사용할 수 있고, 프라이빗 레포지토리에서도 월 2,000분의 무료 실행 시간이 제공된다. 글감봇의 실행 주기와 소요 시간을 고려하면 비용 부담도 거의 없다. 

 

배포 과정에서 한 가지 까다로웠던 부분이 있다. 바로 로컬 디렉터리 경로에 존재하는 에디터 캐시, 북마크, 클로드 히스토리를 다루는 부분이었다. 이 중 에디터 캐시는 GitHub로 대체할 수 있다고 판단해 제외했고, 브라우저 북마크는 평소에도 참고만 하는 정도라 과감히 제외했다. 

 

Claude 대화 기록은 로컬의 ~/.claude/ 디렉터리에만 존재하는데, GitHub Actions에서 이 데이터를 사용하려면 어딘가에 올려 둬야 했다. GitHub Secrets에 넣기에는 48KB 용량 제한에 걸렸고, 결국 Private Gist를 경유하는 방식으로 해결했다. Claude와 대화를 종료할 때 SessionEnd hook을 통해 그날의 대화 내역이 Gist에 업로드되고, GitHub Actions가 실행될 때 Gist에서 다운로드하는 흐름이다. 30일 이상 된 Gist는 삭제하도록 했다.

 

5) 프라이버시와 보안

7개의 데이터 소스에는 Notion 메모, 캘린더 일정, AI 대화 기록, 에디터 캐시처럼 민감할 수 있는 정보가 포함된다. 따라서 보안은 처음부터 고려해야 할 요소였다. 모든 API 키와 시크릿은 .env 파일에만 저장하고, .gitignore에 .env를 등록해 저장소에 커밋되지 않도록 했다. GitHub Actions에서는 Repository Secrets를 통해 런타임에만 환경 변수를 주입하는 방식으로 관리한다. 코드에는 어떤 비밀 값도 하드코딩하지 않는다.

 

6) 비용 관리

Claude API 비용을 살펴보면, Opus 모델 기준 회당 약 $0.6, 월 4회 실행 시 약 $2.5이다. 처음에 사용한 Sonnet 모델은 회당 $0.11로 저렴했지만, 앞서 말한 품질 차이 때문에 Opus로 전환했다. 커피 한 잔 값으로 한 달간 글감 40개의 브리프를 받는 셈이니, 글쓰기에 투자하는 비용으로는 꽤 합리적이다.

 

<출처: Cluade Code 생성>

 

클로드에게 전달하는 프롬프트에서는 한 번에 10개의 주제를 생성하도록 설정했다. 그런데 특정 주제에서 출력 토큰이 과도하게 사용되면 전체 10개가 완성되기 전에 응답이 잘리는 문제가 발생했다.

 

이를 해결하기 위해 주제 하나당 max_output_tokens를 800으로 제한했다. 덕분에 예산을 통제하면서도 안정적으로 10개의 결과를 받을 수 있게 되었다. 또한 매 실행 시 토큰 사용량과 비용을 기록하도록 해서 지속적으로 모니터링하고 있다.

 

<출처: 작가>

 

 

마치며

글감봇을 2주간 사용해 보니 효과는 숫자로 나타났다. 글감 선정에 최소 반나절에서 몇 주가 소요되곤 했는데, 이제 이메일을 훑는 5분으로 줄었다. 아직 첫 번째 원고이긴 하지만, 추천받은 글감이 실제 원고로 연결되는 경험도 했다. 그리고 채택하지 않은 다른 글감들도 "아, 이런 관점도 있구나" 하는 자극을 주기 때문에 나름의 가치가 있다고 느낀다.

 

글감봇의 가장 큰 장점은 "나만 쓸 수 있는 글"을 추천해준다는 점이다. 내 GitHub 커밋, 내 Notion 메모, 내 Claude 대화에서 뽑아낸 주제이기 때문에 다른 누구도 같은 글감을 받을 수 없다. 개발 블로그의 차별화는 결국 자신만의 경험에서 나온다고 생각하는데, 글감봇이 그 경험을 알아서 발굴해 주는 셈이다.

 

그리고 글감봇을 만들면서 한 가지 깨달은 것이 있다. AI를 가장 잘 활용하는 방법은 "대단한 것을 시키는 것"이 아니라, "귀찮지만 반복적인 나의 작업을 대신 시키는 것"이었다. 글감 선정은 창의적인 작업이라고 생각했지만, 알고 보니 데이터 수집과 패턴 매칭에 가까웠다. 그 사실을 알게 된 것만으로도 이 프로젝트는 가치가 있었고, 최고의 글감은 거창한 데서 오는 것이 아니라, 이미 내 일상 속에 있었다. 

 

©️요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.