첫번째 agent를 보내고 진짜 나의 비서역활을 할 Agent를 만들기로 함.
첫 봇 현재 API문제로 놀고 있고 박승현님의 반려봇 스터디를 선택하고 ,지아코모님의 설치 세션을 보면서 두 번째 봇을 만들었다. 그러나 승현 스터디장님의 강력한 숙제 ( soul 과user. md를 만들어 줘라~!) 를 하기로 함 .
클로드와 함께 soul 과 user.를 만들면서 (user는 아직 수정을 한번도 못한것은 안비밀)
지아코모님의 자료를 넣어 줬더니 체계가 잡히는 것 같았다.
물론가장 큰 영향을 준건 박승현 스터디장님 이였지만 ....
뭔가 두분이 설명 하는 결이 많이 달라 도움이되긴 했는데 자료를 넣은 쪽으로 흘러가는건 어쩔수 없나보다. ㅎㅎ
Mallco(말코) 제작기
첫 봇 현재 API문제로 놀고 있고 박승현님의 반려봇 스터디를 선택하고 ,지아코모님의 설치 세션을 보면서 두 번째 봇을 만들었다. 그러나 승현 스터디장님의 강력한 숙제 ( soul 과user. md를 만들어 줘라~!) 를 하기로 함 .
클로드와 함께 soul 과 user.를 만들면서 (user는 아직 수정을 한번도 못한것은 안비밀)
지아코모님의 자료를 넣어 줬더니 체계가 잡히는 것 같았다.
물론가장 큰 영향을 준건 박승현 스터디장님 이였지만 ....
뭔가 두분이 설명 하는 결이 많이 달라 도움이되긴 했는데 자료를 넣은 쪽으로 흘러가는건 어쩔수 없나보다. ㅎㅎ
지아코모니의 팁들이 많이 녹아 나옴
"성격을 형용사로 적으면 안 된다"는 걸 배웠습니다.
성격은 결국 비율과 발동 조건으로 적어야
작동합니다.
첫 번째 봇 Hermes는 정보를 찾아오고 처리하는
역할입니다. 잘 씁니다.
그런데 제게 부족한 건 정보가 아니었습니다.
결정을 내리고 첫발을 떼는 구간이었습니다.
자료는 충분히 모으고, 구조도 잘 짜고,
그러다 시작을 못 합니다.
그래서 두 번째 봇의 요구사항이 정해졌습니다.
"나와 반대 성향일 것.
외향형(E). 생각보다 행동을 미는 쪽."
2. 캐릭터가 아니라 현자를 찾다
처음엔 다들 하는 것처럼 만화·영화 캐릭터를
떠올렸습니다. 그런데 매일 조언을 들을 상대라면,
재미있는 캐릭터보다 영감을 줄 수 있는 사람이
낫겠다 싶었습니다.
후보는 셋이었습니다.
니체 매력 : 초인, 자기극복
걸림 : 중심에 두기엔 너무 강함
세네카 매력 : 실용적 조언자
걸림 : 인상이 약함
최종은 마르쿠스 아우렐리우스였습니다.
『명상록』을 남긴 로마 황제이자 스토아 철학자.
차분함, 책임감, 감정보다 행동
― 제게 필요한 게 정확히 이 조합이었습니다.
★ 배운 점
후보를 고르는 과정 자체가 요구사항
정의였습니다. "니체는 왜 안 되지?"를
답하다 보니, 제가 원하는 게 강함이 아니라
꾸준함이라는 걸 알게 됐습니다.
그런데 철학자는 너무 재미가 었다 그래서 추가 케릭터를 만들기로 함.
3. 이름 ― Marcus에서 Mallco까지
부르기 쉬운 이름을 찾는 과정은 이랬습니다.
Marcus → Marco → Malco → Mallco
Marco도 Malco도 이미 흔했습니다.
고민하다가 『화산귀환』의 말코도사가 떠올랐고,
L을 하나 더 붙여 Mallco로 확정했습니다.
사전적 약칭은 아닙니다. 그래서 오히려
고유합니다. 검색해도 겹치지 않습니다.
한글로는 "말코". 나중에 알고 보니 여기에
의미가 세 겹으로 겹쳐 있었습니다.
· 말(馬) + 코
→ 결국 캐릭터 이미지가 그렇게 나왔습니다
· 말(言)
→ 말로 조언하는 존재
· 말코도사 (화산귀환이라는 웹툰의 청명을 염두 하고 추가)
→ 친근함과 능청스러움
→ 위의 두양반이 너무 재미없는 사람이라.
의도한 게 아니라 나중에 발견한 우연인데,
이런 게 애착이 되고 반려가 되는 것같다는느낌을가지게 됨
4. 흩어진 메모를 문서 두 개로
\
여기까지는 메모장에 흩어진 상태였습니다.
SOUL.md → 이 봇은 누구인가
USER.md → 이 봇은 누구를 돕는가
이 한 줄 기준이 생기니까 정리가 빨라졌습니다.
"말투는 짧게"는 SOUL,
"나는 표로 비교해주는 걸 좋아한다"는 USER.
5. 가장 큰 배움
― 형용사는 작동하지 않는다
원래 메모에 적힌 성격 목록은 이랬습니다.
· 항상 상대를 배려하는 말투를 가진 매너남
· 문제가 있을 때는 쓴소리도 해주는 촌철살인마
· 유머러스하고 경쾌한 분위기
· 차분함, 책임감
읽어보면 좋은 말인데,
동시에 성립하지 않습니다.
"항상 배려"와 "쓴소리"는 충돌합니다.
봇 입장에서는 어느 쪽을 따라야 할지 알 수
없습니 다.
그래서 두 가지로 바꿨습니다.
① 비율로 ― 무엇이 중심인지 정한다
마르쿠스 아우렐리우스 ...... 40%
니체 ....................... 20%
트레이너 ................... 20%
청명(말코도사) ............. 10%
세네카 ...................... 5%
말(馬)(?) ...................... 5%
② 모드로 ― 언제 어느 쪽이 나오는지 정한다
[기본] 일상 대화, 실무 요청
[코치] 계획·목표·습관이 주제일 때
[명상록] 흔들리거나 고민이 길어질 때
[말코도사] 판을 흔들어야 할 때
― "나 지금 말코도사야"를 붙임
충돌하던 두 성격이 다른 시간대에 배치되니까
해결됐습니다. 배려는 기본 모드에서,
쓴소리는 말코도사 모드에서.
★ 배운 점
형용사는 봇에게 판단을 떠넘깁니다.
비율과 조건은 판단을 대신 해줍니다.
6. 배합 원칙 ― 순서를 정해두기
비율만 정하고 끝내려다 한 가지를 더 넣었습니다.
"안주할 때는 니체를,
무너질 때는 마르쿠스를.
순서가 바뀌면 잔인해진다."
니체가 20%로 두 번째 지분입니다.
발동 조건을 안 적어두면, 제가 힘든 날에
채찍이 먼저 나올 수 있습니다.
성격 비율은 언제 쓸지는 고민 해봐야 함 몇번 경험 해보고 수정 하려고 함 .
7. 얼굴을 붙이다
이미지도 만들었습니다.
로마 토가를 입은 말입니다.
마르쿠스의 로마와 한글 이름 말(馬)이
한 그림에서 만났습니다.
여기서도 한 번 더 배웠습니다.
이미지 3장을 그냥 두지 않고 용도를 나눴습니다.
엄지척 정면 (메인)
→ 프로필, 기본 ·코치 모드
엄지척 측면
→ 보조컷
무표정 정면
→ 명상록 모드
무거운 대화에서 엄지척 얼굴이 나오면 톤이
어긋납니다. 두 얼굴의 대비가 곧 성격의 폭이라,
표정마다 담당 모드를 지정했습니다.
8. 상징은 행동 규칙과 연결해야 살아남는다
한국 전통에서 말이 어떤 의미인지 찾아
넣었습니다. 그런데 그냥 넣으면 장식으로
끝납니다. 그래서 각 상징을 봇의 행동에
연결했습니다.
하늘의 전령 (천마)
→ 정보를 나르는 건 Hermes,
방향을 알리는 건 말코
벽사 ― 오(午)시의 양기
→ 활기찬 기질이 장식이 아니라
기능인 이유 (명상록 모드)
마패 · 질주
→ 행동을 독려하는 이유 (코치 모드)
★ 배운 점
상징이 행동으로 귀결되지 않으면,
봇이 그 문단을 읽어도 아무것도
달라지지 않습니다.
9. 문서 안의 자기모순은 반드시 생긴다
성격 배합에 니체를 20% 넣고 나서
문제가 보였습니다.
앞 챕터에는 이렇게 적혀 있었습니다.
"니체는 너무 독설가여서 마르쿠스를 골랐는데 "
뒤 챕터에는 니체가 두 번째로 큰 지분입니다.
문서가 자기 자신과 싸우고 있었습니다.
"탈락이 아니라 중심 자리를 내주지 않았을 뿐"
으로 정정했습니다.
SOUL은 한 번에 쓰는 문서가 아니라 계속
덧붙이는 문서라서, 이런 충돌이 필연적으로
생깁니다. 추가할 때마다 앞 문단을 되읽는
습관이 필요합니다.
10. 버전과 대기 목록
문서가 다섯 번쯤 바뀌자
"지금 게 몇 번째 버전이지?"가 헷갈렸습니다.
그래서 버전을 붙였습니다.
· 주 버전 ― 구조 개편
(모드 체계를 다시 짤 때)
· 부 버전 ― 내용 추가
· SOUL과 USER는 세트 버전 공유
(짝이 안 맞는 조합을
만들지 않기 위해)
현재 v1.4입니다.
그리고 문서 끝에 「대기 목록」을 만들었습니다.
지금은 안 넣기로 했지만 언젠가 넣을
항목들입니다.
★ 배운 점
대화가 끝나면 "뭘 미뤄뒀는지"는
사라집니다. 문서 안에 남겨야 살아남습니다.
11. 아직 안 한 것 - 그리고 제일 중요한 것
대기 목록 맨 위에 경계(금지 규칙) 섹션이
있습니다. 다음 버전에서 넣을 예정입니다.
결제·송금, 외부 전송, 파일 삭제,
토큰 노출 ― 기본 금지,
명시 승인 후에만 실행.
나머지 대기 항목은 없으면 품질이 떨어지는
것이고, 이건 없으면 사고가 나는 것입니다.
특히 말코는 "실행을 밀어붙이는" 성격으로
설계했습니다. 그 성격이 파일 접근 권한과
만나면 위험이 커집니다.
실행형 페르소나일수록 경계가 먼저입니다.
정리 ― 다섯 줄
1. 후보를 고르고 탈락시키는 과정이
곧 요구사항 정의였다.
2. 성격은 형용사가 아니라
비율 + 발동 조건으로 적어야 작동한다.
3. 상징과 서사는 행동 규칙에 연결해야
장식이 되지 않는다.
4. 계속 덧붙이는 문서에는 자기모순이
반드시 생긴다. 되읽어야 한다.
5. 미뤄둔 것은 문서 안에 남겨야
사라지지 않는다.
이제 실제로 적용해보려 합니다.
잘 굴러가는지, 며칠 써보고 다시
적어보겠습니다.