권한이 붙은 회사 지식층을 에이전트에 꽂는다: pipeshub-ai/pipeshub-ai v1.0.0의 에이전트 루프·MCP 14도구·EnterpriseRAG #1(93.24)과 박스 SDK 실측

2026년 11월 7일 GitHub Trending(Python)에 pipeshub-ai/pipeshub-ai가 올랐습니다. 이 글 작성 시점 GitHub API 기준 스타 4,034·forks 650, 최신 릴리스 v1.0.0(2026-10-27), 기본 브랜치 HEAD 699b8b5(2026-11-07), 라이선스 Apache-2.0. 포지셔닝은 “워크플레이스 챗봇”이 아니라 회사 지식의 권한 인식 컨텍스트 층(context layer)입니다. Slack·Drive·Jira·Confluence·GitHub·M365 등 50+ 소스를 동기화하고, 사람 검색 UI와 에이전트(MCP/SDK/API)가 같은 권한 경계 안에서 인용 가능한 답을 쓰게 합니다.

이 글은 초보 튜토리얼이 아닙니다. 에이전트 루프 vs 단발 RAG, Compose 프로파일(slim/full)·저장소 역할 분리, MCP 14도구·Python SDK(pipeshub_sdk.Pipeshub 2.0.1) 표면, EnterpriseRAG-Bench 리더보드 CSV로 재확인한 #1(93.24), v1.0.0 브레이킹 체인지, 그리고 이 박스에서 Docker 없이 통과한 패키지 실측을 실무자 기준으로 정리합니다. 오늘 오전 Opensource 딥다이브(google/skills, 절차서 카탈로그)와는 계층이 다릅니다 — 저쪽은 에이전트에게 어떻게 할지를 꽂고, 이쪽은 무엇을 볼 권한이 있는지를 꽂습니다.

권한이 붙은 회사 지식층을 에이전트에 꽂는다: pipeshub-ai/pipeshub-ai v1.0.0 · HEAD 699b8b5
권한이 붙은 회사 지식층을 에이전트에 꽂는다: pipeshub-ai/pipeshub-ai v1.0.0 · HEAD 699b8b5

한 줄 정의와 핵심 숫자

PipesHub는 커넥터가 소스+ACL을 끌어오면 인덱싱 파이프라인(파싱·청크·임베딩)과 지식 그래프가 레코드·사람·티켓·PR·스레드를 잇고, 질의는 단일 retrieve-then-generate가 아니라 에이전트 루프로 도구를 반복 호출합니다. 모든 도구 호출은 요청자 권한으로 필터되고, 답은 블록 단위 인용을 붙입니다.

항목 값 (이 글 검증)
저장소 pipeshub-ai/pipeshub-ai
릴리스 / HEAD v1.0.0 (2026-10-27) / main@699b8b5 (2026-11-07)
라이선스 Apache-2.0 (루트 LICENSE · PyPI pipeshub-sdk · npm MCP 패키지)
스타 / forks / open issues 4,034 / 650 / 224 (GitHub API 2026-11-07)
토픽 agentic-rag, context-layer, mcp, graphrag, enterprise-search, self-hosted …
Python SDK pipeshub-sdk 2.0.1 (import pipeshub_sdk, 클래스 Pipeshub)
MCP 패키지 @pipeshub-ai/mcp 4.10.0 (bin: mcp / pipeshub)
문서·클라우드 docs.pipeshub.com · app.pipeshub.com/mcp

왜 ‘컨텍스트 층’인가: 절차서·브라우저·워크트리와의 계층

에이전트 스택에서 역할이 겹치면 운영 비용이 폭증합니다. 오늘 오전 google/skills는 GCP 절차서 카탈로그이고, 어제 worktrunk는 병렬 worktree UX, agent-browser는 AXTree 조작입니다. PipesHub는 그 아래에서 권한 있는 회사 지식을 공급합니다. 코딩 에이전트가 “빌링 워커 재시도 로직이 왜 바뀌었나?”를 물으면 인시던트 포스트모템·PR·슬랙·설계 문서를 그 사용자가 볼 수 있는 범위에서 인용합니다.

계층 대표 도구 에이전트에게 주는 것 권한 모델
절차서/스킬 google/skills CLI·클라우드 작업 순서 스킬 작성자 가드레일
브라우저 런타임 agent-browser 페이지 AXTree·@ref 세션/쿠키
저장소 슬롯 worktrunk 브랜치별 worktree 로컬 git ACL
회사 지식 층 PipesHub 검색·인용·KG·MCP 도구 소스 ACL → 요청자 필터
모델/추론 BYOM / Ollama 임베딩·생성 테넌트가 키/엔드포인트 소유
에이전트 루프: Hybrid search · Grep · KG navigate · Document read (권한 필터)
에이전트 루프: Hybrid search · Grep · KG navigate · Document read (권한 필터)

