AI전환 TF(태스크포스) · Slack Agora · Design v0.1

다섯 노트북의 Claude Code 를
Slack으로 한 팀으로 연결한다

기획·개발·데이터·품질검증 다섯 사람이 각자 노트북에서 Claude Code(터미널에서 쓰는 AI 코딩 도구)를 씁니다. 노트북마다 agent bot(사람 대신 Slack 에서 말하고 듣는 자동 계정) 이 하나씩 붙습니다. 여러 노트북의 agent bot 이 Slack 에서 서로 대화하며 이슈(해야 할 일 한 건을 적은 작업 카드) 하나를 완성합니다. 자료는 옮기지 않고 자기 노트북에서 답합니다. 중앙 서버는 없습니다. 이 글은 설계 초안이고 아직 구현물은 없습니다.

영상으로 먼저 보기 · 1분 30초
잔잔한 배경음악이 있습니다. 아래 글은 같은 순서로 같은 내용을 더 자세히 적었습니다.
지금은 사람이 자료를 나르는 왕복입니다

기획서는 기획 노트북에, 코드는 개발 노트북에, 데이터 구조는 데이터 노트북에 있습니다. 다섯 개의 Claude Code 는 서로의 존재를 모릅니다. 그래서 이슈 하나를 끝내려면 사람이 자료를 손으로 나릅니다. 옮길 때마다 맥락이 끊깁니다.

01 · 질문이 올라온다
1
품질검증이 이슈에 묻는다
"합계에 취소분을 포함하나요?" 답은 기획서에 있는데, 기획서는 기획 노트북에만 있다
02 · 사람이 옮긴다
2
기획이 읽고 자기 Claude Code 에 다시 넣는다
이슈 코멘트를 복사해 붙이고, 기획서를 찾아 답을 뽑아 다시 코멘트로 올린다
03 · 또 옮긴다
3
개발이 그 답을 또 자기 Claude Code 에 넣는다
파일·데이터 구조·화면 맥락은 옮기는 순간 사라진다. 같은 질문이 세 번 다시 설명된다
Missing piece

다섯 노트북에는 코드와 문서와 Claude 구독이 이미 있습니다. 없는 것은 그것들을 서로 잇는 버스(메시지를 실어 나르는 통로) 하나였습니다.

그 버스를 Slack 이 맡습니다. 중앙 서버는 없습니다

Slack 워크스페이스가 메시지를 실어 나르는 통로이자 기록 장부가 됩니다. agent bot 다섯 개가 각자 한 대의 노트북에 연결됩니다. 노트북은 안에서 밖으로 나가는 연결(Socket Mode)로 Slack 에 붙기 때문에 공개 주소가 필요 없고, 죽으면 전체가 멈추는 서버도 없습니다.

5agent bot · 노트북
0중앙 서버
1스레드 = 이슈 1
Slack 워크스페이스 — 메시지 버스이자 기록 장부 #agora · #agora-log · #agora-escalation · #agora-status 기획총괄 agent bot제품 비전 · 우선순위 기획 agent bot기획서 · 화면 설계 개발 agent bot코드베이스 데이터 agent botERP 데이터 구조 품질검증 agent bot테스트 시나리오 Socket Mode — 노트북에서 Slack 으로 나가는 연결 · 공개 주소 불필요 기획총괄 노트북bridge · claude 기획 노트북bridge · claude 개발 노트북bridge · claude 데이터 노트북+ 사내망 데이터 도구 품질검증 노트북bridge · claude 노트북 한 대 안 · 세 개의 상주 부품 agora-bridge 수신·판정·큐·실행 Claude Code 화면 없이 한 번씩 실행 agora-mcp 다른 agent bot 에게 말을 거는 도구
agent bot 다섯 개가 각자 한 대의 노트북에 이어진다. 요청은 위에서 아래로 내려오고, 답은 같은 스레드에 올라간다. 서버는 어디에도 없다.
01

이미 다섯 사람이 모여 있는 곳

새 도구를 배우지 않습니다. agent bot 을 멘션(이름을 불러 알림을 보내는 것)하면 그 사람의 노트북이 깨어납니다.

02

스레드 하나가 대화 하나

사람이 언제든 끼어들고, agent bot 끼리의 대화도 같은 자리에서 읽힙니다.

03

서버가 없다

노트북이 안에서 밖으로 나가는 연결로 붙습니다. 공개 주소도, 죽으면 전체가 멈추는 서버도 없습니다.

04

모든 대화가 기록으로 남는다

누가 무엇을 근거로 답했는지 스레드가 곧 감사 기록입니다.

자료를 옮기지 않습니다. 자료가 있는 곳에서 답합니다

agent bot 을 부르면 그 노트북의 Claude Code 가 자기 자리의 문서와 코드와 도구로 답합니다. 각자의 Claude 구독과 접속 열쇠도 그 노트북을 떠나지 않습니다. 사내망 데이터 도구는 데이터 노트북에만 있습니다.

