EHR Harness Plugin"하네스 만들어줘" 한 마디의 설계도
Oracle 프로시저로 뒤엉킨 레거시 인사시스템(EHR)에서 AI 코딩 에이전트가 우리 방식대로만 일하도록: 규칙, 도메인 지식, 전문 스킬, 안전장치를 프로젝트마다 자동 생성하는 Claude Code 플러그인.
2026-09-05 기준: 소속 팀 공식 개발방법론으로 채택됐으며, 이후에도 버전 업데이트를 진행하고 있습니다. AI TFT는 완료됐고 그 성과를 바탕으로 Claude Code 전사 도입이 결정됐습니다. 아래 기술 설명과 연혁은 v1.25.0(2026-09-14) 기준입니다.
하네스란
같은 요청, 다른 결과- 학습데이터 기반의 일반적인 React + REST API 코드를 새로 발명
- 회사 격리 없는 쿼리: 보안 결함
- 개발자마다, 세션마다 다른 결과물
- DB, 형상관리에 대한 통제 없음
- 기존 휴가 신청 화면을 복제 베이스로 선택: 그린필드 금지
- 권한 법칙 판정 → 표준 매퍼, IBSheet JSP 생성
- 셀프체크 14항목 통과 후 전달
- 운영DB 접속, commit은 훅이 원천 차단: 커밋은 사람이
일관성은 모델 성능이 아니라 프로세스 설계에서 나온다. 하네스는 AI의 재량을 제거하고 검증된 기존 코드를 법으로 만드는 장치다: 팀원 누가, 어떤 AI 도구로 작업해도 같은 규칙이 강제된다.
설치와 사용
설치 2줄, 생성 한 마디# 설치 (Claude Code 안에서, 최초 1회 : 사내 마켓플레이스 등록) /plugin marketplace add <사내 GitLab 저장소> /plugin install ehr-harness@ehr-harness # 하네스 생성 (본인 EHR 프로젝트에서) 하네스 만들어줘 ← EHR4/EHR5 자동 감지 , 프로젝트 실측 분석 , ~50파일 생성 연말정산 하네스 만들어줘 ← yjungsan 전용 플러그인 # 일상 사용 : 자연어면 됨 휴가 신청 화면 비슷하게 교육 신청 화면 만들어줘 급여계산 프로시저 호출 체인 추적해줘 이 수정이 어디 영향 가는지 분석해줘 ← Go / HOLD / STOP 판정 리뷰해줘 ← 요청 시 3레인 리뷰 , 커밋 가부 판정 하네스 점검해줘 ← drift 자동 감지, 보정 (audit)
프로젝트에 생성되는 것
프로젝트당 약 50파일고객사-EHR-프로젝트/ ├── AGENTS.md 프로젝트 규칙 (모든 AI 플랫폼 공통 진입점) : 최상단 "⛔ DB 접근 절대 규칙" ├── CLAUDE.md , GEMINI.md Claude Code / Gemini CLI 진입점 ├── .claude/ │ ├── settings.json 보안 훅 등록 : 모든 터미널 명령이 훅을 거침 │ ├── hooks/ (12종) DB 접근 제한 , 커밋 차단 , 삭제/비밀파일 가드 , 리뷰 적립 , 학습 캡처 │ ├── agents/ (4종) 화면 생성 , 프로시저 추적 , 릴리즈 검증 , DB 영향 검토 │ ├── commands/ehr/ (14종) /ehr:plan , work , review , compound , db-connect , 메뉴 등록 SQL │ ├── skills/ (14종) 도메인 지식 , 화면 빌더 , 코드리뷰 , IBSheet API , 테스트/매뉴얼 산출물 … │ └── HARNESS.json 매니페스트 : 실측 스냅샷, 지식 이력 (drift 점검 기준) ├── .agents/ + .codex/ Codex 호환 : 1회 생성하면 팀원 누구나, 어떤 AI든 동일 규칙 └── .gitignore
하네스는 프로젝트 저장소에 커밋된다: 한 명이 생성하면 checkout 받는 팀원 전원이 같은 규칙을 공유하고, 고객사별 지식은 프로젝트 안에 격리되어 서로 섞이지 않는다.
#프로파일 2종: 프로젝트 유형 자동 감지
| 프로파일 | 스택 | 특화 |
|---|---|---|
| EHR4 | Ant + Anyframe + Spring MVC | Velocity 매퍼, 레거시 화면 패턴, 릴리즈 검증 B1~B7 |
| EHR5 | Maven + MyBatis + Spring Boot | 동일 도메인, 스택별 코드 템플릿, 릴리즈 검증 B1~B11 |
표를 가로로 움직여 전체 내용을 확인할 수 있습니다.
클라우드 HR MSA용 workup 프로파일은 v1.20에서 분리했고, 별도 플러그인으로 다시 설계한다.
보안: DB 접근 정책
v1.16+, 3중 방어기본은 무접속이다. AI는 운영DB에 어떤 경우에도 접속하지 않는다. 예외는 사용자가 개발DB라고 직접 확인해 등록한 대상 하나뿐이며, 이때도 전용 진입점으로 읽기 전용 SELECT만 실행한다(300행, 30초 제한, 감사 로그). 개발DB 여부는 자동 판별하지 않고, 등록이 없으면 담당자가 export한 폴더만 읽는다. 커밋, 푸시도 같은 방식으로 차단되어 최종 확정은 항상 사람이 한다.
| 레이어 | 내용 |
|---|---|
| 1층, 기술 | DB CLI 18종(sqlplus, tbsql, mysql, sqlcmd, impdp…)과 JDBC 직접 접속 차단, DB 진입점은 전용 스크립트 하나(READ ONLY 트랜잭션 + SELECT 단일문 파서). 접속 설정은 write-once, 운영 마커는 쓰기/실행 모두 차단. git/svn 커밋, 푸시 차단. 우회 시나리오 자동 테스트 167케이스 상시 검증 |
| 2층, 규칙 | AGENTS.md 최상단 "⛔ DB 접근" 절대 규칙: 훅이 적용되지 않는 Codex, Gemini까지 커버 |
| 3층, 인프라 | 개발DB 한정 + 망분리가 최종 보장: 훅, 규칙은 보조 안전망임을 명시 |
표를 가로로 움직여 전체 내용을 확인할 수 있습니다.
쓸수록 똑똑해진다: EHR Cycle
지식 누적 폐곡선작업할수록 고객사별 노하우가 하네스 문서에 쌓인다. 일상 대화의 교정 신호는 자동 캡처(개인정보 7종 마스킹) → 주 1회 수확 → 사람 승인 후에만 반영. 소스가 많이 바뀌면 "하네스 점검해줘" 한 마디로 drift를 감지, 보정한다(audit). v1.14에서는 유료 그리드 솔루션 IBSheet의 API 522항목(메서드 322, 이벤트 67, 속성 133)을 개발자 가이드 PDF에서 인덱스화해, LLM 학습데이터가 없어 메서드명을 추측하던 문제까지 없앴다. v1.21부터 리뷰는 수정할 때마다 자동으로 돌지 않고 요청할 때만 실행하며, v1.23~v1.24에서 생성 하네스의 진입 파일과 반복 지침을 줄여 토큰 사용량을 낮췄다.
연말정산 전용 플러그인
yjungsan-harness같은 저장소의 두 번째 플러그인. 매년 바뀌는 세법을 국세청, 법령센터 API에서 자동 수집해 코드, DB와 교차검증하고 (시즌 임박 14/30/60일 자동 알림), 버그 조사, 화면 수정, 프로시저 추적부터 패치 배포 5단계 자동화(zip → 메일 초안 → 가이드 → diff → 영향 고객사 식별)까지 커버한다. 고객사 29곳의 커스텀 패턴과 DB 객체 217개 카탈로그 내장: 커맨드 17개, 전문 에이전트 6개.