DocsMission ControlKnowledge

지식과 메모리

AI 에이전트는 모든 것을 기억합니다. 메모리가 어떻게 작동하는지 이해하면 더 나은 결과를 얻고 더 스마트한 시스템을 구축하는 데 도움이 됩니다.

메모리 유형

CapiBot에는 네 가지 유형의 메모리가 있으며, 각각 다른 목적을 제공합니다:

1. 에이전트 메모리 (개인)

각 에이전트는 자신만의 메모와 학습을 가지고 있습니다:

Nova의 메모리

📄 project-preferences.md
  - JavaScript보다 TypeScript 선호
  - 컴포넌트 기반 아키텍처 선호
  - 클라이언트의 API 패턴에 익숙

📄 code-style-guide.md
  - 2칸 들여쓰기 사용
  - 함수형 컴포넌트 선호
  - 항상 PropTypes 추가

📄 helpful-resources.md
  - 날짜 설계 시스템 링크
  - 클라이언트의 API 문서
  - 일반 유틸리티 함수

저장하는 것:

  • 상호 작용에서 학습한 선호도
  • 프로젝트별 지식
  • 스타일 가이드와 표준
  • 유용한 리소스와 링크
  • 과거 작업의 교훈

접근: 에이전트만 자신의 메모리를 읽고 쓸 수 있음

2. 지식 베이스 (공유)

모든 에이전트가 접근 가능한 정보:

지식 베이스

📁 결정
  ├── architecture-decisions.md
  └── technology-choices.md

📁 교훈
  ├── what-worked.md
  └── what-didnt.md

📁 프로젝트
  ├── project-alpha-specs.md
  └── project-beta-timeline.md

📁 약속
  └── deliverables-schedule.md

저장하는 것:

  • 결정과 근거
  • 학습한 교훈
  • 프로젝트 문서
  • 약속과 마감일
  • 선호도와 표준

접근: 모든 에이전트가 읽을 수 있음; 쓰기 접근은 사용자가 제어

3. 기업 지식 (범위 지정)

AI 기업에 특정한 정보:

Q1 마케팅 기업 지식

📄 임원 요약
  미션: 제품 인지도 캠페인 출시
  타겟: 엔터프라이즈 고객
  타임라인: 4주
  예산: $10,000

📄 브랜드 가이드라인
  색상: #FF6B35, #004E89
  톤: 전문적이지만 친근함
  로고 사용 규칙...

📄 캠페인 메시징
  핵심 가치 제안...
  타겟 페르소나...
  경쟁 포지셔닝...

📁 산출물
  ├── blog-post-1-final.md
  ├── landing-page-design.png
  └── competitor-analysis.pdf

저장하는 것:

  • 임원 요약 (모든 에이전트 컨텍스트에 주입)
  • 기업별 가이드
  • 완료된 산출물
  • 프로세스 문서

접근: 해당 기업의 에이전트만

4. 대화 메모리

진행 중인 대화의 컨텍스트:

현재 세션 컨텍스트

사용자: 상위 5개 경쟁사를 조사해줘
Nova: 경쟁사를 조사하겠습니다. 어떤
      산업에 집중해야 하나요?
사용자: SaaS 분석 도구
Nova: 알겠습니다. SaaS 분석에 집중하겠습니다.
      가격 비교를 포함해야 하나요?
사용자: 네, 가격이 중요해요

저장하는 것:

  • 최근 대화 내역
  • 현재 스레드의 컨텍스트
  • 보류 중인 질문/명확화

접근: 현재 대화의 에이전트

메모리 작동 방식

에이전트가 기억하는 시기

에이전트는 다음 경우에 자동으로 기억합니다:

  • ✅ 선호도를 알려줄 때
  • ✅ 작업을 성공적으로 완료할 때
  • ✅ 실수로부터 배울 때
  • ✅ 정보를 명시적으로 저장할 때
  • ✅ 파일과 문서를 읽을 때

메모리 주입

각 에이전트 실행 전에 관련 메모리가 주입됩니다:

[에이전트 메모리] + [지식 베이스] + [기업 지식]
         ↓
    에이전트 컨텍스트
         ↓
    응답/작업

이것은 에이전트가 반복하지 않고도 항상 관련 컨텍스트를 갖고 있음을 의미합니다.

메모리 지속성

단기:

  • 현재 대화
  • 세션 컨텍스트
  • 활성 작업 세부 정보

장기:

  • 에이전트 개인 메모리 (파일에 저장)
  • 지식 베이스 항목
  • 기업 지식
  • 모두 PostgreSQL에 저장

메모리 브라우저

탐색 레일에서 접근: 메모리

파일 트리 보기

┌─────────────────────────────────────────────────────────┐
│ 메모리 브라우저                             [+ 새]      │
├─────────────────────────────────────────────────────────┤
│                                                         │
│ 📁 /                                                    │
│ ├── 📁 agents/                                          │
│ │   ├── 📁 nova/                                        │
│ │   │   ├── 📄 preferences.md                           │
│ │   │   └── 📄 style-guide.md                           │
│ │   └── 📁 echo/                                        │
│ │       └── 📄 brand-voice.md                           │
│ ├── 📁 knowledge/                                       │
│ │   ├── 📄 decisions.md                                 │
│ │   └── 📁 projects/                                    │
│ └── 📁 companies/                                       │
│     └── 📁 q1-marketing/                                │
│         ├── 📄 executive-summary.md                     │
│         └── 📁 deliverables/                            │
│                                                         │
└─────────────────────────────────────────────────────────┘

탐색:

  • 폴터를 클릭하여 확장/축소
  • 파일을 클릭하여 콘텐츠 보기
  • 컨텍스트 메뉴를 위해 마우스 오른쪽 클릭
  • 정리를 위해 드래그

