Projects About

에이전트 343번 호출, 3개 프로젝트를 하루에 — AgentCrow 패턴으로 컨텍스트 버티기

하루에 3개 프로젝트를 돌렸다. spoonai 번역 버그, 사주 앱 글로벌 결제 전략, 치과 블로그 이미지 파이프라인. 총 343번의 tool call, 22시간 6분의 세션. 정신이 없었지만 컨텍스트는 버텼다.

TL;DR AgentCrow 패턴(병렬 에이전트 5개 이내)과 스킬 시스템 덕분에 메인 컨텍스트가 오염되지 않았다. 진짜 삽질은 이미지 파이프라인 배경색과 로고 사이즈 튜닝이었다.

번역이 안 되는 진짜 이유를 3분 만에 찾았다

spoonai 번역 기능이 “제대로 안 된다”는 요청이 왔다. 막연한 문제였다. Explore 에이전트를 날리는 대신 lib/content.ts부터 직접 읽었다.

// lib/content.ts:133
const getPostSlugs = () =>
  fs.readdirSync(postsDir).filter(f => !f.includes("-en"));

!f.includes("-en")으로 영어 파일을 아예 필터링하고 있었다. getAllPosts("en")이 빈 배열을 반환하니 /posts/...-en URL이 전부 404였다. 번역 버튼이 눌려도 이동할 페이지 자체가 없었던 것.

고치는 건 간단하다. 근본 원인을 찾는 게 핵심이었다. 코드를 먼저 읽고, 가설을 세우고, 검증하는 순서를 지켰기 때문에 에이전트 없이 3분 안에 끝났다.

AgentCrow로 치과 블로그 병렬 처리

치과 블로그 세션이 제일 규모가 컸다. 206번의 tool call, 22시간짜리 세션. 이 세션에서 AgentCrow 패턴을 제대로 썼다.

━━━ 🐦 AgentCrow ━━━━━━━━━━━━━━━━━━━━━
Dispatching 3 agents:

🔄 @skill-updater → SKILL.md 사진 카테고리 7종 반영
📝 @blog-enhancer → 001 임플란트 블로그 전문성 고도화
🎨 @blog-reader → 002/003 블로그 구조 분석

핵심 규칙은 두 가지다. 첫째, 파일 수정 범위가 겹치지 않게 에이전트별 스코프를 명확히 지정한다. @skill-updaterSKILL.md만, @blog-enhancerpost.html만 담당한다. 둘이 같은 파일을 건드리면 충돌이 난다. 둘째, 에이전트 결과는 요약만 메인에 반영한다. 전체 출력을 복사하면 컨텍스트가 순식간에 찬다.

Read 124번, Edit 90번, Bash 72번, Agent 27번 — Agent가 전체의 8%밖에 안 되지만, 에이전트가 처리한 작업량은 전체의 60% 이상이다.

스킬을 라이브로 수정하면서 파이프라인 돌리기

dental-blog-image-pipeline 스킬이 이미지를 생성하는 도중에 규칙이 계속 바뀌었다. 일반적으론 좋지 않은 상황이지만, 이번엔 의도적이었다.

  1. 파이프라인이 이미지 24장 생성
  2. “최악이야 결과물” → 스킬 고도화 상태 확인
  3. 스킬 재로드 → 규칙 적용 → 파이프라인 재실행

배경색이 세 번 바뀌었다. 웜 베이지(#f5f0eb) → 하늘색(#f0f4ff) → 순백(#ffffff). 매번 캐시를 삭제하고 재실행했다. 로고 사이즈는 다섯 번 조정했다. 스크린샷을 직접 올리며 “지금 사이즈의 2배”, “반~1/3 정도여야 할 것 같아” 식으로 피드백을 줬다.

코드로 뭔가를 만드는 게 아니라, 에이전트를 도구 삼아 디자인 결정을 내리는 과정이었다. Gemini 3.1 Flash로 모델을 올리고, 한글 라벨 강제, 캡션 밴드 전체 적용 등 12개 규칙이 세션 중에 추가됐다.

결제 전략은 코드 없이 에이전트로만

사주 앱 글로벌 결제 세션은 tool call이 4번뿐이었다. 코드를 한 줄도 안 썼다.

Lemon Squeezy 반려 → Stripe/Paddle 점술 금지 정책 확인 → Komoju/Omise 조사 → 일본 사업자 필요 확인. 이 흐름이 브레인스토밍 스킬 하나로 구조화됐다.

반려당해서 lemonsqueezy는 더이상 못해
→ 국가별 전환결제로 할래 paddle / stripe 둘 다 사주 안해주잖아
→ komoju 확인해봐
→ 사업자 없으면?

4개의 짧은 프롬프트가 글로벌 결제 전략 전체를 커버했다. 스킬이 대화 맥락을 유지하면서 각 선택지의 트레이드오프를 정리해줬기 때문에 가능했다.

컨텍스트 관리가 핵심이었다

세션 3에서 사용자가 직접 “context compact하고 진행해줘”라고 했다. 22시간짜리 세션이었으니 당연하다.

메인 스레드에서 직접 파일을 읽으면 금방 컨텍스트가 찬다. 이번 세션의 패턴은 단순하다. 메인은 계획과 조율만 담당하고, 실제 파일 탐색과 수정은 에이전트에게 위임한다. 에이전트 결과가 오면 핵심 숫자와 결론만 기록한다.

실사 사진 16장 분류를 직접 보고 카테고리를 잡은 것도 같은 이유다. manifest.json에 오분류가 있었다. 46-009가 진료실로 잡혀있는데 실제론 대기실이었다. 이런 판단은 에이전트보다 메인이 더 빠르다. 맥락이 있기 때문이다.

에이전트는 파일 수정에 쓰고, 메인은 판단에 쓴다. 이 역할 분담이 343번의 tool call 동안 컨텍스트를 버티게 한 이유다.

Comments 0

0 / 1000