기억을 전부 마크다운에 두면 한 라운드에 최소 10만 토큰을 실어 나른다는 자기 계측에서 출발함. 같은 원본 파일로 두 벌을 만들어 한쪽엔 벡터만, 한쪽엔 그래프를 붙이고 같은 것을 물어 본 대조가 뼈대 — 지원이 끝난 판을 돌리는 서버와 밖으로 열린 관리 포트를 두고 한쪽은 얼버무리고 한쪽은 이름과 판과 포트를 짚었다. 닮은 것 찾기를 버리지 않고 시작점으로만 쓰는 구조도 나옴.
한줄 코멘트. 닮은 것 찾기를 버리는 게 아니라 시작점으로만 쓴다는 구조가 이 발표의 알맹이다. 씨앗을 그것으로 잡고 나머지는 관계를 밟아 모은다. 같은 원본으로 두 벌을 만들어 견준 대목이 정직한데, 다룬 기계가 서너 대뿐이라 이 대조를 큰 규모의 증거로 읽으면 안 된다.
그래프 데이터베이스 회사에서 개발자 쪽을 맡는 사람이 발표한다. 게 캐릭터를 내세워 이야기를 끌고 간다.
문제를 이렇게 그린다. 이 비서는 도구가 많아도 상황에 맞는 것을 못 고를 때가 있고, 무엇보다 하루가 지나면 기억 파일이 갈리며 어제 한 일을 통째로 잊는다. 그래서 같은 일을 날마다 다시 가르치게 된다.
에이전트가 도는 방식을 기억 고리로 본다. 시키고, 무엇이라 답할지 생각하고, 도구를 부르고, 무슨 일이 벌어졌는지 본다. 그러면서 못 박는다. 어려운 것은 기억이다 — 무엇을 맥락에 넣고 무엇을 불러올지다.
요즘 에이전트들의 기억 구조를 늘어놓고 공통점을 짚는다. 전부 마크다운 파일이다.
그 형식이 나쁘다는 것은 아니다. 사람이 읽기 쉽고 일부러 작게 만든다 — 맥락 창이 한정돼 있고 중요한 것을 위쪽에 둬야 하기 때문이다.
문제는 규모다. 기억이 전부 그런 파일 뭉치면 토큰을 크게 버린다. 자기가 굴리는 에이전트들이 한 라운드에 최소 10만 토큰을 불러온다고 밝힌다. 쓸모가 있을까 싶어 일단 다 넣기 때문이고 그래서 겹치는 것투성이라는 것이다.
작은 규모에서는 좋은 모델을 쓰면 원하는 결과가 나온다고 인정한다. 안 되는 것은 큰 규모다.
스킬 역시 마크다운 파일이라며 다른 실패를 짚는다. 필요한 스킬이 없으면 못 하고, 엉뚱한 스킬을 고르면 엉뚱한 일을 한다.
한 줄이 재미있다. 조개를 여는 스킬이 있어도 먹는 스킬이 없으면 소용없다. 그러니 맞는 스킬들이 순서대로 이어져야 한다.
여기서 스킬 사이 관계를 그래프로 적어 두려는 동료의 연구를 든다.
다른 도구도 사정이 같다고 말한다. 어느 것은 기억을 또 하나의 도구 서버처럼 다뤄 불러오고 저장하고 지운다. 그런데 결국 디스크의 평범한 파일이고, 그래서 좋은 생각에 같은 근본 문제가 남는다. 위험도 하나 짚는다 — 도구가 있으니 잊으라는 명령을 잘못 불러 기억을 통째로 날릴 수 있다.
닮은 것으로 찾는 방식의 한계를 두 가지로 짚는다.
하나. 벡터 공간에서 가깝다는 것이 실제 관계와 같지 않다. 그래서 지어내는 일이 생긴다.
둘. 사실을 다 갖고 있어도 여러 칸을 건너야 답이 되는 물음은 안 풀린다. 이 대목에서 *멀티홉이라는 말이 나온다. 관계형 저장소에서도 그런 사슬은 값이 크다고 덧붙인다.
씨앗은 닮은 것으로, 나머지는 관계로
그래서 짠 구조가 이것이다. 닮은 것 찾기로 시작할 마디를 잡고, 거기서 옆에 붙은 것을 끌어와 얼마나 얽혔나로 순위를 매긴다.
얻는 것도 짚는다. 어느 마디가 뽑혀 맥락에 들어갔는지 보이니 왜 그렇게 답했는지 되짚을 수 있고, 뽑는 방식을 고치거나 겹치는 마디를 줄여 빠르게 나아질 수 있다.
그래프에 익숙하지 않아도 된다고 말한다. 질의를 모델이 자기보다 잘 쓴다는 것이다.
같은 원본, 두 저장소
같은 원본에서 갈라 놓고 같은 것을 물었다
이 발표에서 가장 정직한 설계다. 같은 원본 마크다운에서 출발해 두 벌을 만들었다. 한쪽에는 벡터만, 한쪽에는 그래프를 붙였다.
대상은 자기 집 서버들이다. 따로 떼어 낸 망에 올려 두었고 기억으로만 답하게 했다 — 실시간으로 기계를 조회하지는 못한다.
물음 다섯 개를 준비했다고 하고 둘을 보인다.
같은 물음, 두 답
| 물음 | 벡터만 붙인 쪽 | 그래프를 붙인 쪽 |
|---|---|---|
| 지원 끝난 판이 밖에 열려 있나 | 구체적인 것을 못 찾겠다며 얼버무린다 | 어느 기계인지 이름을 대고 판이 낡았다고 짚는다 |
| 관리 포트가 열려 있나 | 설정을 확인해 보라고 되민다 | 밖으로 열린 포트 둘을 집어내고 라우터 마디까지 따라간다 |
그리고 한마디를 덧붙인다. 발표 뒤에 그 구멍들을 다 막았다. 실제로 뚫려 있던 자리였다는 뜻이다.
닫는 주장은 이렇다. 자기 집은 서버 서너 대지만, 큰 데이터센터를 가진 곳이나 회사와 고객 기록이 방대한 곳처럼 요즘 모델의 맥락 창에도 안 들어가는 규모라면 파일에 던져 두는 것보다 나은 기억 장치가 필요하다는 것이다.
대조의 규모가 아주 작다. 서버 서너 대에 물음 둘을 보였다. 큰 규모에서 필요하다는 주장을 작은 규모의 시연으로 받치고 있다.
잰 값이 없다. 어느 쪽이 얼마나 빨랐는지, 값이 얼마나 들었는지가 없다. 10만 토큰은 문제를 그리는 수이지 고친 뒤의 값이 아니다.
벡터 쪽 설정이 어땠는지 없다. 무엇을 어떻게 넣었느냐에 따라 그쪽 답도 달라질 텐데, 두 벌을 얼마나 공평하게 맞췄는지가 나오지 않는다.
다섯 중 둘만 보인다. 나머지 셋에서 어땠는지가 없다.
그래프를 만드는 값이 없다. 원본에서 마디를 뽑아내는 일이 얼마나 걸리고 얼마나 틀리는지가 안 나온다.
뒤가 자기 쪽 안내다. 무료 강의와 책 소개로 닫는다.
자막이 이름을 여러 군데 뭉갠다. 서버 이름이 두 번 다르게 나오고 도구 이름도 어긋나서, 정확한 표기는 원문에서 갈린다.
용어