질의 경로: 에이전트 루프 4도구

README가 명시하는 루프는 계획 → 도구 → 결과 읽기 → 증거 충분할 때까지 반복입니다. 단발 벡터 top-k에 의존하지 않는 이유가 벤치와 연결됩니다.

도구 역할 실패 모드를 막는 지점
Hybrid search 의미+키워드 동시 고유명사·에러 문자열 누락
Grep / pattern 티켓키·심볼·정확한 ID 임베딩 유사도만의 오탐
Knowledge-graph nav 문서↔사람↔티켓↔PR 링크 청크 고립으로 맥락 단절
Document reading 매칭 청크가 아니라 원문 개방 부분 인용으로 인한 환각

모든 호출은 “묻는 사용자”의 권한으로 필터됩니다. MCP/SDK로 붙인 코딩 에이전트도 Personal Access Token이 그 사람으로 동작하므로, client_credentials 서비스 계정과는 경계가 다릅니다(v1.0.0에서 앱 신원에 서비스 계정 바인딩이 강제된 이유와 맞닿습니다).

스택 3평면: Next.js · Node API · Python services + Neo4j/Qdrant/Mongo/Redis
스택 3평면: Next.js · Node API · Python services + Neo4j/Qdrant/Mongo/Redis

벤치마크: 숫자와 출처를 분리해서 읽기

README 표와 Hugging Face Space의 leaderboard.csv를 이 박스에서 재확인했습니다. EnterpriseRAG-Bench(Onyx 독립 실행, 50만+ 문서·500문항)에서 PipesHub 93.24로 39개 시스템 중 1위. 비교 열: OpenAI File Search 61.03, Amazon Q 48.96, Azure AI Search 48.42, Vertex AI Search 41.87(README 인용). FRAMES 92.7%(18개 표준 RAG 대비 최고 78.9%)와 “회사 인덱스 vs 앱별 MCP” 비교는 PipesHub 팀 자체 실행이므로 독립 벤치와 무게를 나누어 해석해야 합니다.

벤치 측정 결과 실행 주체
EnterpriseRAG-Bench 회사 문서 QA #1 / 39, 93.24 (CSV 재확인) Onyx (독립)
Google FRAMES (824) 다문서 사실 92.7% vs 표준 RAG 최고 78.9% PipesHub 팀
회사 인덱스 vs per-app MCP 100 업무 질문 Haiku 55→80%, Sonnet 65→89%, Opus 85→92%; 27–45% 빠름 PipesHub 팀
Code graph accuracy 9개 저장소 관계 F1 8/9에서 최고 PipesHub 팀

리더보드 CSV 헤더: model,overall_score,correctness,completeness,recall,invalid_extra_docs. PipesHub 행은 95.0 / 95.63 / 96.33 / 0.4. “자사 리더보드 1위”가 아니라 외부 Space 스냅샷으로 교차 확인한 점이 실무 평가에 중요합니다.

아키텍처: 3평면 + 저장소 백엔드

FAQ 기술 스택을 기준으로 나눕니다. 웹(Next.js)·API(Node.js)·Python 서비스(커넥터·인덱싱·질의)가 BYOM 임베딩/LLM을 호출합니다. 데이터는 지식 그래프(기본 Neo4j, 대안 ArangoDB), 벡터(Qdrant), MongoDB, 캐시(Redis), 파일(디스크/오브젝트)에 갈라집니다. 로컬은 Redis 스트림, 대규모는 Kafka 프로파일입니다.

평면 구현 책임
Web frontend/ (Next.js, Electron 빌드 자산 포함) 검색·채팅·관리 UI
API backend/nodejs 계정·권한·KB·파일·OAuth/PAT
Python services backend/python 커넥터 동기화·파싱·질의 에이전트
Graph Neo4j 5.26 / ArangoDB 3.12 엔티티·관계 탐색
Vector Qdrant v1.15 시맨틱 검색
KV / Broker Redis · (옵션) etcd · Kafka 캐시·작업 큐
배포 표면: get.pipeshub.com/install · Compose 프로파일 · Cloud MCP + PAT
배포 표면: get.pipeshub.com/install · Compose 프로파일 · Cloud MCP + PAT

배포: 원커맨드 설치와 Compose 프로파일

curl -fsSL https://get.pipeshub.com/install | bash는 래퍼입니다. 저장소 루트 install.sh(5,413 B, 이 박스에서 raw·get.pipeshub.com 바이트 일치)는 로직이 거의 없고, 실제 설치는 deployment/docker-compose/install.sh로 위임합니다. standalone 모드는 사전 빌드 이미지만 받고, --build는 풀 클론이 필요합니다. Compose 주석 기준 항상 켜지는 축은 pipeshub-ai·redis·mongodb·qdrant입니다.

