TL;DR
- AI에게 한국형 카드뉴스를 만들게 하는 도구를 만들었다.
- 방식은 ‘AI 여러 명이 역할 나눠 서로 점검하기’다.
- 같은 방식으로 그 도구 자체를 만들었다.
- 실제 블로그 글 1편을 카드 8장으로 뽑아봤다.
- 자동 게시는 안 한다. 사람이 확인 후 올린다.
무엇을 만들었나 — 카드뉴스 만드는 AI 도구
인스타그램에서 손가락으로 옆으로 넘겨 보는 카드 형태의 게시물이 있다. 그런 카드뉴스를 AI가 대신 만들어 주는 도구를 만들었다. 입력은 주제 한 줄이어도 되고, 읽은 블로그나 기사의 주소(URL)를 던져 줘도 된다. 그러면 AI가 그 내용을 카드 여러 장으로 정리해 준다.
기본 출력물은 카드 이미지 8장이다. 각 장은 1080×1350 픽셀, 인스타그램 세로 비율인 4:5에 맞춰져 있다. 표지부터 마무리까지, 인기 있는 카드뉴스 구조를 미리 분석해 만들어 둔 8가지 틀(템플릿) 위에 내용을 채워 넣는 식이다.
처음 아이디어는 달랐다. “인스타나 스레드에서 인기 많은 카드뉴스를 실시간으로 찾아 따라 만들자”였다. 그런데 그 서비스들은 바깥에서 글을 긁어오는 걸 막아 둬서, 실시간 수집이 불안정하고 허용되지도 않았다. 그래서 방향을 틀었다. 인기 카드뉴스의 ‘구조’만 미리 분석해, 다시 쓸 수 있는 틀로 박제해 두는 쪽을 택했다.
‘하네스’가 뭔가 — 쉬운 비유
보통 AI 한 명에게 “알아서 다 해줘”라고 맡기면 두 가지 함정이 생긴다. 첫째, 자기가 만든 걸 자기가 칭찬하기 쉽다. 채점하는 사람과 만든 사람이 같으니 후한 점수가 나오는 셈이다. 이걸 자기평가 편향이라고 부른다.
둘째, 작업이 길어지면 “이만하면 됐지” 하고 대충 마무리하기 쉽다. 끝이 안 보이면 슬슬 힘을 빼는 마음, 이걸 컨텍스트 불안이라고 한다. 둘 다 사람한테도 익숙한 약점이다.
이걸 막으려고 AI를 역할별로 나눈다. 이렇게 역할을 쪼개 서로 점검하게 만든 작업 방식을 ‘하네스’라고 부른다. 역할은 셋이다. 기획자(Planner)는 무엇을 어떻게 만들지 설계서를 쓴다. 제작자(Generator)는 그 설계서대로 실제 카드를 만든다. 검사자(Evaluator)는 채점표로 깐깐하게 검사하고, 통과 못 하면 돌려보낸다. 이 채점표를 루브릭이라고 부른다.
핵심 장치가 둘 있다. 하나는 이들이 서로의 속생각을 보지 않고 오직 ‘파일’로만 주고받는다는 점이다. 검사자가 제작자의 사정을 읽고 봐주는 일이 없도록 하기 위해서다. 다른 하나는 통과할 때까지 제작과 검사를 반복하고, 마지막엔 사람이 눈으로 최종 확인한다는 점이다. 이 사람의 최종 승인을 사인오프라고 한다. 이 방식은 Anthropic의 글 “Harness Design for Long-Running Application Development”(2026)에서 따왔다.

도구를 ‘도구로’ 만들었다
재미있는 지점은 따로 있다. 이 카드뉴스 도구(card-news-harness)를 만들 때도 똑같은 하네스 방식을 썼다. 스킬을 만들어 주는 또 다른 스킬(skill-wizard-harness)을 이용해, 기획자가 먼저 설계를 동결하고, 제작자가 모든 파일을 만들면서 샘플 카드 8장을 실제로 렌더해 봤다. 화면용 글자를 실제 그림으로 굽는 이 과정을 렌더링이라고 한다.
그다음 검사자가 그 결과를 원문, 곧 위에서 인용한 하네스 디자인 글과 일일이 대조해 감사했고, 통과(PASS) 판정을 받았다. 이후 사소한 보강 3건만 더했다. 그러니까 도구가 굴러가는 방식과 그 도구를 빚어낸 방식이 똑같았던 셈이다. 한 문장으로 못 박자면, 하네스로 작동하는 도구를, 하네스로 만들었다.

