Claude로 법무법인 마케팅 콘텐츠 자동 검토 파이프라인 만들기
법무법인 마케팅을 대행하는 지인의 요청으로 콘텐츠 자동 검토 파이프라인을 만들어봤다.
목표는 단순했다.
초안 하나를 넣으면 문맥, 법적 리스크, 마케팅 관점까지 순서대로 검토하고 최종 수정본을 뽑아내는 구조다.
왜 필요했나
법무법인 마케팅 콘텐츠는 일반 블로그 글처럼 "잘 읽히면 끝"이 아니다.
최소한 세 가지 기준을 동시에 통과해야 한다.
| 기준 | 확인할 내용 |
|---|---|
| 가독성 | 잠재 의뢰인이 상황과 해결 방향을 쉽게 이해할 수 있는가 |
| 법적 안정성 | 변호사법, 광고 규정에 어긋날 만한 표현은 없는가 |
| 마케팅 효과 | CTA, 검색 키워드, Pain Point가 충분히 살아 있는가 |
문제는 이 세 가지를 한 사람이 동시에 잘 보기 어렵다는 점이다.
카피에디터는 법률 리스크를 놓치기 쉽고, 변호사는 마케팅 표현을 지나치게 보수적으로 다듬을 수 있다. 마케터는 전환율을 높이려다가 법적으로 위험한 표현을 쓸 수 있다.
그래서 검토 관점을 하나의 프롬프트에 모두 넣는 대신, 역할별 Agent로 나누기로 했다.
전체 구조
파이프라인은 4단계다.
input/original.md
-> STEP 1: Context Reviewer
-> STEP 2: Legal Reviewer
-> STEP 3: Marketing Reviewer
-> STEP 4: Final Editor
-> output/step4_final/final.md
각 Agent는 이전 단계의 draft.md를 입력으로 받고, 자기 역할에 해당하는 부분만 검토한다.
중요한 원칙은 하나다.
자기 역할이 아닌 영역은 건드리지 않는다.
이 원칙을 넣지 않으면 모든 Agent가 비슷한 방향으로 글을 다시 쓰기 시작한다. 그러면 단계가 나뉘어 있어도 결과는 단일 프롬프트와 크게 다르지 않다.
Agent 1: 문맥 검토자
첫 번째 Agent는 10년 차 카피에디터 역할이다.
법률적으로 맞는지, 마케팅 성과가 좋은지는 판단하지 않는다. 오직 글의 흐름과 읽기 편한지만 본다.
주요 검토 항목은 다음과 같다.
- 도입, 사례, 법적 쟁점, 해결 방향, CTA의 흐름이 자연스러운가
- 한 문장이 지나치게 길지 않은가
- 문단 간 전환이 끊기지 않는가
- 같은 내용을 반복하고 있지 않은가
- 원본의 핵심 사례나 사실관계를 훼손하지 않았는가
출력은 두 파일로 나눴다.
output/step1_context/
├── feedback.md
└── draft.md
feedback.md에는 문제점과 수정 방향을 남기고, draft.md에는 실제 수정된 본문을 저장한다.
Agent 2: 법리 검토자
두 번째 Agent는 법률 광고 리스크를 보는 역할이다.
STEP 1에서 정리된 흐름은 최대한 유지하고, 위험한 표현만 잡는다.
| 유형 | 위험한 표현 | 대체 방향 |
|---|---|---|
| 결과 보장 | "반드시 승소", "100% 해결" | "유리한 결과를 이끌어낸 경험" |
| 최상급 표현 | "국내 최고", "업계 1위" | "풍부한 경험", "다수의 유사 사건 처리" |
| 비용 오해 | "무조건 전액 환급" | "사안에 따라 비용 상담 가능" |
여기서 중요한 건 모든 문장을 무조건 약하게 만들지 않는 것이다.
법적으로 문제가 될 수 있는 표현은 줄이되, 허용되는 범위 안에서는 설득력을 최대한 유지하도록 지시했다.
Agent 3: 마케팅 검토자
세 번째 Agent는 디지털 마케터 역할이다.
STEP 2에서 설정된 법적 한계선을 넘지 않는 조건으로 전환율을 높이는 방향을 찾는다.
주요 검토 항목은 다음과 같다.
- 잠재 의뢰인의 Pain Point가 충분히 드러나는가
- CTA가 구체적이고 부담스럽지 않은가
- SEO 키워드가 자연스럽게 들어가 있는가
- 블로그, SNS, 웹사이트 중 어느 채널에 적합한 톤인가
- 제목과 소제목이 검색 의도에 맞는가
법리 검토 이후에는 표현이 다소 밋밋해질 수 있다. 이 단계에서는 다시 마케팅 관점에서 힘을 실어준다.
단, 결과 보장처럼 법적으로 민감한 표현은 다시 살리지 않는다.
Agent 4: 최종 편집자
마지막 Agent는 앞선 세 단계의 결과를 조율한다.
역할은 단순한 문장 교정이 아니다. 문맥, 법리, 마케팅 의견이 충돌할 때 최종 판단을 내리는 편집자다.
우선순위는 이렇게 정했다.
| 충돌 상황 | 판단 기준 |
|---|---|
| 마케팅 효과 vs 법적 제약 | 법적 제약을 우선하고, 허용 범위 안에서 마케팅 효과를 최대화 |
| 문맥 흐름 vs 마케팅 강조 | 독자 경험을 우선 |
| SEO 키워드 vs 자연스러운 문장 | 자연스러운 문장을 우선 |
최종 결과물에는 본문뿐 아니라 운영에 필요한 정보도 같이 넣었다.
- 최종 제목
- 제목 후보 2~3개
- 단계별 주요 변경사항
- 추천 게재 채널
- SEO 키워드
- 후속 콘텐츠 아이디어
프로젝트 구조
Claude Code에서 바로 돌릴 수 있도록 파일 구조를 단순하게 만들었다.
project/
├── CLAUDE.md
├── agents/
│ ├── agent1_context.md
│ ├── agent2_legal.md
│ ├── agent3_marketing.md
│ └── agent4_final.md
├── input/
│ └── original.md
└── output/
├── step1_context/
│ ├── feedback.md
│ └── draft.md
├── step2_legal/
│ ├── feedback.md
│ └── draft.md
├── step3_marketing/
│ ├── feedback.md
│ └── draft.md
└── step4_final/
└── final.md
핵심은 CLAUDE.md다.
여기에 전체 실행 순서, 각 Agent의 역할, 입출력 경로, 금지 행동을 적어둔다. Claude Code는 프로젝트 디렉토리의 CLAUDE.md를 먼저 읽기 때문에, 실행할 때마다 같은 기준으로 파이프라인을 돌릴 수 있다.
실행 요청은 이렇게 단순하게 만들었다.
input/original.md 파일을 읽고 CLAUDE.md의 파이프라인대로
STEP 1부터 STEP 4까지 순차적으로 실행해줘.
각 단계마다 결과 파일을 저장하고 완료 여부를 알려줘.
병렬 실행을 막은 이유
이 파이프라인은 병렬 실행하면 안 된다.
STEP 2는 STEP 1의 draft.md를 기준으로 검토해야 하고, STEP 3은 STEP 2에서 정리한 법적 한계선을 지켜야 한다. STEP 4는 앞선 세 단계의 결과를 모두 읽어야 한다.
겉으로는 네 명의 전문가가 독립적으로 검토하는 구조처럼 보이지만, 실제로는 순차 편집 파이프라인에 가깝다.
그래서 CLAUDE.md에 다음 원칙을 명시했다.
각 단계는 반드시 순차 실행한다.
이전 단계의 draft.md가 생성되기 전에는 다음 단계를 시작하지 않는다.
병렬 실행하지 않는다.
단일 프롬프트와 비교
처음에는 하나의 프롬프트로 문맥, 법리, 마케팅 검토를 모두 시켰다.
결과는 애매했다.
법리 검토는 얕고, 마케팅 표현은 약하고, 문맥 수정은 거의 없었다.
역할을 나누니 결과가 훨씬 안정적이었다.
| 항목 | 단일 프롬프트 | 4단계 파이프라인 |
|---|---|---|
| 문맥 정리 | 부분 수정에 그침 | 글 전체 흐름 기준으로 정리 |
| 법리 검토 | 위험 표현 일부만 탐지 | 표현 유형별로 체계적 검토 |
| 마케팅 보강 | 일반적인 조언 위주 | CTA, SEO, Pain Point를 분리해 개선 |
| 충돌 조율 | 기준이 불명확 | Final Editor가 우선순위에 따라 판단 |
| 재현성 | 실행할 때마다 편차 큼 | 같은 구조로 반복 실행 가능 |
만들어보며 느낀 점
멀티에이전트 구조의 핵심은 Agent 수를 늘리는 게 아니었다.
중요한 건 역할과 금지 행동을 명확히 나누는 것이다.
특히 법무법인 마케팅처럼 표현의 강도와 리스크가 계속 충돌하는 콘텐츠는 한 번에 다 고치려 하면 결과가 흐려진다. 문맥, 법리, 마케팅, 최종 조율을 분리하니 각 단계의 판단 근거가 더 선명해졌다.
Claude Code와 로컬 파일 구조만으로도 이런 검토 파이프라인은 충분히 만들 수 있다. 외부 SaaS를 붙이지 않아도 되고, 단계별 결과가 파일로 남기 때문에 나중에 어떤 판단으로 문장이 바뀌었는지도 추적하기 쉽다.