파일 뷰어

메모리 파일을 봅니다:

┌─────────────────────────────────────────────────────────┐
│ nova/preferences.md                       [편집] [삭제] │
├─────────────────────────────────────────────────────────┤
│                                                         │
│ # Nova의 선호도                                         │
│                                                         │
│ ## 코드 스타일                                          │
│ - 모든 새 코드에 TypeScript 사용                       │
│ - 클래스보다 함수형 컴포넌트 선호                      │
│ - 공개 함수에 JSDoc 코멘트 추가                        │
│                                                         │
│ ## 아키텍처                                             │
│ - 컴포넌트 기반 디자인                                 │
│ - 컴포넌트 작게 유지 (200줄 미만)                      │
│ - 로직 재사용을 위한 커스텀 훅 사용                    │
│                                                         │
│ ## 클라이언트별                                         │
│ - API는 snake_case 사용                                │
│ - 인증은 JWT 기반                                      │
│ - 속도 제한: 분당 100 요청                             │
│                                                         │
└─────────────────────────────────────────────────────────┘

검색

모든 메모리에서 정보 찾기:

검색: "API 인증"

결과:
📄 nova/preferences.md (2번 언급)
📄 api-documentation.md (5번 언급)
📄 project-alpha-specs.md (1번 언급)

검색 모드:

  • 하이브리드 — 의미 + 텍스트 검색 (기본값)
  • 벡터 — 의미 기반 검색
  • 텍스트 — 키워드 매칭

의미 검색

키워드가 아닌 의미로 정보 찾기.

작동 방식

pgvector + Ollama 임베딩으로 구동:

  1. 콘텐츠가 벡터로 변환 — 의미 포착
  2. 쿼리가 벡터로 변환 — 검색
  3. 유사성 매칭 — 가장 가까운 의미 찾기
  4. 순위 결과 — 가장 관련성 높은 것 먼저

예시

키워드 검색이 놓칠 수 있는 것:

검색: "로그인 보안"

의미가 찾는 것:
- "인증 모범 사례"
- "비밀번호 요구사항"
- "JWT 토큰 처리"
- "세션 관리"

개념 매칭:

검색: "웹사이트 속도를 높이는 방법"

의미가 찾는 것:
- "성능 최적화"
- "캐싱 전략"
- "이미지 압축"
- "지연 로딩"

의미 검색 사용

  1. 메모리 패널로 이동
  2. 검색 쿼리 입력
  3. 검색 모드 선택: 하이브리드 또는 벡터
  4. 결과 탐색
  5. 전체 콘텐츠를 볼 클릭

지식 생성

방법 1: 직접 생성

  1. 메모리 패널로 이동
  2. "+ 새" 클릭
  3. 위치 선택:
    • 에이전트 메모리
    • 지식 베이스
    • 기업 지식
  4. Markdown으로 콘텐츠 작성
  5. 저장

방법 2: 작업에서

작업이 완료될 때:

  • 산출물이 기업 지식에 자동 저장
  • 에이전트 메모에 에이전트 노트 추가
  • 결정이 지식 베이스에 기록

방법 3: 메시지를 통해

사용자: @Atlas 항상 기본 버튼에는
      파란색을 사용한다는 것을 기억해줘
Atlas: 메모했습니다! 기업 지식 베이스에
       저장하겠습니다.

방법 4: 기업 지식 탭

모든 AI 기업에서:

  1. 지식 탭으로 이동
  2. "+ 항목 추가" 클릭
  3. 가이드, 링크 또는 참조 작성
  4. 분류 (링크, 참조, 가이드)
  5. 저장

모범 사례

에이전트 메모리의 경우

  1. 에이전트가 자체 문서화하도록 허용 — 유용한 정보 저장
  2. 주기적으로 검토 — 오래된 정보 정리
  3. 관련성 유지 — 오래된 프로젝트 메모리 삭제
  4. 스타일 가이드 선별 — 일관성 보장

지식 베이스의 경우

  1. 결정 문서화 — X를 Y보다 선택한 이유
  2. 교훈 기록 — 효과가 있었던 것과 없었던 것
  3. 카테고리별로 조직 — 찾기 쉬움
  4. 업데이트 유지 — 오래된 정보는 혼란스러움

기업 지식의 경우

  1. 임원 요약 작성 — 모든 에이전트를 위한 컨텍스트
  2. 산출물 저장 — 완료된 작업 참조
  3. 프로세스 문서화 — 기업의 작동 방식
  4. 완료 시 보관 — 현재 기업을 깔끔하게 유지

메모리 관리

정리

시스템이 자동으로 오래된 데이터를 정리:

  • 활동: 30일
  • 통신: 15일
  • 알림: 7일
  • 감사 로그: 90일

수동 정리

오래된 프로젝트 보관:

  1. 메모리 브라우저로 이동
  2. 오래된 프로젝트 폴터 찾기
  3. 마우스 오른쪽 클릭 → 보관
  4. 보존되지만 검색 불가

미사용 항목 삭제:

  1. 에이전트 메모리 검토
  2. 오래된 선호도 삭제
  3. 오래된 스타일 가이드 제거

문제 해결

에이전트가 선호도를 잊음:

  • 에이전트 메모리가 존재하는지 확인
  • 파일 형식이 유효한 Markdown인지 확인
  • 선호도를 다시 명시해야 할 수 있음

검색이 찾지 못함:

  • 다른 키워드 시도
  • 의미 검색 사용
  • 파일이 인덱싱되었는지 확인 (최근 변경)

메모리가 너무 많음:

  • 에이전트 응답이 느려짐
  • 오래된 메모리 정리
  • 완료된 프로젝트 보관
  • 관련 정보에 집중

다음 단계