본문으로 건너뛰기
Ankole

Brain

AI Agent용: 이 페이지의 Markdown 버전은 https://ankole.agentbull.com/ko-KR/docs/brain/index.md에 있습니다. 문서 색인은 https://ankole.agentbull.com/ko-KR/llms.txt에 있습니다.

Brain은 GBrain에서 영감을 받은 장기 기억 시스템으로, Palantir와 유사한 온톨로지를 기반으로 구축된 최신 엔터프라이즈 세계 모델을 유지합니다. 대화, 파일, 웹페이지에서 장기적으로 가치 있는 정보를 출처를 추적할 수 있는 조직 지식으로 정리합니다. Agent는 명확한 공개 경계 안에서 그 지식을 회상하고 수정하고 망각할 수 있습니다.

Brain은 계속 늘어나는 채팅 기록을 그대로 기억으로 취급하지 않습니다. 사람, 조직, 사건, 판단과 그 관계에 대한 현재 모습을 유지합니다. 새 증거는 이전 Claim을 뒷받침하거나 수정하거나 대체할 수 있습니다. 모순이 드러나도 증거와 이전 상태는 사람이 검토할 수 있도록 남습니다.

하나의 Ankole 인스턴스에 있는 모든 Agent는 같은 지식 공간을 사용합니다. Agent마다 별도 데이터베이스를 복제하지 않습니다. 각 기억에는 고유한 공개 범위가 있으므로 저장 공간을 공유한다고 해서 모든 내용이 공개되지는 않습니다.

Brain이 학습할 수 있는 정보

현재 학습 경로는 세 가지입니다.

경로 결과 조건
Agent가 remember를 호출 하나의 사실 또는 판단이 즉시 영구 기억이 됨 Agent는 하나의 원자적 Claim, 출처, 유효한 공개 범위를 지정해야 함
Signals 학습이 대화를 처리 명시적인 remember 호출 없이도 장기적으로 가치 있는 사실, 판단, 미완료 약속을 학습할 수 있음 Channel은 다이렉트 메시지 또는 IM 그룹이어야 하며 Brain 유지보수 Agent에 사용 가능한 light profile이 있어야 함. 그룹 학습에는 동기화된 구성원 권한 그룹도 필요함
운영자가 Source를 등록 파일 또는 웹페이지가 검색 대상이 되고 추출된 Claim을 만들 수 있음 Claim 추출에는 유지보수 Agent의 light profile이 필요함. 파일은 배포 환경에서 읽을 수 있어야 함. 파일과 가져온 페이지 본문은 유효한 UTF-8 텍스트이며 10 MiB 이하여야 함. URL은 Agent의 web_fetch profile 또는 로컬 ankole-browser fallback을 사용함

Signals 학습은 대상 Channel이 일정 시간 유휴 상태가 되거나 관련 대화가 끝난 뒤 메시지 묶음을 처리합니다. Agent의 비공개 모델 대화 기록이 아니라 Channel에 저장된 메시지를 읽습니다. 다이렉트 메시지에서 학습한 내용의 기본 범위는 상대방입니다. 그룹에서 학습한 내용의 기본 범위는 해당 Channel의 구성원 권한 그룹입니다.

remember가 성공하면 쓰기가 확정됩니다. 그 뒤 현재 턴이 실패하거나 취소되거나 재시도되어도 기억은 취소되지 않습니다. 확인된 기억은 최종 답변의 성공 여부에 의존하지 않는 영구 결과입니다.

등록된 각 Source에는 기본 공개 범위가 있습니다. 대상 독자에게 필요한 내용을 제공할 수 있는 가장 좁은 범위를 선택하십시오. Source를 보관 처리하면 이후 학습은 중지되지만 이미 학습한 지식은 삭제되지 않습니다.

Brain이 지식을 표현하는 방식

Brain은 서로 다른 질문에 답하기 위해 여러 형태로 지식을 보관합니다.

  • 페이지는 사람, 회사, 사건, 프로젝트, 문서, 개념처럼 안정된 하나의 대상에 대한 현재 설명입니다.
  • Fact는 확인하거나 갱신할 수 있는 하나의 관찰입니다. 신뢰도, 시간, 출처, 보유자, 공개 범위를 가집니다.
  • Take는 사람, Agent 또는 Brain이 가진 판단, 예측, 내기, 가설입니다. 가중치를 가지며 나중에 채점하거나 확정할 수 있습니다.
  • Timeline은 어떤 대상에 언제 무슨 일이 있었는지 기록합니다.
  • Link는 두 페이지 사이의 관계를 기록합니다.

