개념

화면에 나오는 낱말을 한 항목씩 설명합니다.

이 페이지에서

낱말은 포털 화면의 말과 같습니다. 「왜 이렇게 되어 있나」 상자는 기관에서 도입을 검토하는 분을 위한 설명입니다. 아이디, 경로, 수, 역할 이름은 모두 예시입니다.

작업공간과 데이터

작업공간

왼쪽 메뉴: 내 작업공간

연구 과제 하나를 위한 내 작업 환경입니다. 브라우저에서 여는 VS Code 호환 편집기와 터미널, Claude Code, 내 작업 폴더가 들어 있습니다.

작업공간은 주인의 것이고 다른 사람과 함께 쓰지 않습니다. 결과는 내보내서 나눕니다.

내 데이터

내가 볼 수 있는 원본 데이터입니다. 관리자가 데이터 폴더에 역할을 붙이고, 내 역할 가운데 하나가 붙은 데이터가 보입니다.

볼 수 없는 데이터는 목록에 나오지 않고, 있는지도 알 수 없습니다.

왜 이렇게 되어 있나없는 것과 볼 수 없는 것이 목록, 미리 보기, 요청에서 똑같이 답합니다. 그래서 데이터의 이름조차 볼 권한이 없는 사람에게 드러나지 않습니다.

역할

관리자가 사람과 데이터 폴더에 붙이는 이름표입니다. ct_research 같은 이름입니다. 폴더에 붙인 역할은 그 아래 모든 파일에 이어집니다.

막는 규칙은 따로 없습니다. 숨겨야 할 데이터는 관리자가 다른 폴더나 다른 표로 나눠 둡니다.

이 작업공간에서 쓸 데이터

작업공간을 만들 때 고르는, 이 작업공간에 들어오는 데이터입니다. 처음에는 「내 데이터 전체」가 골라져 있습니다. 폴더와 표, 동료가 내보낸 결과를 고를 수 있습니다.

나중에 더할 수는 있지만 뺄 수는 없습니다. 빼고 싶으면 새 작업공간을 만듭니다.

왜 이렇게 되어 있나과제마다 쓸 데이터를 한 번 고르면, 그 범위는 시스템이 지킵니다.

/data

IDE: My data (read-only)

작업공간 안에서 데이터가 보이는 폴더입니다. 내가 볼 수 있고 이 작업공간에 고른 파일만 있고, 읽기만 할 수 있습니다.

원본을 복사한 것이 아니라 원본 그대로입니다. 관리자가 권한을 바꾸면 켜져 있는 작업공간에도 바로 반영됩니다.

왜 이렇게 되어 있나에이전트는 없는 파일을 읽을 수 없습니다. 볼 수 없는 파일은 막혀 있는 것이 아니라 아예 없습니다.

작업 폴더

IDE: My work (~/project)

작업공간 안의 내 파일입니다. 홈 폴더(~) 전체이고, 코드는 그 안의 ~/project에 둡니다. 설치한 파이썬 패키지와 Claude 대화 기록도 여기에 남습니다.

정지하거나 작업 환경을 다시 만들어도 남습니다. 작업공간마다 용량 상한이 있습니다.

작업공간은 쓴 데이터를 기억합니다

작업공간이 한 번이라도 볼 수 있었던 데이터는 계속 기억됩니다. 나중에 권한이 바뀌어 /data에서 파일이 사라져도, 그 데이터로 만든 중간 파일이 작업 폴더에 남아 있을 수 있기 때문입니다.

그래서 한 번 더한 데이터는 뺄 수 없습니다. 화면도 이렇게 말합니다: 「이미 이 작업공간에 있습니다. 빼려면 새 작업공간을 만드세요.」

왜 이렇게 되어 있나권한을 회수해도 그 작업공간의 결과는 계속 그 데이터를 볼 수 있는 사람에게만 보입니다. 권한 회수가 결과를 넓히는 길이 되지 않습니다.

