무엇을 하는 제품인가
조직도는 보고선의 지도이지 일의 지도가 아닙니다. 이 포털은 신규 입사자가 90일 동안 실제로 남긴 활동 흔적(커밋·회의록·실행 로그 등)에서 좌표 — "내 일이 조직 어디에 붙는가, 내 산출물을 누가 쓰는가" — 를 읽어 냅니다. 본인에게는 자기 위치를, 인사팀에는 지금 챙겨야 할 사람을 보여줍니다.
판정은 코드가 한다
좌표 후보와 설명은 언어모델이 만들지만, 상태 판정 권한은 코드에 있습니다(lib/verify.js). 모델이 붙여 보낸 상태값은 버려지고, 인용문이 수집된 흔적 원문에 글자 그대로 존재하는지 코드가 다시 대조합니다. 12자 미만 조각 인용은 근거로 인정하지 않고, 허용된 상태값(근거 있음·근거 없음·흔적에 없음) 밖의 값은 기계적으로 거부됩니다.
근거가 없으면 지어내지 않는다
어떤 항목의 근거를 흔적에서 찾지 못하면, 이 포털은 그럴듯한 문장을 만들어 채우는 대신 그 사람에게 물을 질문을 돌려줍니다. "근거 없음"은 오류가 아니라 정상 산출물입니다 — 비어 있는 자리가 곧 대화를 시작할 지점입니다. 본인 회고에 적힌 주장도 근거로 쓰지 않습니다. 회고의 주장이 흔적에서 뒷받침될 때만 좌표가 됩니다.
다른 모델의 출력을 막는 장면
기본 모델은 스스로 조심해서 환각을 잘 내지 않습니다. 그래서 방어가 실제로 작동하는지 보여주기 위해, 가드레일 없는 프롬프트로 다른 모델(gemini-2.5-flash)이 실제로 낸 출력을 저장해 두고 손대지 않은 채 그대로 검증 엔진에 통과시킵니다. 아래는 그 결과입니다 — 이 후보는 사람이 쓰지 않았고 scripts/collect-fabricated.mjs 재실행으로 재현할 수 있습니다.
수집된 활동 흔적 어디에도 이 문장이 없음
수집된 활동 흔적 어디에도 이 문장이 없음
인용이 너무 짧음(11자 < 12자) — 조각 인용으로는 근거가 되지 않는다
수집된 활동 흔적 어디에도 이 문장이 없음
수집된 활동 흔적 어디에도 이 문장이 없음
기록은 어디서 오는가
신규 입사자에게는 개인 온보딩 에이전트가 할당됩니다. 미션 작업을 위임·검증하고 조직에 대해 질문하는 통합 작업 환경이 곧 이 에이전트이고, 그 안에서 일하는 동안 커밋·에이전트 대화·실행 로그·문서가 자기보고 없이 활동 기록으로 쌓입니다. "이 모듈을 읽었습니까 → 예" 식 체크박스가 아니라 실제 행동의 기록이 진행의 근거가 됩니다 — 평가는 관찰된 행동 근거에 붙을 때만 공정하다는 행동기준 평가(BARS) 전통을 따른 설계입니다. 이 데모에서 수집은 가상 fixture 로 시뮬레이션하며, 실 시스템 연동 설계는 제출 문서에서 제시합니다.
작업 공간의 터미널은 무엇인가
작업 공간(/week/…)의 가운데 터미널은 실제로 도는 1회용 샌드박스입니다. 방문자마다 컨테이너가 하나씩 뜨고, 세션이 끝나면 그 컨테이너는 통째로 파기됩니다 — 다음 방문자에게 아무것도 넘어가지 않습니다. “1주차 장면 재생” 버튼은 기록된 실제 대본을 다시 트는 것이고, 라이브 연결이 안 될 때는 화면이 준비 중이라고 정직하게 밝힙니다 — 되는 척하는 가짜 입력 모드는 없습니다.
직무별 신호원
주차마다 "이번 주 뭘 했는지"를 손으로 적게 하지 않습니다. 직무마다 일하며 자동으로 남는 흔적이 다르고, 포털은 그 흔적에서만 좌표를 읽습니다.
| 직무 | 자동으로 수집되는 신호 | 좌표 질문 |
|---|---|---|
| AX 인턴 | 커밋 이력 · 에이전트 transcript · 검증 실행 로그 · 스크립트 실행 로그 | “내 봇이 누구의 시간을 줄이나” |
| PM 인턴 | 회의록 · 일정 변경 기록 · 이해관계자 응답 기록 · PoC 검증 실행 로그 | “내 프로젝트가 누구의 현장을 바꾸나” |
| 전략 인턴 | 문서 커밋 · 인용 URL 수 · 출처 등급 분포 · 기각 기록 | “내 리포트가 누구의 결정에 들어가나” |
| 마케팅 인턴 | 카피 초안 커밋 · 채널 지표 스냅샷 · 캠페인 브리프 커밋 · 메시지 실험 기각 기록 | “내 콘텐츠가 누구를 리드로 만드나” |
| HR 인턴 | 프로세스 문서 커밋 · 채용 단계 전환 기록 · 핵심가치 검증 로그 · 후보자·신규입사자 피드백 기록 | “내 검증 로그가 누구의 채용 판단에 들어가나” |
12가치는 어떻게 채워지나
인터엑스의 12가지 핵심가치는 자기보고 체크박스로 채워지지 않습니다. 각 주차 미션이 겨냥한 가치에 대해, 실재하는 흔적 인용이 확인될 때만 "근거로 확인됨"이 됩니다. 12주에 걸쳐 12가치가 전부 최소 1회 이상 실측 기회를 갖도록 여정이 설계돼 있습니다. 아래는 AX 트랙을 코호트 실제 진행으로 채운 상태입니다 — 확인됨 / 아직 확인 안 됨 / 아직 안 겨냥됨, 세 가지뿐입니다. 개인 보고서에서는 이 판정이 측정 요소 점수로 환산됩니다(다음 절).
가치를 눌러 정의를 확인하세요
점수는 어떻게 계산되나
인사팀 화면(콘솔·사람 보고서)의 점수는 별도의 채점자가 매기는 것이 아니라 기록에서 기계적으로 계산됩니다. 가치마다 측정 요소가 3개씩 있고 (fixtures/rubric.json, 전체 36개), 요소당 최대 5점 — 총점 180점입니다. 요소의 근거는 활동 흔적 원문에서 코드가 직접 찾은 문장이고, 근거가 확인된 주가 하나 늘 때마다 1점씩 쌓입니다. 근거를 찾지 못하면 0점이고, 같은 문장을 두 요소가 나눠 쓰지 않습니다. 인상 점수는 없습니다.
채점 코드는 lib/score.js 하나이고 콘솔과 보고서가 같은 코드를 씁니다 — 같은 기록이면 언제 다시 계산해도 같은 점수가 나오고, 점수 옆에는 항상 그 점수를 만든 기록 인용과 출처가 붙습니다.
데이터 고지
화면의 조직·인물·활동 기록은 전부 가상 fixture 입니다. 실제 인터엑스 사내 데이터가 아니며, 오디션 사전과제 시연을 위해 만든 가상 조직입니다. 저장된 타 모델 출력만이 예외적으로 "실제 모델이 낸 텍스트"이고, 그 획득 과정은 스크립트로 남아 있습니다.
계정과 역할
신입과 온보딩 담당자는 보는 화면이 다릅니다. 신입은 자기 여정과 이번 주 작업 공간을, 담당자는 코호트 전원의 진행과 판단 근거를 봅니다. 신입 계정으로 인사팀 화면에 들어가면 안내로 바뀝니다.
다만 로그아웃 상태에서는 모든 화면이 열립니다. 둘러보는 분이 계정을 만들 필요가 없어야 하기 때문입니다. 그리고 이 구분은 브라우저에서 판정하므로 접근 제어가 아니라 역할 시연입니다 — 실제 제품이라면 서버에서 확인해야 합니다. 프로토타입이 어디까지인지 밝혀 둡니다.
검증 7종
이 제품의 주장은 말이 아니라 돌려볼 수 있는 검사로 뒷받침됩니다.
- npm run selftest — 언어모델 없이 판정 규칙만 25케이스 (환각 차단·조각 인용 거부·상태값 방어 포함)
- npm run cumcheck — 1~12주 누적 12가치 충족(AX 12/12)
- npm run hrcheck — 인사팀 화면 수치와 실제 충족 행 수의 정합(어긋남 0)
- npm run sweep — 글자 겹침·가로 스크롤(전 화면)
- npm run contrast — 배경에 묻힌 글자(라이트·다크 양쪽)
- npm run livecheck — 실제 Gemini 가 붙은 상태에서도 판정 권한이 코드에 있는지
- npx @askewly/design verify — 화면이 디자인 토큰을 우회하지 않는지