글

라벨이 시리즈인 게시물 표시

코드는 빨랐는데 — jira-agent 다섯 에이전트 4일 회고 (구축기 3편)

이미지
시리즈 1편에서 jira-agent의 결과(7분 PR)를, 2편에서 그 흐름을 만든 4일 구축 과정을 다뤘다. 4일을 돌아보던 중 r/ClaudeAI에 “Claude를 쓰다 보니 코딩이 병목이 아니었다는 걸 깨달았다”는 글이 올라온 걸 봤다. 읽어 보니 같은 결론에 닿았다. 유료 backend 전환 글을 쓰려다 먼저 정리할 게 보였다. 다섯 개의 에이전트가 동시에 돌아간 4일 동안 코드 작성이 늦어서 시간이 걸린 적은 없다. 늦은 건 따로 있었다. 시간을 따로 측정한 건 아니고 4일을 돌아보며 받은 인상이다. 2편이 사흘 동안 무엇을 만들었는지를 다뤘다면 3편은 그 과정에서 에이전트 분담이 풀지 않은 영역을 짚는다. 다섯 개의 에이전트가 푼 건 코드 작성 속도였고, 그 위 층 세 군데(스펙·검증·통합)가 남은 병목이었다. 검증 영역은 같은 모델 풀이 가진 사각지대라 다른 풀로 분리해야 해소된다. 누가 읽으면 좋은가 1편·2편을 보고 “에이전트 분담만 잘 짜면 빠른가” 궁금한 사람 코딩 자동화 도구를 쓰면서 코드 작성 속도는 늘었는데 결과 시간이 안 줄어 답답한 사람 AI 에이전트 다층 검증이 검증을 강화해주는지 의심이 드는 사람 한 줄로 요약하면, 코드 작성은 에이전트들이 빠르게 풀었고 스펙·검증·통합 세 군데에서 시간이 다시 들어갔다 . 스펙을 4일 동안 두 번 고쳤다 5월 18일에 architect가 스펙을 처음 작성했다. 결정 12개와 다섯 섹션이었다. module-builder는 이 스펙을 받아 모듈 22개를 같은 날 만들었다. 코드 작성 자체는 막힘이 없었다. 그런데 5월 19일에 운영 중 backend 전환 가능성이 생기면서 LLMBackend 추상화를 추가해야 한다는 게 명확해졌다. 5월 20일에는 다중 파일과 동적 저장소 확장이 더 필요해져 9개 모듈을 새로 만들어야 했다. 코드를 빨리 짜는 능력은 그대로였는데 스펙을 다시 써야 하니 에이전트들이 함께 다시 움직였다. architect가 계획을 다시 세우고, module...

spec에서 첫 PR까지 — jira-agent 4일 구축 기록 (구축기 2편)

이미지
1편에서는 Jira에 티켓 하나 적으면 7분 만에 PR이 만들어지는 흐름을 보여줬다. 그 흐름을 만드는 데 사흘이 걸렸다. 5월 18일에 spec 결정 12개로 시작해서 5월 20일에 첫 운영 PR이 나오기까지다. 이 글에서는 그 사흘 동안 무엇을 결정했고, 어느 시점에 spec을 고쳤고, 어떻게 풀었는지를 기록한다. 비슷한 1인 자동화를 만들려는 사람에게 참고가 됐으면 한다. 누가 읽으면 좋은가 1편을 보고 jira-agent 같은 자동화를 직접 만들어보고 싶은 1인 개발자 4일 정도에 운영까지 올릴 만한 구축 흐름이 궁금한 사람 여러 모듈을 의존성 그래프로 묶어 동시에 만드는 방법이 필요한 사람 한 줄로 요약하면, architect가 한 번에 계획을 다 짜지 못했고 운영 실측 결과로 두 번 다시 짰다 . 그래서 4일이 걸렸다. 역할을 다섯으로 나눴다 5월 18일에 역할을 다섯으로 나눴다. 각자 무엇을 했는지는 본문에서 풀어쓴다. architect — spec을 받아 구축 계획과 의존성 그래프를 그리는 역할 module-builder — 계획에 적힌 모듈을 하나씩 가져가 코드와 테스트를 같이 쓰는 역할 integration-qa — 빌더가 만든 모듈을 모아 테스트 전체를 돌리는 역할 fail-fast-reviewer — 예외를 삼키거나 빈 분기를 두는 식의 fail-fast 위반이 있는지 검증하는 역할 infra-setup — launchd 상주, secrets 권한, worktree 격리 같은 환경을 깔아두는 역할 이 다섯이 같은 4일 동안 동시에 돌아갔다. 시간 순서로 풀면 다음과 같다. 1일차 — 결정 12개와 모듈 22개 5월 18일에 처음 spec을 작성했다. 결정 12개와 다섯 섹션으로 구성된 설계 문서다. 경로는 docs/superpowers/specs/2026-05-18-jira-agent-pipeline-design.md . 핵심 결정은 다음과 같다. 입력 = Jira description ...