공부/인공지능

브레인에 MCP 를 달다 (읽기 → 쓰기)

TechToast 2026. 8. 12. 18:14
반응형

지난 편 끝에서, 입력은 이제 들어올 만큼 들어온다, 다음 문제는 채우는 것이 아니라 쓰는 것이라고 했다. 그 말이, 이 편이 하는 일의 예고였다. 이 편부터 시리즈의 부가 바뀐다. 2부가 입력을 만드는 일이었다면, 3부는 그 입력을 쓰는 쪽이 누구인가의 이야기다. 파이프라인은 정해진 시간에 정해진 일을 하지만, 에이전트는 대화 속에서 무엇이 중요한지를 스스로 가른다. 그 차이가, 창고에 들어오는 것의 성격까지 바꾼다. 지금까지 브레인에 무언가 들어오는 길은 하나같이 기계였다. 파이프라인이 걷고, 회의록이 쌓이고, 논문 리뷰가 떨어졌다. 사람이 직접 넣는 일도 있었지만, 그건 언제나 손이 필요했다. 그런데 이번에는 넣는 쪽이 달랐다. 브레인을 쓰는 쪽이 에이전트로 바뀌는 순간, 창고는 열어서 들여다보는 것만 허락하는 창고가 되었다. 검색은 되는데, 넣는 일은 사람의 몫이었고, 검색만 준 에이전트는 찾아보기만 할 뿐, 발견한 것을 남길 길이 없었다. 그 길을 만든 일, 그것이 이 편의 중심이다. 하나씩 보자.

검색만으로는 끝나지 않는다

브레인에 MCP 를 붙이기로 한 날은 2026년 6월 22일이다. MCP 는 에이전트가 도구를 부르는 표준 통로인데, 브레인은 그 통로에 검색과 페이지 읽기를 먼저 얹고, 쓰기를 나중에 얹었다. 이 시리즈에서 자주 쓴 말이지만, 에이전트에게 지식창고를 준다는 것은 검색만이 아니다. 검색은 창고의 물건을 꺼내는 손이고, 쓰기는 물건을 들여놓는 손인데, 두 손은 같은 몸에 달려야 창고가 산다. 읽기만 되는 창고는 아는 만큼만 자란다. 에이전트가 새로 만난 사실, 새로 내린 판단, 새로 찾은 출처를 거기에 남길 수 없으면, 그 발견은 세션이 끝나는 순간 사라진다. 결국 창고가 아는 만큼만, 아는 창고로 남는 셈이다.

 

그래서 처음 붙은 도구들은 전부 읽기 위주였다. 그날의 도구 네 개, brain_query 는 RAG 로 창고를 뒤지고, brain_ask 는 웹으로 물으며, brain_search 는 창고를 의미검색하고, brain_get_page 는 페이지를 펼친다. 검색이 돌려주는 것은 출처와 유사도와 본문 발췌이고, 더 읽어야겠다고 판단이 서면 페이지를 연다. 찾고, 열고, 묻고, 뒤지는 일이었다. 이걸로 에이전트는 질문에 답할 수 있었고, 창고의 것을 꺼내 쓰는 일은 충분했다. 다만 그 손이 닿지 않는 곳이 하나 남았는데, 꺼낸 것에서 무엇이 나오는지, 그 결론을 다시 창고에 넣는 일이다.

 

이 통로가 무엇을 바꿨는지가 중요하다. 그 전까지 브레인은 화면 뒤에 있는 창고였는데, MCP 가 붙으면서 에이전트의 도구 목록 속으로 들어왔다. 에이전트는 질문을 받으면 먼저 창고를 뒤지고, 부족하면 웹을 보고, 그렇게 모은 재료로 답을 쓴다. 창고가 대화의 한쪽이 아니라, 대화가 쓰는 도구가 된 것이다.

 

 

 

읽기에서 쓰기로

쓰는 도구가 붙은 것은 그 뒤로 얼마 지나지 않은 일이다. brain_addbrain_update 두 개가 더해졌다. brain_add 는 새 페이지를 만들고, brain_update 는 있는 페이지를 고친다. 이 두 개가 붙으면서, 읽기 전용이던 브레인은 읽고 쓰는 브레인이 되었다. 이 전환을 두고 브레인을 고치는 코드에는 "즉 읽기 전용이던 브레인이 read+write 가 됨" 이라고 적혀 있다. 일이 끝난 뒤에 적은 메모가 아니라, 처음부터 그 전환을 목표로 했음을 적어 둔 문장이다.

 

이 쓰기 도구가 어떻게 동작하는지가 이 편의 몸통이다. 지금 코드에 남아 있는 모습은 이렇다. 새 노트를 만들 때, 제목은 파일명으로 쓸 수 있는 모양으로 정돈되는데, 특수문자는 빠지고 길이는 80자에서 끊긴다. 태그에는 claude입력 이라는 꼬리가 붙고, 앞머리에는 제목과 요약과 태그를 담은 frontmatter 가 얹힌다. 요약을 따로 안 주면, 본문의 첫 줄이 요약 자리를 채운다. 그리고 그 문서는 한 곳이 아니라 두 곳에 쓰인다. 색인되는 원문 쪽과, 사람이 보는 위키 페이지 쪽, 양쪽이다. 왜 둘이냐, 한쪽만 쓰면 검색에 나오지 않거나 화면에 보이지 않기 때문이다.

 