프로파일 컨테이너 앱 쪽 변수 언제
(항상) pipeshub-ai, redis, mongo, qdrant — slim 기본
graph-neo4j neo4j:5.26.0 DATA_STORE=neo4j 기본 그래프
graph-arango arangodb:3.12.4 DATA_STORE=arangodb 대안 그래프
kv-etcd etcd v3.5.17 KV_STORE_TYPE=etcd 분산 KV
broker-kafka zk+kafka 7.9.0 MESSAGE_BROKER=kafka 대규모 큐
sandbox sandbox + docker-socket-proxy SANDBOX_MODE=docker 코드 실행 아티팩트
search-searxng / fetch-crawl4ai searxng / crawl4ai 워크스페이스 설정 웹 검색·JS 페이지

주의: COMPOSE_PROFILES를 CLI로 넘기면 .env 값을 덮어 프로파일이 빠질 수 있습니다(compose 주석). 클라우드 HTTP-only는 브라우저가 일부 요청을 막아 흰 화면이 난다고 README가 못 박습니다 — TLS 종료(Cloudflare/Nginx/Traefik)가 운영 기본값입니다. Helm은 v1.0.0부터 Qdrant API 키 기본값을 제거했습니다.

MCP·CLI·SDK 표면

에이전트 연결의 실무 기본값은 PAT + MCP입니다. npm @pipeshub-ai/mcp@4.10.0(tgz ~6.29 MB)는 mcp start|serve와 pipeshub CLI를 같이 싣습니다. 도구 파일 기준 이름 14개:

MCP 도구 의도
pipeshub_search 벡터/시맨틱 검색
pipeshub_chat 그라운디드 Q&A
pipeshub_sources 소스·모델 디스커버리
pipeshub_get_record_content / preview / download 레코드 본문·미리보기·원본
pipeshub_show_citations 인용 UI/증거
pipeshub_agents 조직 에이전트 목록
pipeshub_directory 사람·그룹·팀 조회
pipeshub_create_collection / upload / indexing_status 컬렉션 적재 파이프
pipeshub_connect_source / add_web_source 커넥터·웹 크롤 등록

CLI(pipeshub)는 init·login·search·ask·mcp install --client claude-code|cursor|codex|gemini|claude-desktop까지 한 바이너리에 묶습니다. 클라우드 엔드포인트는 https://app.pipeshub.com/mcp.

Python SDK 2.0.1은 Speakeasy 생성 스타일로, 진입 클래스가 Pipeshub(대소문자 주의: PipesHub가 아님)입니다. 인스턴스 리소스: semantic_search, conversations, agents, knowledge_base, connector*, personal_access_tokens, web_search 등. connector.navigate_knowledge_graph가 SDK에 노출된 점은 README의 KG 네비게이션과 코드 표면이 맞닿는 지점입니다.

패키지 버전 설치/진입 의존성 메모
pipeshub-sdk (PyPI) 2.0.1 import pipeshub_sdk → Pipeshub httpx, httpcore, pydantic
@pipeshub-ai/sdk (npm) 2.0.1 TS 클라이언트 API 대칭
@pipeshub-ai/mcp 4.10.0 mcp start --transport stdio|sse @modelcontextprotocol/sdk, express, zod, bun
pipeshub-sdk-go 별도 레포 Go 클라이언트 README 배지
박스 실측(2026-11-07 KST): sdk 2.0.1 import 0.10s · mcp 4.10.0 help 0.19s · EnterpriseRAG 93.24
박스 실측(2026-11-07 KST): sdk 2.0.1 import 0.10s · mcp 4.10.0 help 0.19s · EnterpriseRAG 93.24

박스 실측 (2026-11-07 KST)

이 박스에는 Docker가 없어 Compose 풀스택은 돌리지 않았습니다. 대신 배포 스크립트·Compose 선언·SDK/MCP 패키지를 실측했습니다.

항목 결과
install.sh (repo raw vs get.pipeshub.com) 5,413 B 일치 · 위임형 래퍼 확인
docker-compose.yml (v1.0.0 태그) 39,249 B · always-on 4 + 프로파일 카탈로그 파싱
pipeshub-sdk 2.0.1 venv 설치·import import ≈0.10s · 서브모듈 31 · 클래스 Pipeshub
Pipeshub 리소스 표면 semantic_search / conversations / agents / connector.navigate_knowledge_graph 등
@pipeshub-ai/mcp 4.10.0 pack tgz 6,288,484 B · mcp --help 0.192s · CLI help 0.288s
MCP 도구 파일 pipeshub_*.js 14종 이름 확인
EnterpriseRAG CSV PipesHub 93.24 행 재확인 (HF Space raw)
미실행 docker compose up · 실커넥터 동기화 · 실질의 지연