표 데이터

표 하나는 Parquet 파일이 든 폴더 하나입니다. /data/tables/patients/ 같은 폴더입니다. 같은 폴더의 설명 파일(table.yaml)에 열의 뜻, 단위, 코드 체계, 결측값 규칙이 적혀 있습니다.

작업공간에서는 DuckDB로 표 이름을 써서 SQL로도 읽을 수 있습니다. 표마다 이름이 미리 잡혀 있습니다.

왜 이렇게 되어 있나데이터베이스 파일을 통째로 두지 않고 표마다 폴더로 나누므로, 표마다 권한을 따로 줄 수 있습니다. 열이나 행의 일부만 보여야 하면 관리자가 비식별 테이블 같은 파생 테이블을 따로 만들어 권한을 줍니다.

결과

결과 내보내기

왼쪽 메뉴: 결과 · 단추: 결과 내보내기

작업공간의 파일을 다른 사람이 보고 쓸 수 있는 결과로 내보내는 일입니다. 내보낼 파일과 재현 명령 파일을 적습니다.

내보낸 결과는 바뀌지 않고, 결과마다 r-0139 같은 ID가 붙습니다.

이 작업공간의 결과를 볼 수 있는 사람

표와 대화 상자: 볼 수 있는 사람

이 작업공간이 지금까지 쓴 데이터를 모두 볼 수 있는 사람입니다. 데이터를 더할수록 줄어들 수 있습니다.

화면은 「4명 (전체 31명 중)」처럼 수로 보여 주고, 데이터를 더하기 전에 바뀔 수를 미리 알려 줍니다. 아무도 남지 않으면 「이대로면 결과를 관리자만 볼 수 있습니다」라고 알려 줍니다. 관리자는 항상 볼 수 있습니다.

화면의 띠는 칸 하나가 한 사람입니다. 채운 칸은 볼 수 있는 사람이고, 빗금 칸은 고르려는 데이터를 더하면 볼 수 없게 되는 사람입니다. 아래는 예시입니다.

개발 중인 화면

4명 (전체 31명 중)

관리자는 항상 볼 수 있습니다

예시이며, 개발 중인 화면을 옮겨 그렸습니다.

왜 이렇게 되어 있나흔한 누출 하나를 막습니다. CT 영상과 진료 기록으로 만든 모델이 진료 기록만 볼 수 있는 사람에게 보이지 않습니다. 권한이 바뀌면 시스템이 다시 계산합니다.

필요한 권한

볼 수 있는 사람을 정하는 조건입니다. 줄마다 역할이 하나 이상 있고, 각 줄에서 하나 이상 가진 사람이 볼 수 있습니다.

예를 들어 「ct_research 또는 imaging_all 중 하나 그리고 ehr_basic 또는 ehr_full 중 하나」라면 두 줄을 모두 채워야 합니다.

볼 수 있는 사람 넓히기

집계 통계처럼 넓게 나눠도 되는 결과는 관리자가 사유를 적고 그 결과만 넓힐 수 있습니다. 넓힌 기록은 남고, 되돌릴 수 있습니다.

볼 수 없는 사람은 공유 화면에서 말을 남겨 권한을 요청할 수 있고, 관리자는 역할을 주거나, 결과를 넓히거나, 사유를 적어 거절합니다.

함께 저장되는 것

결과를 내보내면 그 순간의 작업 폴더(코드, 중간 파일, Claude 대화 기록), 설치한 패키지를 포함한 작업 환경, 그 작업공간이 볼 수 있던 데이터 그대로, 재현 명령이 함께 저장됩니다. 화면에는 「재현 명령과 당시 환경은 저장되어 있습니다」라고 나옵니다.

저장된 작업 폴더와 환경은 작업공간 주인과 관리자만 볼 수 있습니다.

지금은 재현 명령 파일이 있는지만 확인합니다. 다시 실행해 같은 결과가 나오는지 확인하는 기능은 계획되어 있고, 그래서 지금 모든 결과에 「재실행 확인 전」이 표시됩니다.