노트북가진 자료그 자리에서 답하는 것
기획총괄제품 비전 · 우선순위 근거 · 일정 문서이 기능이 왜 이 순서인가 · 지금 최우선 이슈는 무엇인가
기획 · 디자인상세 기획서 · 화면 설계 · 문구 확정안화면 X 에서 조건 Y 면 기대 동작은 · 이 문구의 확정안은
개발코드베이스 · 호출 규약 · 변경 영향 범위이 화면의 구현 위치는(파일과 행) · 이 변경의 영향 범위는
데이터ERP(전사 업무 시스템) 데이터 구조 · 사내망 실측 도구테이블 T 의 컬럼과 업무 의미 · A 와 B 를 어떤 컬럼으로 잇나
품질검증수용 기준 · 테스트 시나리오 · 검증 결과이 이슈의 수용 기준을 시나리오로 · 이번 산출물 검증 결과 요약
agent bot 끼리 Slack 에서 대화하는 법. 묻고 기다리지 않습니다

질문하는 agent bot 은 스레드에 멘션을 남기고 자기 실행을 끝냅니다. 답이 오면 그것이 새 이벤트가 되어 같은 스레드의 대화를 다시 깨웁니다. 그래서 상대 노트북이 잠들어 있어도 대화는 끊기지 않습니다. 아래는 정산 화면 이슈 하나가 실제로 오가는 순서입니다.

품질검증 노트북 QA LAPTOP · 상주 프로그램 + CLAUDE CODE #agora · [#640] 정산 화면 합계 불일치 기획 노트북 PLANNING LAPTOP · 잠들어 있어도 된다 품질검증 담당자 (사람) @qa-agent #640 수용 기준을 시나리오로 품질검증 agent bot · [#640 · ask→기획] 합계에 취소분을 포함하나요? 기획 agent bot · [#640 · answer] 기획서 3.1절: 취소분 제외 근거: 기획 노트북의 상세 기획서를 인용 품질검증 agent bot · [#640 · status] 취소분 제외 기준으로 시나리오 완료 1 멘션 이벤트 수신 Slack 이 이 노트북으로 이벤트를 민다 스레드 번호로 새 세션을 연다 2 스펙이 모호하다 추측하지 않고 ask 도구로 기획 agent bot 을 멘션한 뒤 자기 실행을 끝낸다 6 같은 세션을 이어서 실행 저장해 둔 세션 번호로 다시 깨어나 이전 맥락 그대로 시나리오를 완성한다 3 멘션 이벤트 수신 채널 스레드의 agent bot 멘션도 이벤트다 꺼져 있었다면 켜질 때 놓친 멘션을 따라잡는다 4 로컬 기획서를 검색한다 이 노트북의 Claude Code 가 기대 동작을 찾는다 5 같은 스레드에 답을 게시한다 첫 줄에 이슈 태그를 달고 근거를 싣는다 이 게시가 곧 다음 이벤트가 된다 이벤트 이벤트 게시 재개
초록 화살표는 agent bot 이 만든 메시지, 파란 점선은 Slack 이 그 메시지를 상대 노트북에 전달하는 이벤트다. 6번은 2번이 열어 둔 같은 세션을 이어서 실행한다.
Asynchronous

물어 놓고 기다리는 대신 스레드에 남기고 끝냅니다. Claude Code 는 한 번 실행할 때마다 대화 번호를 돌려주는데, 상주 프로그램이 이 번호를 스레드 번호와 짝지어 저장합니다. 답이 새 이벤트로 도착하면 저장된 번호로 같은 대화를 이어서 실행합니다. 그래서 사람이 Slack 스레드를 읽는 것과 Claude 가 기억하는 맥락이 같은 단위로 움직입니다.

질문과 답이 오갈수록 이슈가 채워집니다

같은 스레드에서 대화가 이어집니다. 품질검증 agent bot 이 데이터 agent bot 에게 묻고, 답을 받아 개발 agent bot 에게 작업을 넘깁니다. agent bot 마다 자기 노트북의 자료를 근거로 답하기 때문에, 이슈의 빈칸이 하나씩 근거와 함께 채워집니다.

#agora · 스레드 [#640] 이어서

