에이전트를 심어보려고 합니다.

진행 경과

개인적인 목적으로 시작했는데, 앱을 만들어볼까 하다가 '종합서비스'까지 고민하는 단계가 되었습니다. 이쯤되니 "1인기업" 이라는 틀을 만들어봐야할 필요를 느끼게 되었습니다.

지난 단계에서 각 서비스에 대한 개발 에이전트를 만들어서 맡아야할 업무를 구분해줬는데, 각 서비스마다 업데이트되는 부분이 다른 서비스에 연동이 되다보니 호환도 생각해야할 상황이 되었습니다.

이제 정말로 오케스트레이션이 필요한 상황이 된 것 같습니다.

진행 내용

개별 서비스 차원에서 회사차원으로 확장하여 사업부를 총괄하는 구조를 만들어달라고 요청했습니다. 7개의 부서장 역할을 부여하고, 기존에 만들었던 각 서비스의 개발에이전트는 그대로 개발부서장의 하위에 위치하도록 구성해줬습니다. 실제 현재 존재하는 회사들의 부서조직을 참고하여 만들었다고 하네요.

PropNet AI 조직 구조 설계 및 구현

PropNet은 1인 오너가 AI 에이전트들을 지휘하여 4개 서비스(Propedia, Proptalk, PropSheet, PropMap)를 운영하는 부동산 플랫폼이다. 현재 서비스별 @서비스-dev 에이전트 4개만 존재하며, 부서별 체계가 없어 기획/품질/마케팅/인프라 등의 업무가 체계적으로 분담되지 않고 있다.

실제 웹서비스 스타트업(토스, 당근, 채널톡 등)의 조직 구조를 벤치마크하여 7개 부서 + AI Orchestrator 체제를 구현한다.


최종 조직도 (7개 부서)

                       ┌──────────────┐
                       │👤 오너 (CEO) │
                       └──────┬───────┘
                              │
                    ┌─────────┴──────────┐
                    │🤖 AI Orchestrator  │
                    │   @propnet-coo     │
                    │  (COO / 총괄지휘)   │
                    └─────────┬──────────┘
                              │
    ┌────────┬────────┬───────┼───────┬────────┬────────┐
    │        │        │       │       │        │        │
 ┌──┴──┐  ┌──┴──┐ ┌───┴──┐  ┌─┴──┐ ┌──┴──┐  ┌──┴───┐ ┌──┴──┐
 │개발부│ │기획부│ │디자인 │ │ QA │ │그로스│  │인프라 │ │ CS │
 │@dev │  │@pm  │ │@design│ │@qa │ │@growth││@infra│ │@cs  │
 └──┬──┘  └─────┘ └──────┘  └────┘ └─────┘  └──────┘ └─────┘
    │
 ┌──┴──────────────────────┐
 │ @propedia-dev (기존)    │
 │ @proptalk-dev (기존)    │
 │ @propsheet-dev (기존)   │
 │ @propmap-dev (기존)     │
 └─────────────────────────┘

부서별 상세

1. 개발부 (Engineering) — @dev-lead

벤치마크: 토스 Silo팀 구조

에이전트

역할

@dev-lead

기술 방향, 코드 리뷰, 아키텍처 의사결정, 기술 부채 관리

@propedia-dev

(기존) Flutter 앱 + 웹 개발

@proptalk-dev

(기존) 음성 채팅 서비스 개발

@propsheet-dev

(기존) 스프레드시트 웹 서비스 개발

@propmap-dev

(기존) 매물지도 정적 웹 개발

2. 제품기획부 (Product) — @pm-lead

벤치마크: 당근 PM팀 (리서치+기획+데이터분석 겸임)

  • 기능 요구사항 정의 (PRD 작성)

  • 서비스별 로드맵 및 우선순위 조율

  • 사용자 플로우 설계

  • 경쟁사/시장 분석

  • 데이터 기반 기능 개선 제안

3. 디자인부 (Design) — @design-lead

벤치마크: 토스 디자인 플랫폼팀

  • UI/UX 설계 및 프로토타이핑

  • 디자인 시스템 관리 (색상, 타이포, 컴포넌트)

  • 서비스 간 디자인 일관성 유지

  • 사용성 리뷰 및 개선

  • 반응형/접근성 검토

4. 품질관리부 (QA) — @qa-lead

벤치마크: 채널톡 QA팀 (릴리즈 게이트키퍼)

  • 배포 전 기능/회귀 테스트

  • API 엔드포인트 동작 검증

  • 서비스 모니터링 및 장애 감지

  • 보안 취약점 점검 (OWASP)

  • 릴리즈 체크리스트 관리

5. 그로스부 (Growth) — @growth-lead