실제로 써봤다 — 블로그 글을 카드뉴스 8장으로
추상적인 얘기를 실제로 돌려봤다. 입력으로 Anthropic 블로그 글 “How Anthropic’s go-to-market engineering team uses Claude”(주소: https://claude.com/blog/how-anthropic-uses-claude-gtm-engineering)를 줬다. 코딩을 못 하던 영업 담당자 Jared Sires가 Claude Code로 잡무를 자동화하다가, 어느새 팀 전체가 쓰는 도구를 만드는 사람이 된 이야기다.
구체적인 결과가 글에 담겨 있다. CLAFTS는 Gmail 답장을 본인 문체로 대신 써 주는 앱인데, 주당 10–15시간을 아껴 줬고 약 4,300줄짜리 코드 대부분을 Claude Code가 작성했다. 고객 정보를 한눈에 모아 주는 영업 플러그인은 /customer-context라는 한 줄 명령으로 고객 360도 뷰를 약 90초 만에 띄웠고, 몇 달 만에 영업 조직의 80%가 이걸 쓰게 됐다. 신규 입사자가 자리를 잡는 데 걸리던 시간도 몇 주에서 첫날로 줄었다. 글의 핵심 메시지는 이 한 문장으로 모인다. “하나의 병목부터 시작하면, 결국 팀 전체가 바뀝니다.”
이 글이 카드 8장으로 바뀌는 과정은 이렇다. 먼저 URL 본문을 가져와 수치와 인용을 사실 확인한다. 그다음 기획자가 8장 흐름을 설계한다. 표지로 열고, 스토리, 도구①, 통계, 도구②, 통계, 인용을 거쳐 마지막 행동 유도(CTA)로 닫는 순서다. 제작자가 한국어 카피를 쓰고 틀에 채워 8장을 렌더하면, 검사자가 그 8장을 픽셀 단위까지 검사한다. 글자가 잘리지 않았는지, 가장자리 안전영역을 지켰는지, 글자와 배경의 대비가 충분한지, 원문 사실과 어긋나지 않는지를 본다. 그렇게 통과(PASS)가 나왔다.
여기서 만드는 방식을 한 줄 덧붙이면, 카드를 코드(HTML·CSS)로 짜서 자동으로 PNG 그림 파일로 바꾼다. 이유가 있다. AI 그림 생성은 한글 글자를 정확히 못 써서 글자가 자주 깨진다. 그래서 그림을 그리는 대신 실제 글자를 그대로 렌더링해야 한글이 안 깨진다. 글꼴은 무료 한글 글꼴 Pretendard를 내장했다.

중간에 작은 보강도 있었다. 사용자가 “배경도 넣자”고 해서, 코드로 직접 그린 은은한 배경을 더했다. 코랄빛 그라디언트, 미세한 알갱이 질감, 도트 그리드, 부드러운 글로우 같은 효과다. 배경을 더하고 8장을 다시 렌더한 뒤 재검사했고, 가독성 회귀 0, 즉 글이 더 읽기 어려워진 곳은 한 군데도 없이 통과했다. 그리고 사람이 최종 확인했다.

최종 결과물은 카드 8장(PNG)에 더해, 추천 인스타 캡션과 해시태그, 게시 전 점검용 체크리스트까지다. 다만 자동 게시는 하지 않는다. 인스타나 스레드에 올리는 건 사용자가 직접 한다. 마지막으로 GitHub에 올릴 안내문(README)을 영문과 국문으로 함께 써 뒀다.
일반 독자를 위한 교훈
이 작업에서 가져갈 만한 건 세 가지다.
첫째, AI에게 한 번에 다 시키기보다 역할을 나눠 서로 점검하게 하면 결과가 더 안정적이다. 만드는 쪽과 검사하는 쪽을 분리하는 것만으로 품질이 덜 들쭉날쭉해진다.
둘째, 카드뉴스 같은 시각물은 AI가 그린 그림이 아니라 실제 글자를 렌더링해야 한글이 안 깨진다.
셋째, 사람은 마지막 ‘취향 판단’만 해도 된다. 기계가 못 잡는 미묘한 미감과 분위기는 결국 사람 몫이다. 시작은 카드뉴스 만드는 도구 하나였지만, 그 도구를 똑같은 방식으로 빚었다는 점이 이 이야기의 작은 매듭이다.
스킬 저장소: https://github.com/greeun/card-news-harness (카드뉴스 생성), https://github.com/greeun/skill-wizard-harness (스킬 제작), https://github.com/greeun/wp-blog-post-harness (이 글 작성).