결과의 주소입니다. 링크는 권한이 아니라 주소라서, 열 때마다 그 사람이 지금 볼 수 있는지 확인합니다. 권한이 회수되면 그 링크로도 바로 볼 수 없습니다.

같은 설치에 계정이 있는 사람만 열 수 있고, 열람과 내려받기는 기록됩니다.

결과 출처

결과가 어떤 데이터와 어떤 결과에서 나왔는지 보여 주는 그림입니다. 내가 볼 수 없는 것은 이름 없이 「접근 권한 없는 데이터」로 나옵니다.

대체할 결과

고치거나 다시 만든 결과를 내보낼 때 이전 결과를 고르면, 이전 결과의 공유 화면이 새 결과를 가리킵니다. 이전 결과는 그대로 남습니다.

에이전트와 승인

코딩 에이전트

모든 작업공간에 코딩 에이전트 Claude Code가 설치되어 있고, 버전이 고정되어 있습니다. 내 Claude 계정을 한 번 연결하면 모든 작업공간에서 씁니다.

에이전트가 읽은 내용은 내 Claude 계정으로 모델 제공사(Anthropic)에 전송됩니다. 대화를 모델 학습에 쓰는지 같은 조건은 내 Claude 계정의 설정을 따릅니다.

왜 이렇게 되어 있나시스템이 막는 대상은 사람이 아니라 에이전트의 실수와 잘못된 지시입니다. 에이전트는 이 작업공간의 데이터만 보고, 허용된 곳으로만 나가고, 다른 시스템의 자격 증명을 갖지 않습니다.

작업공간 규칙

모든 작업공간의 Claude가 받는 같은 규칙입니다. 데이터는 /data에서 읽기, 코드는 ~/project에 두기, 결과는 ~/project/outputs에 두기, 랜덤 시드 고정, 재현 명령 파일 쓰기, 표는 설명 파일부터 읽기, 막힌 곳은 돌아가지 말고 알리기.

이 규칙 파일은 연구자도 에이전트도 고칠 수 없습니다. 규칙을 따르는지는 모델에 달려 있으니, 결과는 직접 확인하세요.

승인 요청

작업공간 안의 Claude나 터미널은 데이터 더하기와 결과 내보내기를 요청만 할 수 있습니다. 승인 화면에서 무엇이 바뀌는지(보이는 파일 수, 볼 수 있는 사람 수)를 보고 [승인하고 실행]을 누르면, 요청한 명령이 내 이름으로 그대로 한 번 실행됩니다. 요청한 뒤 파일이 바뀌면 실행하지 않습니다.

코드를 돌리거나 /data에서 읽는 일, 허용된 인터넷을 쓰는 일에는 승인이 필요 없습니다. 포털에서 내가 직접 누른 [데이터 더하기]와 [결과 내보내기]도 바로 실행됩니다.

왜 이렇게 되어 있나승인은 서버가 지킵니다. 에이전트는 승인을 건너뛸 수 없습니다.

인터넷 규칙

작업공간은 인터넷에 바로 나갈 수 없고, 관리자가 작업공간마다 정한 규칙으로만 나갑니다. 기본값은 Claude와 패키지 저장소(PyPI, Ubuntu apt, VS Code 확장)입니다.

막힌 요청은 인터넷 접속 기록에 남습니다. 필요한 곳이 막혔으면 그 주소를 관리자에게 알려 주세요.

왜 이렇게 되어 있나과제마다 필요한 만큼만 엽니다. Claude만, 패키지 저장소, 인터넷, 사내 서버 주소. 바꾸면 켜져 있는 작업공간에도 바로 적용되고 기록됩니다.

화면과 명령

명령 콘솔

화면 아래에서 단추가 실행한 명령과 출력을 그대로 보여 줍니다. 명령은 복사해 다시 실행할 수 있고, 「기록」 탭에는 화면, API, 작업공간에서 내가 실행한 명령이 남습니다.