저장소 구조와 커넥터 규약

루트는 backend/(db·nodejs·python), frontend/, deployment/, docs/, integrations/, AGENTS.md·CONNECTOR.md 중심입니다. 커넥터 문서는 코딩 에이전트 우선으로 읽기 순서를 강제합니다: high-level → low-level → decisions → intake → step-by-step → permissions → errors → testing → checklist. 핵심 규칙 요약: (1) 소스 ACL과 보이게 맞출 것(불확실하면 숨김), (2) graph/vector/broker 클라이언트를 커넥터에 직접 넣지 말 것, (3) asyncio 루프를 막지 말 것, (4) 시크릿을 로그하지 말 것, (5) 실패한 읽기를 빈 집합으로 쓰지 말 것.

경로 역할
backend/nodejs 계정·권한·KB API
backend/python 커넥터·인덱싱·질의 에이전트
frontend/ Next.js 앱 (+ Electron 패키징 자산)
deployment/docker-compose/ install.sh · compose · env.template · 프로파일
docs/connectors/01–08 커넥터 설계·권한·테스트 게이트
CONNECTOR_CHECKLIST.md PR DoD
.claude/skills/add-connector 커넥터 추가 스킬(에이전트용)

v1.0.0 업그레이드 함정

릴리스 노트 기준 브레이킹: SAML·generic OAuth 로그인 제거, client_credentials 앱은 서비스 계정 명시 바인딩 필요, Helm Qdrant API 키 필수, POST /connectors/:id/filters 폐기. 기본값으로 Targeted Retrieval·Timeline Summaries 등이 켜지는 변경도 있습니다. 프로덕션 업그레이드 전 IdP·서비스 계정·Helm values를 체크리스트로 고정하세요.

역할 지도: PipesHub(컨텍스트 층) vs google/skills(절차서) vs worktrunk(워크트리)
역할 지도: PipesHub(컨텍스트 층) vs google/skills(절차서) vs worktrunk(워크트리)

포지셔닝과 도입 판단

PipesHub를 고를 조건은 “모델이 부족해서”가 아니라 “도구별 MCP를 병렬로 붙이면 권한·인용·중복 검색 비용이 폭발해서”인 경우가 많습니다. 자체 벤치의 per-app MCP 대비 회사 인덱스 이득(정확도·지연·토큰)이 그 가설을 뒷받침하지만, 독립 벤치는 EnterpriseRAG 쪽을 우선 보세요. 반대로 단일 SaaS 검색만 필요하고 소스 ACL을 IdP에 맡길 수 있다면 관리형 검색이 운영 단순성에서 이길 수 있습니다. 자기호스팅+BYOM이 계약 조건이라면 Apache-2.0 풀스택은 협상 카드가 됩니다.

상황 PipesHub 적합도 대안 쪽
멀티 소스 + 소스 ACL 유지 + 에이전트 MCP 높음 앱별 MCP 나열은 권한 누수·비용
GPU 추론 최적화만 필요 낮음 TensorRT-LLM 등 서빙 스택
절차서/클라우드 CLI 가드레일 계층 다름 google/skills
로컬 음성 TTS/ASR 계층 다름 VibeVoice 등
관리형만, 인프라 제로 Cloud 티어 또는 Glean급 SaaS

실무 체크리스트

단계 확인
1 install 스크립트를 파이프 전에 파일로 받아 diff/less
2 slim으로 기동 → Neo4j/Qdrant/Mongo 헬스 → HTTPS 종료
3 커넥터 1개(이상적으로 GitHub 또는 Drive) + ACL 스모크 계정 2명
4 PAT 발급 → pipeshub mcp install --client … 또는 Cloud MCP URL
5 같은 질문을 UI·MCP·SDK 세 경로로 던져 인용·권한 일치 확인
6 v1.0.0이면 IdP/서비스 계정/Helm Qdrant 키 마이그레이션
7 Kafka/etcd/sandbox는 트래픽·코드실행 요구가 생길 때 프로파일 추가

요약하면, pipeshub-ai/pipeshub-ai v1.0.0은 “또 하나의 RAG 데모”가 아니라 권한 경계가 코드화되어 있는 회사 지식 런타임에 가깝습니다. 오늘 트렌딩에서 고른 이유도 그 계층이 오전 skills 카탈로그·어제의 worktree/브라우저 런타임과 겹치지 않기 때문입니다. 박스에서는 Docker 부재로 풀스택 기동 대신 SDK·MCP·Compose·리더보드 CSV를 교차 검증했습니다 — 프로덕션 채택 전엔 반드시 자체 테넌트에서 이중 계정 ACL 스모크를 통과시키세요.