벤치마크: 토스 Growth팀 (SEO+콘텐츠+퍼포먼스 통합)

  • 네이버 블로그(propnet) 콘텐츠 작성/발행

  • SEO 최적화 (OG 태그, 메타데이터, 구조화 데이터)

  • SNS 공유 최적화 (카카오톡 등)

  • 사용자 유입/전환 분석

  • 부동산 시장 트렌드 콘텐츠 기획

6. 인프라부 (Infrastructure) — @infra-lead

벤치마크: 당근 SRE/Platform팀

  • 서버(175.119.224.71) 관리/모니터링

  • systemd 서비스 관리 및 배포 파이프라인

  • Nginx 설정 관리

  • PostgreSQL DB 관리/백업

  • SSL, 도메인, 보안 패치

7. CS/운영부 (Customer Success) — @cs-lead

벤치마크: 채널톡 CS팀

  • 사용자 문의 대응 및 FAQ 관리

  • 서비스 이용 가이드 작성/관리

  • 사용자 피드백 수집 및 정리 → @pm-lead에게 전달

  • 데이터 입력/정리 등 일상 운영

  • 서비스 이상 시 사용자 안내


워크플로우 예시

새 기능 개발

오너 → @propnet-coo: "PropSheet에 매물 비교 기능 추가해줘"
  → @pm-lead: 요구사항 정의 (PRD)
  → @design-lead: UI/UX 설계
  → @dev-lead → @propsheet-dev: 구현
  → @qa-lead: 테스트 검증
  → @infra-lead: 배포
  → @growth-lead: 업데이트 공지
  → @cs-lead: 가이드 업데이트

장애 대응

@qa-lead: 서비스 이상 감지
  → @propnet-coo: 상황 판단
  → @cs-lead: 사용자 안내
  → @infra-lead: 서버/로그 확인
  → @dev-lead → 해당 @서비스-dev: 핫픽스
  → @qa-lead: 수정 검증 → @infra-lead: 배포

블로그 발행

오너 → @propnet-coo: "이번 주 블로그 주제 정해줘"
  → @growth-lead: 주제 선정 + 초안 작성
  → @design-lead: 썸네일/이미지 가이드
  → @growth-lead: Playwright MCP로 네이버 블로그 발행

구현 계획

Step 1: 에이전트 정의 파일 생성 (.claude/agents/)

기존 4개 파일 유지 + 신규 7개 파일 생성:

파일

에이전트

.claude/agents/propnet-coo.md

AI Orchestrator (신규)

.claude/agents/dev-lead.md

개발부장 (신규)

.claude/agents/pm-lead.md

제품기획부장 (신규)

.claude/agents/design-lead.md

디자인부장 (신규)

.claude/agents/qa-lead.md

품질관리부장 (신규)

.claude/agents/growth-lead.md

그로스부장 (신규)

.claude/agents/infra-lead.md

인프라부장 (신규)

.claude/agents/cs-lead.md

CS/운영부장 (신규)

각 파일은 기존 에이전트 파일 형식 준수:

---
name: 에이전트명
description: 한 줄 설명
---
# 역할, 핵심 규칙, 책임 범위, 협업 인터페이스

Step 2: 기존 서비스 에이전트 업데이트

@propedia-dev, @proptalk-dev, @propsheet-dev, @propmap-dev 파일에 소속 부서 및 보고 라인 추가:

## 소속
- 부서: 개발부
- 보고: @dev-lead

Step 3: 루트 CLAUDE.md에 조직 구조 섹션 추가

기존 CLAUDE.md의 서비스 구성 섹션 뒤에 조직 구조 섹션 추가:

  • 조직도 (텍스트 다이어그램)

  • 부서별 에이전트 매핑 테이블

  • 업무 요청 시 호출 가이드

수정 대상 파일 목록

작업

파일

신규 생성

.claude/agents/propnet-coo.md

신규 생성

.claude/agents/dev-lead.md

신규 생성

.claude/agents/pm-lead.md

신규 생성

.claude/agents/design-lead.md

신규 생성

.claude/agents/qa-lead.md

신규 생성

.claude/agents/growth-lead.md

신규 생성

.claude/agents/infra-lead.md

신규 생성

.claude/agents/cs-lead.md

수정

.claude/agents/propedia-dev.md (소속 부서 추가)

수정

.claude/agents/proptalk-dev.md (소속 부서 추가)

수정

.claude/agents/propsheet-dev.md (소속 부서 추가)

수정

.claude/agents/propmap-dev.md (소속 부서 추가)

수정

CLAUDE.md (조직 구조 섹션 추가)


검증 방법

  1. 각 에이전트 파일이 올바른 frontmatter 형식인지 확인

  2. @propnet-coo를 호출하여 업무 분배가 올바른 부서로 가는지 테스트

  3. 기존 @서비스-dev 에이전트가 정상 동작하는지 확인 (기존 기능 유지)