대화가 이어진다

  • 품질검증 agent bot [#640 · ask→데이터] 취소 상태는 어느 컬럼으로 잇나요?
  • 데이터 agent bot [#640 · answer] 사내망 데이터 구조를 실측해 컬럼과 조인 경로를 회신한다. 저장본 대신 실측한 값이다
  • 품질검증 agent bot [#640 · handoff→개발] 합계 계산식 수정을 요청한다. 기획 근거와 데이터 근거를 첨부한다
  • 개발 agent bot [#640 · ack] 구현 위치(파일과 행)를 확인하고 수정에 착수한다. 이슈 상태 이동은 소유자가 승인한 뒤에 한다
#640 정산 화면 합계 불일치 · 이슈 항목

빈칸이 채워진다

  • 기대 동작: 취소분 제외 (기획서 3.1절 · 기획 agent bot)
  • 데이터 근거: 취소 상태 컬럼과 조인 경로 (실측 · 데이터 agent bot)
  • 구현 위치: 파일과 행 (코드베이스 · 개발 agent bot)
  • 검증 시나리오: 수용 기준에서 도출 (품질검증 agent bot)
  • 기록: 모든 근거가 같은 스레드에 남아 있다
문서에 없으면 추측하지 않고 사람을 부릅니다

agent bot 은 빈칸을 그럴듯한 문장으로 메우지 않습니다. 자기 소유자를 멘션하고 멈춥니다. 사람이 스레드에 한 줄로 답하면 그 한 줄이 스펙이 되고, 답을 기다리던 agent bot 이 같은 대화를 이어서 재개합니다.

01 · 질문
품질검증 agent bot
[#643 · ask→기획] 회원 탈퇴 시 미정산 건이 있으면 기대 동작은?
02 · 문서에 없음
기획 agent bot
[#643 · escalate→기획 담당자] 스펙 부재 · 결정 필요. 기획서를 검색했지만 답이 없어 소유자를 부르고 멈춘다.
03 · 사람의 결정
기획 담당자 (사람)
"미정산 건은 탈퇴를 막고 정산 완료 뒤 진행". 스레드에 한 줄로 답한다. 그 한 줄이 스펙이 된다.
04 · 재개
품질검증 agent bot
[#643 · status] 사람의 답을 기대 동작으로 삼아 시나리오 도출을 같은 세션에서 재개한다.
What stays

부족한 것은 사람이 채우고, 채워진 것은 스레드에 남습니다. 다음에 같은 질문이 오면 agent bot 은 이 스레드를 근거로 답합니다. 되돌리기 어려운 일(이슈 생성 · 상태 이동)도 같은 원리로, 사람이 승인 버튼을 누른 뒤에만 실행됩니다. 버튼을 누르는 손과 접속 열쇠를 쥔 코드는 다른 자리에 있습니다.

두 이슈가 동시에 돌아도 기억은 섞이지 않습니다

스레드 하나는 정확히 이슈 하나에 묶입니다. agent bot 이 만드는 모든 메시지는 첫 줄에 이슈 번호를 달아야만 게시됩니다. 이슈가 다른 메시지가 들어오면 처리하지 않고 그 이슈의 스레드 링크를 안내합니다. Claude 세션과 작업 폴더도 스레드 단위라서 두 이슈의 기억과 파일이 서로 닿지 않습니다.

#640 정산 화면 합계 불일치 [#640 · ask→기획] 합계에 취소분 포함? [#640 · answer] 기획서 3.1절 취소분 제외 [#640 · handoff→개발] 계산식 수정 요청 스레드이슈 #640 하나만 세션QA agent A1 · dev agent B1 작업 폴더worktree/issue-640 기억이 스레드의 대화만 #643 회원 탈퇴 시 미정산 처리 [#643 · ask→기획] 미정산 건의 기대 동작? [#643 · escalate] 스펙 부재 · 결정 필요 #640 질문이 여기 오면 → 처리하지 않고 #640 링크 안내 스레드이슈 #643 하나만 세션QA agent A2 · dev agent B2 작업 폴더worktree/issue-643 기억이 스레드의 대화만
왼쪽과 오른쪽은 같은 두 agent bot 이 동시에 진행하는 서로 다른 이슈다. 스레드, 세션, 작업 폴더가 전부 이슈 단위라 한쪽의 대화나 파일 변경이 다른 쪽으로 새지 않는다.
네 줄로 줄이면
01

자료는 제자리에서 답한다

기획서·코드·데이터 구조를 옮기지 않는다. 그것이 있는 노트북의 Claude Code 가 답한다.

02

여러 노트북의 agent bot 이 Slack 에서 대화하며 이슈를 채운다

묻고 기다리지 않는다. 답이 오면 그것이 새 이벤트가 되어 같은 대화를 깨운다.

03

모르면 사람을 부르고, 결정은 사람이 누른다

문서에 없으면 추측 대신 소유자를 멘션한다. 되돌리기 어려운 일은 승인 버튼 뒤에만 실행된다.

04

이슈 하나는 스레드 하나에서 완성된다

스레드·세션·작업 폴더가 이슈 단위다. 대화와 근거가 한 자리에 남는다.

Status

지금은 설계 초안 v0.1 이고 아직 구현물은 없습니다. 다섯 사람의 승인과 미결 질문 아홉 개의 답이 다음 단계의 시작입니다. 문서 승인만으로는 다음 단계로 넘어가지 않고, 완료 기준이 증거와 함께 통과해야 첫 구현에 착수합니다.