비밀 정보, 원본 로그 또는 작업 디렉터리(working tree)의 내용이 노트북에서 나가지기 전에 반드시 신뢰 경계(trust line)를 설정해야 합니다. 무료 모델 좌석이라고 해서 이 경계가 줄어드는 것은 아니며, 친절한 페이지라고 해서 원격 프로세스가 로컬로 작동하게 되는 것도 아닙니다. 모델 엔드포인트와 서버 작업 공간을 서로 다른 방으로 취급해야 하는데, 각 방은 서로 다른 종류의 흔적(trace)을 유출하기 때문입니다. 어떤 데이터 유형이 어느 방으로 전달되는지 명확히 설명할 수 없다면, 해당 번들(bundle)을 전송할 준비가 되지 않은 것입니다.
모델들은 점점 더 능력이 향상되었기 때문에, 컨텍스트를 더 많이 첨부하고 싶은 유혹에 빠지기 쉽습니다. 그리고 바로 그 유혹이 사적인 흔적(private trace)을 집 밖으로 나가게 하는 방식입니다. 더 강력한 답변이 더 넓은 문을 열어주지는 못하며, 무료 좌석이라고 해서 더 느슨한 규칙을 만들어 주지도 않습니다. 여전히 단어나 첨부 파일, 또는 실행하려는 명령어를 결정하기 전에 방(room)을 먼저 결정해야 합니다. 기능성(Capability)이 응답의 품질을 바꿀 수는 있지만, 발밑에 놓인 신뢰 경계는 움직이지 않습니다.
유용한 그림은 세 개의 방과 여전히 사용자가 통제하는 하나의 복도(hallway)를 가진 작은 사무실입니다. 노트북은 이미 신뢰하는 공간이며, 모델 방은 사용자가 건네주기로 선택한 텍스트 내용을 읽습니다. 무료 서버는 파일을 저장하고, 명령을 실행하며, 사용자가 관리하지 않는 흔적까지 보관할 수 있는 세 번째 공간입니다. 이 복도는 스테이징 단계(staging step)이며, 경계 검사(boundary check)가 존재해야 하는 유일한 장소입니다.
공개 정보: 본 기사는 MonkeyCode의 제품 홍보의 일환으로 작성되었습니다. 여기서 MonkeyCode는 단지 빌린 좌석에 불과하며, 운영자 자료는 무료 모델 접근 및 무료 서버 옵션을 설명합니다. 실제 워크로드를 계획하기 전에 프로젝트 페이지에서 라이브 허용 범위(live allowance), 보존 기간(retention), 그리고 지역을 반드시 확인해야 합니다. 이 초안은 할당량(quota), 하드웨어 형태(hardware shape), 또는 기간을 안정적인 사실로 다루지 않는데, 이러한 수치들은 변동하기 때문입니다.
같은 복도는 나중에 좌석을 다른 호스팅 모델이나 다른 원격 작업 공간으로 교체하더라도 여전히 작동합니다. 머릿속에만 존재하는 규칙을 신뢰하기보다는, 일반 파일에 경계 장부(boundary ledger)를 작성하는 것부터 시작하세요. 모든 아티팩트에 클래스(class), 소스 경로(source path), 그리고 목적지 방(destination room)을 지정한 다음, 잘못된 조합은 거부합니다. 비밀 정보는 노트북에 보관하고, 원본 로그는 원격 방 밖에 두며, 프롬프트는 장부가 동의할 때만 이동시킵니다.
모델 방에서 안전한 프롬프트라 할지라도 서버에 올리기에는 여전히 잘못된 객체일 수 있습니다. 파일은 그곳에 영구적으로 남아 있고 명령이 실행되므로, 질문 파일(question file)은 그 공간에 적합하지 않습니다. 서버에 맞는 정제된 소스 파일이라도 모델 방에 붙여넣기에는 여전히 잘못된 것일 수 있습니다. 이 장부가 존재하는 이유는 이 두 가지 권한이 양쪽 방을 가로지르는 부주의한 업로드로 통합되는 것을 막기 위함입니다.
스택 트레이스(stack trace)는 종종 프롬프트 작성자가 포함할 의도가 아니었던 토큰, 호스트 이름, 고객 식별자를 담고 있습니다. 소스는 편집 중인 체크아웃 상태가 아니라 정제된 사본으로만 서버 방에 들어갈 수 있습니다. 파일이 누락되었다고 해서 안전한 파일은 아니므로, 나열된 경로를 읽을 수 없으면 검사는 실패(fail closed)합니다. 아래 스크립트는 오늘 당장 실행할 수 있는 로컬 제안이며, 모델을 호출하거나 바이트를 업로드하지 않습니다.
#!/usr/bin/env python3
'''번들(bundle)이 신뢰 경계를 넘기 전에 실패하도록 합니다.
...
일치하는 매니페스트는 지루하게 유지되어야 하는데, 스테이징 파일에 흥분된 요소가 있는 것은 종종 제거하는 것을 잊은 비밀 정보이기 때문입니다. 모델 방에 도달할 수 있는 프롬프트와 서버 방에 도달할 수 있는 정제된 소스를 나열합니다. 비밀 기록은 노트북을 가리키도록 유지하고, 절대 운영 로그(production log)를 질문 파일에 붙여넣지 마세요. 게이트가 BLOCK을 출력하면, 파일을 수정하거나 방을 변경하고 종료 코드(exit code)를 덮어쓰지 않습니다.
[
{"class": "prompt", "room": "model", "path": "staging/question.md"},
{"class": "source", "room": "server", "path": "staging/scrubbed_app.py"},
...
mkdir -p staging local
printf 'How does the scrubbed parser fail on an empty list?\n' > staging/question.md
printf 'def parse(items):\n return items or []\n' > staging/scrubbed_app.py
...
실제 작업에서 습관을 신뢰하기 전에, 의도적인 실패를 복도에서 한 번 걸어보세요. 프롬프트 파일 안에 가짜 키 문자열을 넣고 게이트를 통과시켜 보고, 그 패턴이 모델 룸을 차단하는지 확인하세요. 그런 다음 원본 로그를 서버 룸에 겨누어 보고, 클래스만으로 전송을 막기에 충분한지 확인하세요. 이 두 가지 실패가 전체 테스트 계획이며, 이것들이 공급업체가 허용된 전송 후에 데이터를 삭제한다는 것을 증명하지는 못합니다.
숨겨야 할 것은 사람들이 이미 숨겨야 한다는 것을 아는 비밀번호보다 더 광범위합니다. 연결 문자열(Connection strings), 세션 쿠키(session cookies), 서명 키(signing keys), 고객 행(customer rows), 그리고 편집되지 않은 셸 기록(unredacted shell history)은 모두 노트북 방에 속해야 합니다. 버그 보고서를 실제보다 더 생생하게 만들기 위해 다른 사람의 개인 메시지를 보내지 마세요. 이 텍스트 게이트가 픽셀을 볼 수 없더라도, 대시보드 이미지는 여전히 구석에 계정 식별자(account identifier)를 담고 있습니다.
무료 서버도 여러분이 직접 패치하거나 백업하지 않는 어떤 작업 공간에 줄 만한 의심을 받을 자격이 있습니다. 그 방은 여러분이 탭을 닫고 세션을 잊어버린 후에도 파일, 명령어 출력(command output), 편집기 상태를 보관할 수 있습니다. 코트 걸이는 규칙을 정직하게 유지하는데, 왜냐하면 주머니 속의 열쇠를 건네지 않고도 코트를 맡길 수 있기 때문입니다. 게이트가 원격 룸을 안전하게 만들지는 못하며, 단지 눈에 띄는 주머니 내용물이 코트와 함께 나가는 것을 막을 뿐입니다.
무료 모델은 여전히 편집된 함수(redacted function)가 명시된 제약 조건 하에서 어떻게 실패하는지 물어볼 수 있는 올바른 장소일 수 있습니다. 무료 서버도 여러분의 노트북이 너무 작거나 너무 지저분할 때 그 편집된 사본을 실행하기에 적절한 장소일 수 있습니다. 규제 데이터(regulated data)를 위해, 회사 DLP 경로를 위해, 또는 정책상 외부 모델 사용이 금지될 때는 이 접근 방식을 건너뛰어야 합니다. 정규 표현식(regex)은 평범한 단어처럼 보이는 비밀을 놓치고, 매니페스트는 아예 목록에 포함하는 것을 잊은 파일을 놓칩니다.
이 스크립트는 파일을 암호화하거나, 대신 검열하지 않으며, 제공업체가 나중에 무엇을 저장하는지 감사하지 않습니다. 만약 고용주가 외부 모델 사용을 금지한다면, 올바른 대처는 프롬프트 수정으로 체크기가 조용해질 때까지 시도하는 것이 아니라 중단하는 것입니다. 공식적인 평가, 법적 검토 또는 삭제 보증이 필요한 사람들은 이 메모를 그러한 작업물로 취급해서는 안 됩니다. 이 체크기는 통제 장치가 아니며, 팀의 기존 보안 검토를 대체할 수 없습니다.
게이트가 초록색이면, 동일한 번들로 그리고 추가적인 것이 아무것도 붙지 않은 상태에서 빌린 좌석을 사용해 볼 수 있습니다. 무료 모델 액세스와 무료 서버가 시작하는 날 어떻게 제공되는지에 대해서는 현재 MonkeyCode 프로젝트 문서를 읽어보십시오. 원장(ledger)이 허용한 파일만 전송하고, 비밀 정보는 자신의 디스크에 보관하며, 이 초안과 다를 경우 문서를 믿으십시오. 외부 연락 기사는 방법을 보여줄 수는 있지만, 허용 범위나 보유 상태의 실시간 상태 페이지 역할을 할 수는 없습니다.