디스코드 봇에 Aside를 붙인 판결·논문 수집 자동화

소개
업무 질의에 쓰는 중대재해처벌법 LLM 위키(판결 167건, 논문 158편, 검증된 인용 1,071건)가 9월 21일 이후 멈춰 있었어요. 판례 사이트가 새 판례 알림 메일을 보내도 받아 넣는 사람이 없어서, 9월 8일 이후 알림 9통(판결 10건)이 메일함에만 쌓였습니다. 새 판결이 나오면 관련 평석을 찾고, 최근 논문을 따로 내려받는 일도 전부 손으로 해야 했어요.
혼자 다 맡기면 토큰도 많이 들고, 틀려도 아무도 모릅니다. 그래서 역할을 셋으로 나눴어요.
- 손 = Aside : 로그인이 필요한 화면을 열고, 메일을 읽고, 판결과 논문을 내려받아요
- 일꾼 = 그록 : 티켓 하나씩 코드를 짜고 웹을 검색해요
- 검수 = 클로드 : 일을 나눠 주고, 보고를 믿지 않고 직접 다시 돌려 보고, 발췌가 맞는지 최종 판정해요
- 다 만든 뒤에는 디스코드 봇 둘 이 매주 돌려요. 수집 봇에게는 Aside를 손으로 쥐여 주고, 위키 봇에게는 위키 적재 절차를 맡겼어요
- 그리고 사람(저) : 인증 문자, 위키 반영 승인, 커밋처럼 버튼 몇 개만 눌러요
바쁘시면 이것만 읽어도 돼요
- 판결 저장은 CLI로 Aside 에이전트에게 맡기고, 알림 메일은 REPL로 한 동작씩 확인하며 13초 만에 읽었어요. 강의에서 배운 세 길(CLI·REPL·MCP) 구분을 그대로 썼습니다
- 티켓마다 그록이 구현하고 클로드가 직접 시험했어요. 틀린 2건은 미통과 항목만 다시 시켜 고쳤어요
- 모든 단계가 실행 영수증을 남기고, 칸이 비면 다음 단계로 넘어가지 않아요. Aside의 "저장했어요"도 파일을 다시 열어 확인해요
- "0건"과 "실패"를 섞지 않는 상태표는 Aside가 계획을 검토하며 제안한 안이에요. 강의의 결과 영수증과 같은 네 가지 상태예요
- 저는 자는 동안 맡겨 두고, 아침에 보고서와 보류 질문만 받았어요
- 이제는 디스코드 채널 하나에서 봇에게 한 줄로 지시해요. 수집 봇이 Aside로 로그인된 화면을 다루고 영수증 요약을 올리면, 위키 봇이 위키에 넣고 보류 질문만 한 메시지로 물어요
이런 분들께 도움돼요
- 로그인이 필요한 사이트에서 정기적으로 자료를 모아야 하는 분
- 알림 메일은 오는데 정리할 시간이 없어 쌓아 두고 계신 분
- 여러 AI를 같이 쓰는데 "누가 뭘 맡고, 누가 확인하는지"가 고민인 분
진행 방법
| 역할 | 누가 | 맡은 일 |
|---|---|---|
| 손 | Aside (계정 하나, CLI로 호출) | 개인 메일함의 판례 알림 읽기, 판결 원문 저장, RISS 최신순 논문 검색, 도서관 로그인, 구글 검색 보충 |
| 일꾼 | 그록 서브에이전트 (Grok 4.7) | 티켓별 구현과 시험, 평석·기사 웹 검색 |
| 검수 | Claude Code (Claude Opus) | 계획 인터뷰, 스펙·티켓, 지시·검증·병합, 코드 리뷰, 발췌 최종 판정 |
| 매주 돌리는 봇 | 수집 봇(그록 기반), 위키 봇(코덱스 기반) | 디스코드 채널에서 지시받아 수집 명령(Aside 사용), 위키 적재 절차 실행 |
| 결정 | 사람 | 인증 문자, 위키 반영 승인, 커밋 |
0. 역할부터 정했어요
처음 계획을 세울 때부터 토큰이 걱정이었어요.
그리고 이렇게 작업하면 토큰 소모가 심할거니까 웬만한 하위작업들은 그록으로 다 처리해버려. 고도의 작업만 클로드 opus로 진행하는걸로 하고.밤에 돌릴 지시를 만들 때 한 번 더 못 박았어요.
주요 워커는 그록으로 하되. 메인결정이나 조정은 클로드로처음에는 에이전트 창을 여러 개 띄우는 방식(Orca 워커)으로 시작했다가, 같은 세션 안에서 서브에이전트를 부르는 쪽이 단순해서 바꿨어요. 클로드는 "구현 코드는 직접 쓰지 않는다"는 규칙을 받았고, 지시와 검증만 합니다.
역할은 만들 때 와 매주 돌릴 때 가 달라요.
| 단계 | 손 | 실행 | 확인 | 결정 |
|---|---|---|---|---|
| 만들 때 | Aside(실데이터 시험) | 그록 서브에이전트 | 클로드(코디네이터) | 사람 |
| 매주 돌릴 때 | Aside(수집 봇이 부름) | 수집 봇, 위키 봇 | 클로드 Opus(발췌 판정), 실행 영수증 | 사람 |
매주 돌릴 때의 한 바퀴를 그림으로 그리면 이래요.
1. 손: Aside는 로그인된 화면을 맡아요
무인 작업에서는 사람이 Aside 창에 입력하지 않고, 수집 명령이 터미널에서 Aside를 불러요. 강의에서는 그 길을 셋으로 나눴어요. CLI 는 Aside에 요청을 전달해 작업을 시작하고 이어 가는 길, REPL 은 작은 동작을 실행하고 결과를 보며 반복하는 길, MCP 는 다른 에이전트가 Aside 도구를 찾아 부르는 길이에요. 저는 이렇게 나눠 썼어요.
- 판결 저장 (CLI) : Aside 에이전트에게 원래 쓰던 판결 저장 스킬을 정해진 문장으로 부탁하고, 답은 "파일 경로, 사건번호, 사건명" 세 칸짜리 한 줄로만 받아요. 답이 짧고 모양이 정해져 있어야 다음 단계가 기계적으로 확인할 수 있어요
- 메일 읽기 (REPL) : 계정 확인 → 메일 검색 → 본문 읽기를 한 동작씩 실행하고, 돌아온 값을 보고 다음으로 갈지 멈출지 정해요. 메일 검색은 Aside에 들어 있는 Gmail 도우미가 로그인된 제 메일함에서 해요. 사람이 하던 이 관찰 반복을 수집 명령이 대신 하고, 한 번 재 보니 13초 걸렸어요
- 논문 찾기 (REPL) : 같은 방식으로 RISS 최신순 목록을 읽고, 기존 158편과 제목·DOI로 대조해 새 논문만 남겨요
- MCP : 토큰을 더 먹는다고 해서 무인 작업에는 쓰지 않았어요
어느 길이든 로그인된 화면과 사이트 도우미는 Aside가 내줘요.
손은 하나라서 한 번에 한 작업만 하도록 잠금을 걸었어요. 두 작업이 동시에 돌면 탭이 섞여 다른 판결을 저장할 수 있기 때문이에요. Aside가 꺼져 있으면 한 번 켜고 다시 시도하고, 그래도 안 되면 "열지 못함"으로 멈춥니다.
손이 막히는 곳은 늘 로그인이었어요. 첫 실제 실행에서 판결 1건을 받으려는데 두 번 연속 실패했고, 원인은 판례 사이트 로그인 만료였습니다. 이 사이트는 로그인할 때마다 인증 문자를 보내서, 자는 동안 재시도가 반복되면 문자가 계속 쌓일 상황이었어요. 재시도를 멈추고 "로그인 필요"로 기록하게 했습니다.
지금 어사이드 로그인막혀있어?어사이드로 다시 띄어봐Aside 탭이 빈 화면으로만 떠서 앱을 다시 시작했고, 로그인 화면을 앞 창에 띄운 뒤 제가 인증번호를 직접 넣었어요. 같은 명령을 한 번 더 돌리자 판결 원문이 보관소에 저장됐습니다.
- 대학 도서관 : 유료 논문 경로를 쓰려니 로그인이 풀려 있었어요. 아이디와 비밀번호를 Aside에 저장해 두었던 게 생각나서, 저장된 비밀번호로 한 번만 로그인하게 했습니다. 중간에 응답 지연 오류가 났는데 다시 확인해 보니 로그인은 끝나 있었어요
- 디스코드 : 채널을 Aside로 만들려고 열어 보니 로그인이 풀려 있었어요. 이때는 추측으로 진행하지 않고 "로그인 필요"로 바로 멈췄습니다
2. 일꾼: 그록은 티켓을 하나씩 구현해요
계획을 클로드와 인터뷰로 확정하고 티켓 11개로 나눴어요. 3개는 제 몫(채널 만들기, 위키 정리 커밋, 첫 끝-끝 시험), 7개는 그록 몫이었고, 판단이 많은 1개(발췌 제안과 판정)는 클로드 서브에이전트가 맡았어요.
저렇게 하면 자동으로 세션 새롭게 실행하고. 마무리 되면 새롭게 하고 그런식으로 되나? 나 자러가야되서 그러는거야- 티켓마다 새 그록을 띄우고, 각자 따로 떼어 낸 작업 사본에서 시험부터 쓰고 구현하게 했어요
- 끝나면 수락 기준마다 실행한 명령과 실제 결과를 보고서로 남기게 했어요
- 평석·기사 검색도 그록이 했어요. 판결마다 로펌·기관 도메인과 사건번호 검색어로 찾고, 법률 분석이 있는 글만 남겨요. 받은 원문은 대기함에 두고, 위키에는 승인한 것만 넣어요
일꾼도 틀립니다. 이번에 두 번 틀렸어요.
- 검색이 멈춤 : 평석 검색이 150초가 넘도록 결과 없이 멈췄어요. 알고 보니 제가 모든 에이전트에 걸어 둔 "웹 검색은 Aside를 기본으로 쓴다" 규칙을 그록도 읽고 Aside로 넘기려 한 거였어요. 검색 도구만 쓰게 범위를 좁히자 15초 만에 결과 10건이 나왔습니다
- 무료 논문 0건 보고 : 후보 4건을 전부 "로그인 필요"로 냈는데, 하나는 로그인 없이 받을 수 있는 논문이었어요. 도서관 경로만 보고 판정한 분류 오류였습니다
두 번 다 클로드가 직접 확인해서 잡았고, 그록에게 미통과 항목만 한 번 다시 시켜 통과했어요.
3. 검수: 클로드는 믿지 않고 다시 돌려 봐요
클로드의 일은 "일꾼의 보고를 믿지 않는 것"이었어요.
- 수락 기준을 직접 실행 : 그록이 "통과"라고 보고해도 시험을 직접 다시 돌리고, 저장된 파일의 해시를 다시 계산하고, 실제 위키가 그대로인지 매번 확인했어요
- 실행 영수증 : 단계마다 영수증을 남겨요. 실행 시각, 연 주소, 화면에서 읽은 건수, 받은 파일 크기와 해시, 보류 사유, 다시 읽어 확인한 저장 경로가 들어갑니다. 칸이 하나라도 비면 다음 단계로 넘어가지 않아요. 강의의 작업 일지(프루프 오브 아티팩트)를 코드가 검사하는 구조예요
- 손의 보고도 확인 : Aside가 "저장했어요"라고 해도 파일을 다시 열어 필수 섹션(메타데이터·주문·이유)이 있는지 봐요
- 두 축 코드 리뷰 : 마지막에 "규칙을 지켰나"와 "스펙대로 했나"를 따로 봤어요. 메일은 읽었는데 사건 주소를 하나도 못 뽑은 경우가 "새 판례 0건, 성공"으로 적히던 문제를 여기서 잡았습니다
- 발췌 최종 판정 : 새 판결에서 뽑은 발췌가 위키의 개념 항목을 실제로 뒷받침하는지 클로드 Opus가 읽기 전용으로 판정해요. 첫 판결의 발췌 4건이 모두 통과했어요
검수는 클로드만 한 것도 아니에요. 같은 계획을 Aside에게도 물어보고, 그 답을 클로드에게 넘겨 계획을 고치게 했어요.
아래는 어사이드한테 동일한 내용을 검토를 요청한건데. 해당 사항에 대해서 검토를 하고 계획을 업데이트 해줘봐.Aside 검토가 제안한 상태표는 강의의 결과 영수증과 같은 네 가지 상태(성공, 실패, 애매, 차단·보류) 였고, 그걸 그대로 채택했어요. "새 판례 0건"은 검색 화면을 실제로 열고 읽었을 때만 성공이고, 로그인 화면이 떴거나 이유가 빈 판결문을 받았으면 "로그인 필요"로 멈춥니다. 강의에서 들은 "애매와 보류도 기록이다"가 그대로 표가 됐어요.
4. 봇에게 Aside를 쥐여 줬어요: 디스코드 봇 연결
다 만든 뒤 매주 돌리는 건 디스코드 봇 둘이에요. 원래 봇팀에서 쓰던 봇 중 그록 기반 봇을 수집 봇 으로, 코덱스 기반 봇을 위키 봇 으로 정했어요. 채널은 이 일만 하는 디스코드 채널 하나를 따로 만들었습니다.
| 봇 | 지시 한 줄 | 하는 일 |
|---|---|---|
| 수집 봇 | "이 사건번호로 수집 명령 하나만 실행하고 영수증 요약을 올려" | 수집 명령 하나를 실행해요. 그 안에서 Aside가 메일함·판례 사이트·RISS를 열고, 그록이 평석을 검색해요 |
| 위키 봇 | "위키 적재 절차대로 넣고 보류는 한 메시지로 물어" | 위키 임시본에 판결·논문·승인한 평석을 넣고, 인용 검증과 클로드 판정을 받은 뒤 요약과 보류 질문을 올려요 |
봇은 절차를 스스로 해석하지 않아요. 정해진 명령 하나를 실행하고 영수증을 요약할 뿐입니다. 일시 오류는 한 번만 다시 시도하고, 로그인이 풀렸으면 "로그인 필요"로 멈춰 채널에 올려요. 위키 봇이 따를 절차는 스킬 문서 하나로 만들어 클로드, 코덱스, 그록이 같은 문서를 보게 했어요.
연결하면서 몇 가지를 손봤어요.
- 봇이 실제로 명령을 돌릴 수 있는지 : 각 봇이 쓰는 실행 환경 그대로 수집 명령, 적재 명령, Aside 계정 조회를 돌려 봤어요
- 아무나 시키지 못하게 : 조사해 보니 수집 봇이 같은 서버의 누구 메시지든 받고 있었어요. 제 메시지만 받도록 수신 필터에 한 줄을 더했습니다
- 쓸 수 있는 곳 정하기 : 위키 봇의 쓰기 구역에 위키 원문 폴더, 인덱스, 작업폴더를 더하고, 수집 봇의 신뢰 폴더에 작업폴더를 넣었어요
5. 사람: 누를 버튼은 남겨 둬요
3주차 발표에서 안전 캠페인을 "공개와 결제 앞에서 멈춘다"로 만들었는데, 이번에도 같은 원칙을 썼어요.
| 자동으로 하는 것 | 사람이 정하는 것 |
|---|---|
| 새 판결 원문 적재, 인덱스 행, 판결 카드 | 기존 인용이나 결론을 바꾸거나 지우는 변경 |
| 원문에 없는 인용은 자동으로 빼고 기록 | 개념 페이지 신설 |
| 평석·기사 검색과 대기함 저장 | 평석을 위키에 넣을지 승인 |
| 발췌 최종 판정(읽기 전용) | 위키 커밋과 원격 push |
보류가 생기면 위키 봇이 채널에 한 메시지로 묻고, 제가 "보류 1 승인"처럼 답하면 그 건만 처리돼요.
이 경계는 AI 쪽에서도 작동했어요. 앞에서 말한 봇의 쓰기 구역과 신뢰 폴더를 넓히는 설정은 제가 승인했는데도, 클로드의 자동 안전 판정이 "권한 부여"로 막았어요. 결국 그 두 줄은 제가 직접 실행했습니다. 반대로 수집 봇이 받을 메시지를 좁히는 수신 필터는 바로 진행됐어요. 귀찮았지만 "권한을 넓히는 일은 사람이 직접" 원칙이 실제로 지켜진 셈이에요.
결과와 배운 점
| 항목 | Before | After |
|---|---|---|
| 판례 알림 | 메일 9통(10건)이 메일함에만 쌓임 | 명령 하나로 알림 읽기 → 형사 판결만 골라 → 원문 저장·확인 |
| 평석·기사 | 판결이 나올 때마다 직접 검색 | 판결마다 자동 검색, 받은 원문은 대기함, 위키는 승인한 것만 |
| 논문 | 따로 찾아서 내려받기 | RISS 최신순 → 기존 158편과 대조 → 무료분만 받아 첫 쪽으로 같은 논문인지 확인 |
| 위키 적재 | 정리 명령이 중간에 질문해서 무인으로 못 돌림 | 적재 명령 한 번, 보류만 한 메시지로 질문 |
| 지시 방법 | 터미널에서 직접 실행 | 디스코드 채널에 한 줄, 봇이 실행하고 요약 보고 |
| 사람 손이 가는 단계 | 매번 5단계(메일 확인, 판결 내려받기, 평석 찾기, 논문 찾기, 위키 정리) | 채널에 한 줄 지시, 보류 질문에 답하기, 커밋 확인(로그인이 풀렸을 때만 인증 문자 입력) |
첫 한 바퀴 숫자는 이렇습니다.
- 판결 1건 저장(해시·필수 섹션 확인). 민사 판결은 원장에만 남기고 보고에서 빼요
- 평석 검색(그록 8회, 후보 41개)을 거쳐 법률 분석 글 5건을 대기함에 저장 → 그중 2건 위키 적재 승인
- 논문 RISS 최신순 100건 → 기존 158편에 없는 후보 4건 → 무료 1편 확보, 첫 쪽 제목·저자·연도·DOI 일치
- 판결 발췌 4건을 클로드 Opus가 판정해 4건 모두 통과
- 자동 시험 138개 통과, 시험 기간 동안 실제 위키는 한 줄도 바뀌지 않음
시행착오
1. 전역 규칙은 다른 에이전트에도 걸려요
"웹 검색은 Aside부터"라는 제 규칙 때문에 그록 검색이 멈췄어요. 규칙을 여러 에이전트에 공유하고 있다면, 특정 일을 맡길 때는 도구 범위를 좁혀 주는 게 좋아요.
2. "0건"이 실패를 숨길 수 있어요
무료 논문 0건, 새 판례 0건 모두 실제로는 판정 오류나 읽기 실패였어요. 0건은 화면을 열고 읽은 증거가 있을 때만 믿기로 했습니다.
3. 오류 한 번으로 실패라고 단정하지 않기
도서관 로그인 때 Aside가 오류를 냈지만 실제로는 로그인이 끝나 있었어요. 오류가 나면 바로 다시 시도하기보다 상태를 한 번 더 확인하는 게 먼저였습니다.
꿀팁
- 손·일꾼·검수를 다른 AI로 나누기 : 같은 AI가 만들고 검사하면 같은 실수를 놓쳐요. 만드는 쪽과 확인하는 쪽을 나누니 그록의 실수 두 번을 클로드가 바로 잡았어요
- Aside에게는 로그인된 화면을, 답은 정해진 칸 한 줄로 : 긴 설명 대신 정해진 칸만 받으면 다음 단계가 기계적으로 검사할 수 있어요
- 영수증 칸이 비면 멈춤 : 어디서 멈췄는지 다음 날 바로 보여요
- 같은 계획을 Aside와 클로드에 교차 검토 : 한쪽이 놓친 실패 경로를 다른 쪽이 잡아 줬어요
다른 업무에 적용한다면
- 노동부 질의회시나 가이드북 게시판처럼 로그인이 필요한 게시판 감시
- 사내 공지나 입찰 공고를 주 1회 모아 요약하기
- 구독 중인 판례·법령 서비스의 알림 메일을 자료 창고로 옮기기
앞으로의 계획
- 채널 지시를 정기 실행으로 바꾸기(매주 월요일 새벽 수집 봇, 아침 위키 봇)
- 영수증이 안 올라오면 알림이 오게 하기
- 위키가 실제로 똑똑해지는지 재는 측정 문항 40개(질의회시 20, 판결 쟁점 20) 만들기
- 평석은 판결 뒤 4주, 12주에 한 번씩 다시 찾아보기
도움 받은 글 (옵션)
- 지피터스 24기 에이전트 하네스, Aside 3주차 강의 "내 브라우저가 에이전트가 된다!" (2026-10-13): CLI·REPL·MCP 세 길, 결과 영수증의 네 가지 상태, 작업 일지, 애매와 보류도 기록, 승인 경계
출처
- 원문: https://www.gpters.org/nocode/post/diseukodeu-bosege-asidereul-jwiyeo-jweosseoyo-sujib-boseun-moeugo-wiki-kzgoHvXVtJrlc2p (2026-10-20 · 하태준)