holder는 Claim을 보유한 사람 또는 Agent이며 문장의 대상이 아닙니다. 예를 들어 Alex가 어떤 공급업체를 믿을 수 없다고 말했다면, 그 Take의 holder는 Alex입니다. 공급업체가 보유한 Fact가 아닙니다.

하나의 Claim에는 독립적으로 바뀔 수 있는 하나의 주장만 담습니다. Brain은 각 Claim의 출처를 저장하고 이전 페이지 버전과 대체된 Claim도 보관합니다. 수정은 현재 모습을 바꾸지만 그 모습이 형성된 과정은 지우지 않습니다.

Agent가 기억을 사용하는 방식

Brain은 두 가지 방식으로 관련 기억을 제공합니다. 대화 시작과 컨텍스트 압축 뒤에는 참여자, 최근 언급된 대상, 중요한 현재 Fact, 미완료 약속이 담긴 제한된 컨텍스트 팩을 준비합니다. 각 텍스트 턴에서는 새 메시지의 이름과 일치하는 페이지도 Agent에게 알려줄 수 있습니다.

이 주입 과정은 자체적으로 모델을 호출하지 않습니다. 조립이 시간 초과되거나 실패하면 빈 결과를 반환하고 턴은 계속됩니다. 회상된 내용은 배경 데이터이지 지시가 아닙니다. 오래되었거나 불완전할 수 있습니다.

작업에서 명시적인 기억 조작이 필요하면 Agent는 다음 도구를 사용할 수 있습니다.

도구 결과
learn_source 하나의 웹 URL을 Source로 등록하고 백그라운드 학습을 시작
recall Token 한도 안에서 현재 Fact와 Take를 먼저 반환하고 관련 페이지 구절을 이어서 반환
get_page slug 또는 자연어 이름으로 공개 범위에 맞게 잘린 전체 페이지를 읽음. 이름이 모호하면 추측하지 않고 후보를 반환
entity 선택된 Fact, 관계, 백링크 수가 포함된 대상 카드를 반환
whoknows 현재 볼 수 있는 지식을 기준으로 특정 주제를 아는 사람, Agent, 회사의 순위를 매김
delta 지정 기간에 추가되거나 만료된 Claim과 Timeline 이벤트를 보고
synthesize 회상한 증거를 사용해 하나의 질문에 답하는 영구 분석 페이지를 작성
forget 이유를 기록하고 Fact를 만료하거나 Take를 비활성화하거나 페이지를 소프트 삭제

Brain에서만 검색되는 Skill 발견하기

배포되는 Skill 중 일부는 현재 작업과 관련될 때만 필요한 SOP 또는 방법론을 담습니다. Skill에 brain-recall-only: true를 선언하면 모든 Prompt의 Skill 카탈로그에서는 빠지고 Brain을 통해 발견할 수 있습니다.

Brain은 Skill의 name, description, tags만 lazyload-agent-skills/<skill-name>이라는 world 범위의 발견 레코드로 인덱싱합니다. Skill 본문, 그 밖의 모든 Skill 파일, Agent별 교훈은 기존 소유자에게 남고 skill_view를 통해 읽습니다. recall이 이 레코드를 반환하면 Agent는 skill_view를 호출합니다. loader는 ankole-runtime을 적용하여 호환되는 실행 표면에서는 지침을 로드하고, 메인 Agent가 background-only Skill을 선택하면 Job 라우팅 안내를 반환하며, 그 밖의 호환되지 않는 읽기는 거부합니다. 이 레코드에 대한 get_page 호출도 skill_view에 위임하여 같은 결과를 반환합니다.

Brain은 후보를 선택하기 전에 현재 Agent의 Agent Plugin 및 Skill 유효 활성화 상태를 적용합니다. 비활성화된 Skill은 검색하거나 로드할 수 없습니다. 공유 발견 projection은 비활성화해도 삭제되지 않으므로, 다시 활성화하면 재구축 없이 접근이 복원됩니다.