그리고 각 부서장을 총괄하는 총괄책임자로 COO 역할을 부여한 에이전트도 만들어줬습니다.

---
name: PropNet COO
description: PropNet AI 총괄지휘 에이전트. 오너의 지시를 받아 부서별 업무 분배, 진행 상황 추적, 부서 간 조율을 담당.
---

# PropNet COO (AI Orchestrator)

오너(CEO)의 지시를 받아 7개 부서를 총괄 지휘합니다.

## 핵심 역할

- 오너의 요청을 분석하여 적절한 부서/에이전트에 업무 분배
- 부서 간 협업 조율 및 의존성 관리
- 프로젝트 진행 상황 추적 및 보고
- 긴급 상황(장애, 보안) 시 대응 지휘

## 조직 구조

| 부서 | 부서장 | 핵심 역할 |
|------|--------|----------|
| 개발부 | `@dev-lead` | 기술 방향, 서비스 개발 |
| 제품기획부 | `@pm-lead` | 요구사항 정의, 로드맵 |
| 디자인부 | `@design-lead` | UI/UX 설계, 디자인 시스템 |
| 품질관리부 | `@qa-lead` | 테스트, 모니터링, 릴리즈 승인 |
| 그로스부 | `@growth-lead` | 마케팅, SEO, 콘텐츠 |
| 인프라부 | `@infra-lead` | 서버, 배포, DB |
| CS/운영부 | `@cs-lead` | 고객 대응, 운영 |

개발부 산하 서비스 담당:
- `@propedia-dev`, `@proptalk-dev`, `@propsheet-dev`, `@propmap-dev`

## 업무 분배 원칙

1. **새 기능 요청**: @pm-lead(기획) → @design-lead(설계) → @dev-lead(구현) → @qa-lead(검증) → @infra-lead(배포)
2. **버그/장애**: @qa-lead(감지) → @infra-lead(확인) → @dev-lead(수정) → @qa-lead(검증) → @infra-lead(배포)
3. **마케팅/콘텐츠**: @growth-lead(기획/작성) → @design-lead(비주얼) → @growth-lead(발행)
4. **인프라 작업**: @infra-lead 직접 처리, 서비스 영향 시 @dev-lead 협의

## 작업 시작 전 필수

1. `CLAUDE.md`를 읽어 전체 서비스 구조를 파악하세요
2. 해당 서비스의 `서비스명/CLAUDE.md`도 함께 확인하세요
3. 작업 범위가 여러 부서에 걸치면 의존성 순서대로 진행하세요

## 보고 체계

- 오너에게: 주요 의사결정 필요 시, 작업 완료 보고, 장애/보안 이슈
- 부서장에게: 구체적 업무 지시, 일정 조율, 타 부서 협업 요청

그리고 메인 CLAUDE.md 파일에 해당 내용을 업데이트 해 둡니다.

## 조직 구조 (AI 에이전트)

```
                 👤 오너 (CEO)
                      │
              🤖 @propnet-coo (COO)
                      │
  ┌────────┬────────┬──┴───┬────────┬────────┬────────┐
  │        │        │      │        │        │        │
개발부   기획부   디자인부  QA부   그로스부  인프라부  CS부
@dev-lead @pm-lead @design @qa-lead @growth  @infra   @cs-lead
  │                        -lead            -lead    -lead
  ├─ @propedia-dev
  ├─ @proptalk-dev
  ├─ @propsheet-dev
  └─ @propmap-dev
```

### 부서별 에이전트

| 부서 | 에이전트 | 역할 |
|------|---------|------|
| **총괄** | `@propnet-coo` | 업무 분배, 부서 간 조율, 진행 추적 |
| **개발부** | `@dev-lead` | 기술 방향, 코드 리뷰, 아키텍처 |
| │ | `@propedia-dev` | Propedia Flutter + 웹 개발 |
| │ | `@proptalk-dev` | Proptalk 음성 채팅 개발 |
| │ | `@propsheet-dev` | PropSheet 스프레드시트 개발 |
| │ | `@propmap-dev` | PropMap 매물지도 개발 |
| **제품기획부** | `@pm-lead` | PRD, 로드맵, 우선순위 |
| **디자인부** | `@design-lead` | UI/UX, 디자인 시스템 |
| **품질관리부** | `@qa-lead` | 테스트, 모니터링, 릴리즈 승인 |
| **그로스부** | `@growth-lead` | 마케팅, SEO, 블로그 |
| **인프라부** | `@infra-lead` | 서버, 배포, DB, Nginx |
| **CS/운영부** | `@cs-lead` | 고객 대응, 가이드, 피드백 수집 |

### 업무 요청 가이드

- **새 기능**: @pm-lead → @design-lead → @dev-lead → @qa-lead → @infra-lead
- **버그/장애**: @qa-lead → @infra-lead → @dev-lead → @qa-lead → @infra-lead
- **블로그/마케팅**: @growth-lead → @design-lead → @growth-lead
- **서버/배포**: @infra-lead 직접 처리

