WORK — 함께 일하기
모든 직원- AI 작업공간 — Knowledge Space · 질문 · Recipe 결과물
- 켠 Module
- 설치한 Industry Pack의 Agent
Layered Architecture
고객마다 다른 것은 설정·Customization·Extension으로 두고, Core는 고객별로 고치지 않습니다. 그래서 업그레이드가 모든 설치에서 같은 절차로 끝납니다.
| 계층 | 구성 | 버전 관리 |
|---|---|---|
| Industry Pack | Process Map · Common Knowledge(법령) · Knowledge Space · AI Agent · Playbook · Recipe · Label Schema · Eval Set · Connector 템플릿 | 팩마다 버전과 필요한 Core 버전 |
| Module | 회계 · 영업(입찰·RFP·해외사업) · 일정 · 메일 · 경비 · 총무 · 법무관리 · Memory — 모두 직접 개발, 켜고 끄며, 내장 구현과 외부 제품 Adapter를 교체 가능 | 모듈마다 버전과 필요한 Core 버전 |
| Platform (관리하기) | 회사·브랜드 · 사용자·권한 · LLM Provider · 커넥트센터 · Org Unit·보안 · Release · Citizen Developer 개선 | Core 버전을 따름 |
| Core — WithUs-RAG | Knowledge Space · Indexing · Hybrid Search · Rerank · Citation 답변 · AI Agent · Evaluation · Common Knowledge · 인용 그래프 | 제품 버전 (예: v1.50.0) |
RAG Pipeline
3-Room UI
Room과 Module 이름은 설정이라 고객사가 바꿉니다. BUILD·ADMIN은 별도 창으로 열고 창끼리 로그인·메뉴 상태를 맞춥니다.
Integration
새 기능은 화면 전용으로 만들지 않고 서버 함수와 화면을 나눕니다. 그래서 같은 기능을 OpenAPI · Connector · MCP로 내놓을 수 있습니다.
연동에 쓰는 상용·사내 API를 등록하고 버전을 관리합니다.
중소기업 ERP를 OpenAPI 또는 엑셀 템플릿으로 붙입니다.
WithUs-Ai 기능을 외부 시스템과 AI 도구에 공개합니다.
Security
부서·재판부의 지식과 질문·답변·결과물은 그 단위 안에서만 봅니다. 회사 관리자도 열 수 없고, Strict Unit은 전사 공개로도 열리지 않습니다.
열람 · 질문 · 내려받기 · 권한 변경 · 거절된 접근을 단위별로 기록하고 단위 관리자가 봅니다.
API Key·비밀번호는 설치마다 DB에 암호화해 두고, 코드·저장소·화면에 노출하지 않습니다.
자체 로그인 · Cloudflare Access(Zero Trust) · SSO를 하나로 가정하지 않습니다.
Deployment
| On-premise (1차) | Air-gapped (폐쇄망) | SaaS | |
|---|---|---|---|
| 설치 | 고객 서버·NAS 한 대의 Docker Compose | 같음 — 설치 패키지·Release Bundle을 파일로 반입 | 위더스 운영 클라우드 |
| Tenancy | 설치 하나 = 회사 하나 | 같음 | DB-per-tenant (회사마다 DB 분리) |
| LLM | 회사 API Key(Claude) 또는 사내 Ollama | 사내 Ollama(GPU 서버)만으로 핵심 기능 | 플랫폼 Key 또는 회사 Key · Ollama Cloud |
| Vector Search | pgvector, 없으면 In-memory | 같음 | pgvector |
| Common Knowledge | 설치마다 가져오기 | 법령·판례 패키지를 파일로 올리기 | 한 번 넣고 모든 회사가 읽기 전용 |
| 공공기관 연동 | Embedded 모드 | DMZ Relay 모드 — Core가 먼저 접속 · mTLS · DMZ 무저장 | Embedded 모드 |
Release · CI/CD
CI는 위더스가, CD(업그레이드 받기·Customization 관리)는 제품 안에서 합니다. 모든 단계를 기록하고 Rollback을 남깁니다.
Core·Module·Pack 버전을 묶어 검증한 패키지를 받습니다. 폐쇄망은 파일로 올립니다.
같은 서버의 Staging 환경에 먼저 올리고, Migration은 다시 실행해도 안전하게(Idempotent) 작성합니다.
Self-check · Eval Set 회차 비교 · 화면 확인. 현업의 Citizen Developer 개선도 여기서 시험합니다.
IT 검증을 마친 변경만 결재를 거쳐 Production으로 내보냅니다.
반영 직전 백업을 남기고, 문제가 생기면 이전 버전으로 Rollback 합니다.
Tech Stack
| 영역 | 구성 |
|---|---|
| Web · API | Python · Starlette · Uvicorn |
| Database | PostgreSQL 16 · pgvector · 전문 검색 인덱스 |
| Embedding · Rerank | Voyage AI 또는 사내 Ollama Embedding |
| LLM | Claude (Citation 지원) · Ollama (사내 GPU · Cloud) — 기능별 선택 |
| Runtime | Docker Compose — Production · Staging 컨테이너 |
| Integration | OpenAPI 3 · MCP · mTLS DMZ Relay |
기존 업무시스템·ERP 와의 연동 방식, On-premise·폐쇄망 구성을 함께 설계합니다.