화면, 터미널, API, 작업공간의 에이전트가 같은 명령과 같은 권한 규칙을 씁니다. 로그인, [IDE 열기], 파일을 올리고 내려받는 일은 콘솔에 명령으로 나오지 않습니다.

왜 이렇게 되어 있나화면이 하는 일은 모두 명령으로 남아 자동화, 감사, 교육에 그대로 쓸 수 있습니다.

오류와 사유

실패하면 무엇이 안 됐는지 한 문장이 나오고, 「사유:」 뒤에 까닭과 고칠 방법이 이어집니다. 콘솔에는 같은 내용이 영어로 나옵니다.

ID

작업공간은 ws-0012, 결과는 r-0139, 승인 요청은 a-0031, 권한 요청은 q-0007처럼 ID가 붙습니다.

화면 위의 「ID나 경로로 이동 (Ctrl+K)」에 ID나 데이터 경로, 공유 링크를 넣으면 그 화면으로 갑니다.

화면과 명령의 언어

화면은 한국어와 영어를 지원하고, 고른 언어는 그 브라우저에만 저장됩니다. 명령과 콘솔, IDE의 메뉴는 영어입니다.

계정과 접속

작업공간 상태

  • 꺼짐: 정지했거나 아직 시작하지 않았습니다.
  • 시작 중, 실행 중: 켜지는 중이거나 켜져 있습니다.
  • 멈춤: 켜 두었는데 작업 환경이 멈췄습니다. 꺼진 까닭이 함께 나옵니다.
  • 만드는 중, 만들지 못함: 작업공간을 만드는 중이거나 만들지 못했습니다.
  • 보관됨: 치워 둔 작업공간입니다.

작업공간은 내가 켜고 끕니다. 쓰지 않는다고 저절로 끄지 않습니다.

보관

단추: 보관, 보관 풀기

정지한 작업공간을 치워 두는 일입니다. 작업 환경을 지우고 GPU를 돌려주며, 작업공간 개수 상한에서 빠집니다. 작업 폴더와 기록, 내보낸 결과는 그대로 남고 보관을 풀 수 있습니다.

저장 공간

작업공간마다 작업 폴더에 상한이 있고, 쓴 양과 상한을 볼 수 있습니다. 80% 이상이면 「거의 찼음」으로 알립니다. 관리자는 서버 전체와 원본 데이터, 내보낸 결과, 작업 폴더마다의 사용량을 봅니다.

OTP 앱

로그인할 때 비밀번호 다음에 휴대폰 OTP 앱(Google Authenticator, Microsoft Authenticator 등)에 보이는 6자리 코드를 넣습니다. 인터넷에 공개한 설치에서는 모든 계정이 등록해야 합니다.

OTP 앱을 등록한 계정은 SSH 키나 API 토큰을 만들 때 10분 안에 넣은 코드가 한 번 더 필요합니다. 휴대폰을 잃어버리면 관리자에게 초기화를 요청합니다.

SSH

관리자가 계정마다 SSH를 허용하면, 내 컴퓨터의 터미널이나 데스크톱 VS Code로 켜져 있는 내 작업공간에 접속할 수 있습니다. 비밀번호 없이 등록한 키로만 들어갑니다.

왜 이렇게 되어 있나SSH는 파일을 대량으로 내려받을 수 있는 길이라서 기본으로 꺼져 있고, 사람마다 허용합니다.

API 토큰

스크립트가 내 이름으로 명령을 실행할 때 쓰는 열쇠입니다. 내 계정에서 만들고, 값은 만들 때 한 번만 보입니다. 기본으로 90일 뒤 만료되고, 언제든 폐기할 수 있습니다.

작업공간 안에 두지 마세요. 작업공간의 에이전트가 이 토큰으로 승인 없이 명령을 실행할 수 있습니다.