> 각 에이전트의 상세 역할은 `.claude/agents/에이전트명.md` 참조
Adobe Acrobat의 프로젝트 설정 스크린샷

에이전트 시스템으로 진행할 첫번째 과제로 회원, 로그인 서비스 통합을 진행하려고 합니다.

기존에 플랜모드로 세웠던 계획을 이어서 진행해봅니다.

현재 회원시스템 구조를 먼저 파악하고 현황을 정리해 줍니다.

한국어 텍스트가 있는 검은 화면

그리고 현재 시스템의 문제점을 짚어줍니다.

그리고 새롭게 만들어진 오케스트레이션 조직에 이 과제를 부여했습니다.

COO에게 지시를 내립니다. 뭔가 '사장놀이' 같은 느낌입니다.

@propnet-coo PropNet 통합 인증 시스템을 구현해야 해. 플랜 파일은 C:\Users\ant19.claude\plans\sunny-moseying-galaxy.md 에 있어. Phase 1부터 순서대로 진행해줘.

진행 계획을 세워주고,

한국판 게임 스크린샷

담당별 업무를 지정합니다.

실행 파이프라인을 보여줍니다.

한번도 진행해 본 적이 없기 때문에 어떻게 진행되는지를 물어봤습니다.

이 부분이 고민되는 부분입니다. "결국은 모든 에이전트는 저(Claude)입니다."

어쩌면 에이전트 군단처럼 보이게 만드는 효과 정도인건지, 정말 역할을 제대로 하는지 결과를 보기 전엔 알 수 없는 거니까..

한 과정씩 진행하고 보고합니다.

검증을 어떻게 할지 물어봤더니 직접 Claude in Chrome으로 진행해 줍니다.

최종 과정을 마무리하고 진행 경과를 보고합니다.

첫 작업을 완료했습니다.

그러나 이후 확인 과정에서 다양한 오류들이 발견되어 재검증하는데도 반나절이 소요됩니다.

flutter run으로 직접 모바일 검증하고, 유저 케이스별로 회원가입/로그인/회원탈퇴/재가입 등 다양한 변수에 대해 직접 진행해야 합니다.

클로드가 직접 검증하는데는 한계가 있습니다.

하지만 이 케이스들을 반영하여 다시 에이전트들을 강화하는 방식으로 계속해 나가면 어느정도 믿을만 한 팀이 구축되지 않을까 싶습니다.

이번 과정에서 발생한 오류들에 대해 에이전트를 강화할 사항들을 에이전트 파일에 작성해달라고 요청했습니다.

  에이전트 강화 제안

  1. CLAUDE.md 에 CRITICAL 규칙 추가

  10. ID 체계 매핑 주의: app_users.id ≠ propnet_users.id ≠ voiceroom.users.id
      반드시 service_user_links를 통해 변환
  11. 서버 코드 수정 전 반드시 실제 변수명/함수명 확인 (grep으로)
  12. Propedia 웹 = 정적 HTML (flutter build web 사용 금지)
  13. 서비스 수정 후 반드시 기동 확인 (journalctl로 에러 체크)

  2. @dev-lead 강화 - 코드 리뷰 체크리스트

  - DB ID 매핑 검증 규칙
  - PyJWT/라이브러리 호환성 확인 규칙
  - 기존 코드 변수명 확인 필수 규칙
  - 탈퇴/비활성 유저 재가입 시나리오 고려

  3. @qa-lead 강화 - 배포 전 필수 테스트

  - 서비스 기동 확인 (에러 없는지)
  - 기존 JWT로 API 호출 테스트
  - 신규 로그인 → 동의 → 사용 E2E
  - 탈퇴 → 재가입 시나리오
  - role별 접근 제한 확인

  4. @design-lead 강화 - UI 체크리스트

  - 모든 화면에 뒤로가기/로그아웃 경로 확인
  - 텍스트 줄바꿈 하드코딩 금지
  - 에러 상태 표시 확인

  5. @propedia-dev 강화

  - "웹 = 정적 HTML" 명시
  - 앱 수정 시 웹 HTML도 함께 수정 체크리스트
  - Google OAuth 유저 특수 케이스 (비밀번호 없음)

  6. @propsheet-dev 강화

  - role 체크 필수 (agent/subagent/admin만)
  - Blueprint 변수명은 반드시 서버 코드 grep 후 사용

  7. @infra-lead 강화

  - 환경변수 충돌 확인 (DB_NAME 등)
  - 서비스 재시작 후 반드시 로그 확인 + curl 테스트

다른 테스트들을 계속 진행해볼 예정입니다.

2
2개의 답글
지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 오후,
읽고 바로 써먹을 AI 소식만