브레인은 처음부터 두 겹으로 만들어졌다. 들어온 원문은 손대지 않는 재료로 남는 창고와, 그 재료를 읽고 다시 써서 사람이 보게 하는 위키 창고, 검색은 앞의 것을 읽고 사람이 보는 것은 뒤의 것이다. 그런데 에이전트가 쓰는 글은 이 둘 사이에 어정쩡하게 서 있다. 새로 만든 것도 아니고, 기존 원문을 요약한 것도 아니며, 그렇다고 사람의 위키에서 빠질 수도 없는, 에이전트의 산출물이다. 그래서 쓰기 도구는 두 창고를 한 번에 쓰고, 그 문서 하나만 다시 임베딩한다. 창고 전체를 다시 돌리는 대신, 방금 쓴 한 조각만 색인에 태우는 것이다. 전체를 다시 도는 일은 몇 시간이 걸리니 글 하나 쓸 때마다 할 수 있는 일이 아닌데, 그 판단이 그날의 기록에 적혀 있지는 않다. 다만 코드가 그렇게 되어 있다. 쓰기가 끝나면 도구는 저장 완료와 함께, 어느 창고에 기록되었고 색인이 반영되었다는 말을 돌려준다.

 

이때 두 창고를 함께 쓰는 일은 하나의 함수가 맡는다. 새로 만들든, 고치든, 모든 쓰기는 그 함수를 지나가고, 그 함수는 원문 쪽 파일과 위키 쪽 파일을 한 번에 건드린다. 이렇게 묶어 두지 않으면, 어느 한쪽만 갱신되는 반쪽이 생기기 쉽다. 반쪽은 곧, 검색에는 나오는데 화면에는 없는 문서, 혹은 화면에는 있는데 검색에는 없는 문서가 된다. 창고가 둘이니, 쓰는 일도 둘이 아니라, 둘을 묶은 하나여야 한다.

 

이 쓰기 코드는 에이전트만을 위한 것이 아니었다. 브레인을 웹에서 고치는 화면도 같은 함수를 부른다. 에이전트와 웹이 같은 길로 창고를 건드리게 한 것인데, 이렇게 해야 창고의 상태가 어느 쪽에서 봐도 한결같다.

 

 

 

고치기는 덧붙이기

brain_update 는 조금 다르게 동작한다. 있는 페이지를 고칠 때는 덧붙이는 것이 기본이고, 통째로 바꾸는 옵션도 있다. 덧붙이면 앞머리의 frontmatter 는 그대로 남고, 본문만 뒤에 이어진다. 바꾸면 본문은 교체되되, frontmatter 는 보존된다. 요약과 태그를 지워버리지 않도록, 그 보호가 붙어 있다. 에이전트가 몇 달에 걸쳐 쌓아온 결론을, 요약과 태그를 옆에 둔 채 그 페이지에 계속 이어 쓰는 구조인데, 만약 바꾸기 모드가 앞머리까지 통째로 덮어썼다면, 한 번의 실수로 그동안의 흔적이 다 사라졌을 것이다. 덧붙이기가 기본값인 이유가 거기에 있는 듯하다.

 

새로 만들기와 고치기의 경계는, 도구의 안내에도 적혀 있다. 이미 있는 주제면 새로 만들지 말고, 고치라고 한다. 중복 페이지는 검색 결과를 어지럽히고, 같은 주제가 둘로 갈라지면 창고가 아는 것이 쪼개지기 때문이다. 그래서 에이전트는 먼저 검색으로 있는지 확인하고, 없으면 만들고, 있으면 이어 쓴다. 고치기는 없는 페이지를 대상으로 하면 끝나지 않는데, 코드는 그 경우 "새로 만드세요"라고 돌려보낸다. 덧붙이기와 새로 만들기, 그 둘 사이를 에이전트가 오가며 창고는 조금씩 자란다.

 

제목이 곧 파일 이름이 되는 구조라, 창고 바깥을 가리키는 이름이 들어오면 어떻게 되는가 하는 문제가 남는다. 코드는 그런 요청을 막아 세우지 않는다. 대신 이름에서 쓸 수 없는 글자를 걷어내는데, 슬래시가 빠지고 나면 바깥으로 나가는 길 자체가 사라진다. 거부가 아니라 정돈으로 푸는 방식이다.

 

쓰는 일이 색인까지 잇는 일

지난 편에서, 논문 리뷰가 그날의 논문이라는 이름의 노트로 먼저 남고, 그 노트가 브레인에 색인되는 대상이라고 했다. 이 쓰기 도구가 붙으면서, 그 색인 경로가 에이전트의 손에 맡겨졌다. 에이전트가 찾아낸 출처와 결론이, 세션 하나가 끝나도 창고에 남는다. 다음 세션이 그걸 다시 찾아, 그 위에 이어서 쓸 수 있다. 창고가 아는 만큼만 아는 창고에서, 에이전트가 아는 만큼 아는 창고로 조금씩 자라는 구조가 된 것이다.

 

이때 두 창고는 항상 함께 갱신되도록 짜여 있다. 이 통로가 만들어지면서, 브레인에 지식을 넣는 일은 더 이상 사람의 손이나 정해진 파이프라인의 몫만이 아니었다. 대화를 마친 에이전트가, 그 대화에서 나온 것을 남기고 간다. 남겨진 글은 다음 대화의 재료가 되고, 그 대화는 다시 글을 남긴다. 창고가 스스로 자라는 고리가 여기서 처음 닫혔고, 그 고리가 끊기지 않게 하는 것이 쓰기 도구의 몫이 되었다. 다만 처음 붙은 읽기 도구들 중에는, 겉으로는 읽는 일을 하는 것처럼 보이면서 뒤에서 사람의 몫을 하는 것들이 있었다. 그 이야기는 뒤의 편에서 풀 것이다.

반응형