Embedding 모델이 있으면 검색은 전문 검색 후보와 벡터 후보를 결합합니다. Rerank 모델이 있으면 결합된 결과의 순서를 다시 정할 수 있습니다. Embedding 모델이 없어도 전문 검색은 작동합니다. Rerank 모델이 없으면 결합 후 순서를 유지합니다.

지식 경계와 공개 경계

보호된 각 본문 구역, Fact, Take, Timeline 이벤트는 다음 공개 범위 중 하나를 사용합니다.

범위 접근할 수 있는 Principal
world 인스턴스의 모든 Principal
group:<name> 해당 권한 그룹의 현재 구성원
principal:<uid> 해당 Principal만

Brain은 읽고 쓸 때 현재 권한 그룹 구성원 관계를 확인합니다. 나중에 소속 팀이 바뀌면 각 기억을 다시 쓰지 않아도 이후 회상에 반영됩니다.

작성자는 자신이 쓴 Claim과 Timeline 이벤트에 접근할 수 있습니다. Agent 소유자는 해당 Agent의 비공개 범위와 Agent가 작성하거나 보유한 지식을 감사할 수 있습니다. 소유권만으로 Agent가 속한 그룹의 공유 지식을 읽을 수는 없습니다. 소유자 본인도 그 그룹에 속해야 합니다.

그룹 대화에서는 두 번째 공개 검사를 수행합니다.

  • 엄격 모드가 기본값입니다. 검사 대상인 모든 현재 구성원이 원래 접근할 수 있을 때만 그룹 범위 기억을 공개합니다.
  • 완화 모드는 질문자만 확인하며 다른 현재 구성원 때문에 결과를 좁히지 않습니다.

다이렉트 메시지에서는 두 모드가 같은 방식으로 동작합니다.

Source 또는 Channel은 증거의 출처를 기록하지만 학습한 지식에 대한 접근 권한을 부여하지 않습니다. 공개 범위는 지식 자체에 설정합니다. 페이지의 slug, 제목, 유형, 존재 여부는 인스턴스 안에서 보입니다. 보호된 본문과 구조화된 Claim은 공개 범위에 맞게 잘립니다.

Agent가 remember를 능동적으로 호출할 때 기밀 유지 지침에 따라 공개 범위를 선택합니다. 이 분류는 모델의 최선 노력 판단이며 틀릴 수 있습니다. 애플리케이션은 선택된 범위를 결정적으로 적용하지만 분류가 옳았음을 증명하지는 않습니다. 규정 준수 수준의 격리가 필요하면 기억 분류에만 의존하지 말고 Principal과 권한 그룹에서 Agent에 접근할 수 있는 주체를 제한하십시오.

지식을 현재 상태로 유지하는 방식

Dreaming은 판단이 필요한 지식을 정기적으로 유지하는 시간입니다. 다음 작업을 수행할 수 있습니다.

  • 관련 Fact를 Brain이 보유하는 신중한 Take로 통합합니다.
  • 여러 페이지에 걸친 패턴을 찾아 증거 Link가 있는 분석을 작성합니다.
  • 관계와 Timeline 이벤트를 추출합니다.
  • 기한이 된 Take를 채점하고 교정 요약을 갱신합니다.
  • 모순 가능성을 감지합니다.
  • 반복된 증거에 더 분명한 유형이 필요할 때 Schema 용어를 제안합니다.

Dreaming은 모순을 조용히 해결하거나 관련 Claim을 고쳐 쓰지 않습니다. 발견 내용을 기록하고 사람이 Console에서 해결하거나 기각할 수 있게 합니다. Schema 제안도 승인되기 전에는 인스턴스 어휘를 바꾸지 않습니다.

Fact는 유형과 경과 시간에 따라 검색 순위 가중치가 낮아집니다. 이 감쇠는 저장된 신뢰도나 기록을 바꾸지 않습니다. 명시적인 망각만 현재 상태를 바꿉니다. Fact는 만료되고 Take는 비활성화되며 페이지는 소프트 삭제됩니다. 소프트 삭제된 페이지는 설정된 영구 삭제 기한 전까지 복원할 수 있습니다. 만료되거나 대체된 Claim은 감사와 교정 기록으로 남습니다.

Self-healing은 검색용 투영을 유지합니다. 오래된 청크와 Embedding을 복구하고 검색 인덱스를 확인하며 아직 학습해야 하는 대상 Channel을 찾습니다. 이 작업은 추론 모델을 호출하지 않습니다.

Console에서 Brain 관리하기

Console의 Brain 영역은 지식 공간을 결과별로 보여줍니다.

  • Objects는 페이지, 표시 본문, Fact, Timeline, Link, Tag, 버전, 롤백, 삭제, 복원을 보여줍니다.
  • Claims는 Fact와 Take의 출처와 현재 상태를 보여주고 수정, 망각, 확정 작업을 제공합니다.
  • Contradictions에는 사람이 검토할 모순 후보가 들어갑니다.
  • Suggestions에는 승인하거나 거절할 어휘 제안이 들어갑니다.
  • Sources에서는 파일과 URL을 등록하고 학습을 시작하고 Source를 보관 처리할 수 있습니다.
  • Search preview는 선택한 Principal과 공개 모드로 회상을 실행합니다.
  • Principal audit는 특정 Principal이 holder, 작성자 또는 대상인 지식을 나열합니다.
  • Health는 모델 준비 상태, 학습 적체, Embedding 실패, Channel 전제 조건, 투영 상태를 보여줍니다.

Brain 설정에서는 Brain 유지보수를 담당할 Agent를 선택하고 인스턴스 지식 공간에 속하는 두 모델 설정을 유지합니다. 모든 Brain 모델 호출은 선택한 Agent의 ID로 실행되고 사용량도 이 Agent에 귀속됩니다. 이 Agent는 활성 상태를 유지해야 합니다. 비활성화하면 Brain이 비정상 상태를 보고하고, Agent를 다시 활성화하거나 교체할 때까지 모든 모델 호출과 로컬 URL 가져오기를 중지합니다. 저장된 지식과 텍스트 검색은 계속 사용할 수 있습니다.

소유자 및 설정 활성화되는 결과
유지보수 Agent의 light profile Signals 학습과 Source의 Claim 추출
유지보수 Agent의 heavy profile 모델이 필요한 Dreaming 작업과 synthesize
유지보수 Agent의 web_fetch profile URL Source에서 읽을 수 있는 본문을 추출. 로컬 ankole-browser가 fallback
Brain Embedding 모델 벡터 검색과 Fact 의미 중복 판정
Brain Rerank 모델 검색 결과를 결합한 뒤 순서를 다시 정함

선택 모델이 없으면 해당 기능만 제한됩니다. 상태가 숨겨지지 않으며 Health 페이지에 사용할 수 없는 기능이 표시됩니다. Brain을 비활성화하면 기억 도구와 컨텍스트 주입이 사라지고 백그라운드 작업이 중지됩니다. 저장된 지식은 바뀌지 않습니다.

모든 인스턴스에는 공통 어휘를 제공하는 general Schema Pack이 들어갑니다. 초기 설정에서 사모펀드와 벤처캐피털, 공개 시장, 소비재, 법무, 소프트웨어, 컨설팅 Pack도 선택할 수 있습니다. 모든 Agent가 설치된 어휘를 공유합니다. 반복해서 나타나는 개념은 통제되지 않은 새 유형이 아니라 승인 대기 중인 Schema 제안이 됩니다.

현재 지원 범위

Brain은 현재 다이렉트 메시지와 IM 그룹 Channel의 메시지 묶음만 자동 학습합니다. 등록 가능한 Source는 파일과 URL입니다. Connector, Webhook, Alert Source에서 직접 학습하지 않습니다.

Brain은 증거를 저장하는 시스템이며 저장 내용이 모두 정확하거나 완전하다고 보장하지 않습니다. 중요한 판단을 내릴 때는 출처, 시간, 신뢰도, holder, 모순 상태를 함께 확인하십시오.

시스템 안에서 Brain이 차지하는 경계는 아키텍처를 참조하십시오. 런타임 설정은 AppConfigure를 참조하십시오. 실제 작업 기록에서 절차 가드레일을 학습하는 방식은 Skill Lessons를 참조하십시오.