---
name: snu-procurement-doc
description: >
  서울대학교 고가 연구장비 구매 규격서(구매규격서)와 용도설명서를 자동 생성하는 스킬.
  사용자가 제조사, 모델명, 수량을 입력하면 웹 검색을 통해 관세분류번호(HSK),
  정부물품분류번호, 장비 사양을 조사한 뒤, HWPX 양식에 맞는 두 문서를 생성한다.
  MANDATORY TRIGGERS: 구매규격서, 용도설명서, procurement, 장비구매, equipment purchase,
  규격서, specification, 연구장비, lab equipment, HWPX 양식 작성, HWP 양식 작성.
  이 스킬은 300만원 이상의 분자생물학/세포생물학/전산생물학 연구장비 구매에 사용한다.
---

# 서울대 연구장비 구매문서 자동 생성

## Overview

이 스킬은 세 가지 입력만으로 두 개의 구매 문서를 자동 생성한다:

**입력**: 제조사(manufacturer), 모델명(model), 수량(quantity)
**출력**: 구매규격서(form3.hwpx), 용도설명서(form2.hwpx)

HWPX는 한컴오피스의 표준 문서 형식(ZIP+XML)으로, 한컴오피스에서 바로 열 수 있다.

## Workflow

### Step 1: 제품 사양 조사 (웹 검색 필수)

사용자 입력을 받은 후 다음을 반드시 웹 검색한다. **검색에 충분한 시간을 투자해야 한다.**

#### 1-1. 타겟 제품 상세 사양 수집

제조사 공식 사이트에서 정확한 스펙시트를 수집한다. **공식 스펙시트에 나와 있는 모든 수치를 빠짐없이 기록한다.** 장비 유형에 따라 수집해야 할 항목이 다르므로, 아래 예시를 참고하여 해당 장비에 맞는 항목을 **같은 수준의 깊이와 상세도**로 조사한다.

**공통 수집 항목** (모든 장비 유형):
- 폼팩터 (외형 치수, 무게, 랙마운트 여부, U 수)
- 전원 (입력 전압/주파수, 소비 전력, 효율 등급, 이중화 여부)
- 동작 환경 (온도 범위, 습도 범위, 고도 제한)
- 인터페이스/연결 (데이터 포트 종류/수, 관리 포트, 네트워크)
- 관리 기능 (원격 관리, 모니터링, 소프트웨어, API)
- 인증 (안전 인증, 전자파 적합성, 환경 인증 등)
- 확장성 (최대 구성, 업그레이드 경로, 모듈 확장)

**장비 유형별 추가 수집 항목 예시**:

<서버/워크스테이션>
- CPU/프로세서 (모델명, 코어/쓰레드 수, 클럭, 캐시, TDP, PCIe 레인 수)
- 메모리 (타입, 규격, 최대 용량, 슬롯 수, 채널 수, 속도, ECC 지원 여부)
- 스토리지 (인터페이스, 최대 베이 수, 핫스왑 지원 여부, RAID 지원)
- 네트워크 (포트 수, 속도, 관리 포트)
- 확장 슬롯 (PCIe 세대, 레인 폭, 슬롯 수)
- GPU/가속기 지원 (최대 장착 수, 지원 카드 종류, 전력 서브시스템)
- 관리 기능 (BMC/IPMI, 원격 KVM, 하드웨어 모니터링)

<테이프 라이브러리/스토리지>
- 카트리지 슬롯 (기본/최대 슬롯 수, 모듈당 슬롯 밀도, 확장 방식)
- 테이프 드라이브 (지원 LTO 세대, 드라이브 폼팩터, 최대 드라이브 수)
- 저장 용량 (카트리지당 네이티브/압축 용량, 최대 총 용량)
- 데이터 전송 (드라이브당 전송 속도, 인터페이스 종류 FC/SAS/iSCSI)
- 보안 (암호화 방식, 키 관리 프로토콜, WORM 지원, 에어갭/볼트 기능)
- 자동화 (로봇 성능, 인벤토리 속도, 자동 탐지/캘리브레이션)
- 라이선싱 (슬롯 확장 방식, CoD 지원 여부)

<시퀀서 (DNA/RNA)>
- 시퀀싱 방식 (롱리드/숏리드, 기반 기술)
- 출력량 (Gb/run 또는 Gb/셀, 최대 리드 수)
- 리드 길이 (최대/평균, bp/kb 단위)
- 정확도 (원시 정확도 %, 컨센서스 정확도)
- 플로우셀 (종류, 동시 처리 셀 수, 교체 방식)
- 런타임 (최소/최대 런 시간)
- 시약 (소모량, 키트 종류, 자동 로딩 여부)
- 데이터 출력 (형식, 실시간 basecalling 지원 여부)
- 소프트웨어 (분석 파이프라인, 클라우드 연동)

<현미경>
- 광학 방식 (공초점/광시야/초해상도/전자현미경 등)
- 배율 범위, 대물렌즈 종류 및 개수
- 해상도 (XY/Z, nm 단위, 광학/디지털)
- 검출기 (PMT/HyD/sCMOS/EMCCD, 감도, 양자 효율)
- 광원 (레이저 파장 수/종류, 출력, LED 여부)
- 스캔/이미징 (스캔 속도, 이미징 모드, 타일링, Z-스택, 타임랩스)
- 인큐베이션 (온도/CO₂/습도 제어 호환 여부)
- 자동화 (전동 스테이지, 오토포커스, 멀티포지션)
- 소프트웨어 (이미지 분석, 라이선스 형태)

<원심분리기>
- 최대 회전속도/원심력 (RPM/RCF)
- 로터 호환성 (고정각/스윙/수직, 최대 로터 수)
- 온도 제어 (범위, 냉매 유무, 사전 냉각)
- 용량 (최대 튜브 수/용량, 로터별 용량)
- 가감속 프로파일 (프로그래밍 가능 여부, 프리셋 수)
- 안전 기능 (로터 자동 인식, 이중 잠금, 이상 진동 감지)
- 소음 수준 (dB)

<초저온냉동고 (-80°C / -150°C)>
- 최저 온도, 온도 균일성
- 보관 용량 (리터, 2인치 박스 수)
- 복원 시간 (도어 개방 후 복원 시간)
- 전력 소비 (kWh/일)
- 냉매 종류, 압축기 방식
- 알람/모니터링 (원격 알림, 데이터 로깅, 배터리 백업)
- 도어 구조 (내문/외문, 잠금 방식)

**중요**: 위 예시에 해당하지 않는 장비(예: 로봇팔, HPLC, 유세포분석기, 전기영동장치 등)의 경우에도 **같은 수준의 상세도**(최소 7-10개 카테고리, 각 카테고리당 2-5개 세부 항목)로 해당 장비 고유의 핵심 사양을 빠짐없이 수집한다. 공식 스펙시트의 모든 수치를 기록하되, 규격서와 용도설명서 작성 시 차별화 포인트로 활용할 수 있는 항목에 특히 주의한다.

#### 1-2. 경쟁 제품 조사 (최소 3개 이상)

**동일 세그먼트의 경쟁 제품을 최소 3개 이상** 검색하여 사양을 비교한다.
경쟁사 제품의 사양을 정리하여 다음을 파악한다:

- 타겟 제품만 만족하고 경쟁 제품은 만족하지 못하는 사양 포인트
- 타겟 제품과 경쟁 제품이 모두 만족하는 사양 포인트
- 경쟁 제품만 만족하는 사양 포인트 (피해야 할 사양)

예를 들어, 서버의 경우:
- 타겟: AMD EPYC 9004 기반 → "소켓당 코어 수 64개 이상" (Intel Xeon 대부분 미충족)
- 타겟: L3 256MiB → "L3 캐시 256MiB 이상" (경쟁 제품 대부분 미충족)
- 타겟: PCIe 5.0 x16 4개 → "PCIe 5.0 x16 슬롯 4개 이상" (일부 경쟁사만 충족)
- 타겟: 12개 NVMe 베이 → "NVMe SSD 핫스왑 베이 8개 이상" (약간 여유 있게 설정)

**차별화 전략**: 각 경쟁 제품이 적어도 2-3개의 스펙 조건을 만족하지 못하도록 조합을 설계한다.

#### 1-3. HSK 관세분류번호 조사

**Unipass** (관세청 포털) 또는 관세 관련 사이트에서 HS 코드를 검색한다.
- URL: https://unipass.customs.go.kr 또는 웹 검색으로 "HS코드 [장비명]" 검색
- 형식: `XXXX.XX.XXXX` (10자리, 점 포함)
- 예: 서버 → `8471.50.0000`, 현미경 → `9011.80.0000`, 원심분리기 → `8421.19.0000`
- HSK코드는 한국 관세분류번호로, HS코드를 기반으로 한 세분류이다

#### 1-4. 정부물품분류번호 조사

**나라장터** (조달청) 에서 물품 분류 코드를 검색한다.
- URL: https://goods.g2b.go.kr:8053/main/main.do
- Chrome 브라우저 도구를 사용하여 직접 검색 가능
- **8자리 코드까지만** 사용한다 (세부품목까지 내려가지 않는다)
- 예: 서버 → `43211501`, 현미경 → `41111500`, 원심분리기 → `41104100`

### Step 2: 공정 규격 설정 (구매규격서)

구매규격서의 핵심은 **특정 모델을 지목하지 않으면서도 실질적으로 해당 모델만 만족하는 규격**을 작성하는 것이다.

#### 절대 원칙
- 브랜드명, 모델명, 독점기술명 **절대 기재 불가**
- 특정 업체에 유리하거나 불리한 것으로 보이면 안 됨
- 수치는 타겟 모델의 실제 사양과 동일하거나 약간 낮게 설정
- "이상", "이하", "이내", "지원" 등의 범위 표현 사용

#### 공정한 차별화 방법

**좋은 예** (공정하면서도 차별적):
- "CPU: 소켓당 64코어/128쓰레드 이상" → AMD EPYC 9004 계열 특성 반영, 기술적 근거 명확
- "L3 캐시: 256MiB 이상" → 대규모 데이터셋 처리에 필요한 캐시, 합리적 근거 존재
- "PCIe 5.0 x16 슬롯 4개 이상" → GPU 가속 요구사항으로 정당화 가능
- "메모리 슬롯 24개 이상" → 대용량 메모리 확장 필요성으로 정당화

**나쁜 예** (지나치게 편파적이거나 억지):
- "CPU 동작 클럭 정확히 3.266GHz" → 특정 모델만 해당하는 정확한 수치
- "섀시 깊이 812.8mm 이하" → 성능과 무관한 물리적 치수로 필터링
- "전원부 커넥터 핀 수 24+8핀" → 기술적 근거 없는 세부사항
- "PCB 기판 층수 12층 이상" → 내부 설계 사양으로 검증 불가

#### 용도 작성 가이드 (usage)

구매규격서의 "Ⅰ. 용도" 란에 들어가는 텍스트이다. **최소 8줄(약 400자) 이상** 작성한다. 단순히 "~에 사용"이라는 한 문장이 아니라, 연구의 배경·맥락·구체적 활용 장면을 포함하여 왜 이 장비가 필요한지 충분히 설명해야 한다.

**포함해야 할 내용**:
- 연구 과제의 배경과 목적 (어떤 연구 분야인지, 무엇을 규명/달성하려는지)
- 해당 장비가 수행하는 구체적 역할 (어떤 실험/분석/처리에 쓰이는지)
- 처리 대상 데이터 또는 시료의 규모와 특성 (데이터 볼륨, 시료 수, 복잡도 등)
- 해당 장비 유형이 이 연구에 필수적인 기술적 이유
- (선택) 기존 장비/방법의 한계 또는 본 장비 도입으로 기대되는 개선 효과

**서버 예시**:
```
본 장비는 RNA의 전사 후 변형(post-transcriptional modification) 및 조절작용 기전을 규명하기 위한 대규모 연산에 사용된다. Oxford Nanopore PromethION 및 PacBio Revio 단분자 시퀀서에서 생산되는 수십 TB 규모의 raw signal 데이터를 실시간으로 basecalling하고, RNA modification(m6A, pseudouridine, m5C 등)의 위치를 단분자 수준에서 동정하기 위한 딥러닝 모델을 구동하는 데 대용량 메모리(512GB 이상)와 고성능 멀티코어 CPU 연산이 필수적이다. 또한 mRNA 백신의 열역학적 안정성을 예측하기 위한 분자동역학(MD) 시뮬레이션을 수행하며, mRNA-LNP 복합체의 원자 수준 구조 시뮬레이션을 위해 다중 코어 CPU와 GPU 가속의 병렬 연산이 요구된다. 더불어 epitranscriptome 프로파일의 single-cell 수준 분석과 다중 오믹스 데이터 통합을 위한 대규모 행렬 연산에도 활용하며, scVI/scANVI 등 VAE 기반 분석 파이프라인은 10만 세포 이상 규모의 데이터셋 처리를 위해 본 장비의 대용량 메모리와 GPU 확장성이 필수적이다.
```

**테이프 라이브러리 예시**:
```
본 장비는 단분자 시퀀싱(nanopore/PacBio) 원시 데이터, 분자동역학 시뮬레이션 궤적 데이터, 단일세포 전사체 분석 결과물 등 대규모 연구 데이터의 장기 백업·아카이빙 및 랜섬웨어 대응 오프라인 보호에 사용된다. PromethION 및 Revio 시퀀서에서 런(run)당 수 TB 규모의 raw signal 데이터(FAST5/POD5, BAM 등)가 생산되며, 연구 재현성 확보를 위해 원본 데이터의 장기 보존이 필수적이다. MD 시뮬레이션 1회당 수백 GB~수 TB의 궤적 데이터가 누적되고, 10만 세포 이상 규모의 scRNA-seq 데이터셋은 가공 전후 각각 수 TB에 달하여, 디스크 기반 스토리지만으로는 급증하는 데이터 볼륨을 감당할 수 없다. LTO-9 테이프 미디어를 활용한 계층형 스토리지 전략을 통해 비용 효율적으로 PB급 데이터를 장기 보존하며, 오프라인 볼트 파티션 및 에어갭 기능을 통해 랜섬웨어 등 사이버 위협으로부터 핵심 연구 데이터를 물리적으로 격리하여 보호한다. 기관 데이터 관리 정책에 따라 연구 과제 종료 후에도 최소 5년 이상 데이터를 보존해야 하며, AES-256 암호화와 WORM 카트리지를 통해 데이터 무결성과 법적 증거 보존 요건을 충족한다.
```

#### 규격 항목 작성 가이드 (specs)

**최소 8개 이상의 규격 항목을 작성한다.** 각 항목은 한 줄이 아니라 **해당 부분에 대한 완전한 요구사항**이 되어야 한다.

**서버 예시** (각 항목이 충분히 상세해야 한다):

```
1. CPU: 서버용 x86-64 아키텍처 프로세서, 소켓당 64코어/128쓰레드 이상 2소켓 탑재, 기본 동작 클럭 2.0GHz 이상, 최대 부스트 클럭 3.5GHz 이상, TDP 360W 이내
2. CPU 캐시: 코어당 L2 캐시 1MiB 이상, 총 L3 캐시 256MiB 이상, NUMA 노드 간 캐시 일관성(cache coherency) 지원
3. 메모리: DDR5-4800 이상 ECC RDIMM 지원, 소켓당 12채널 이상 메모리 인터페이스, 최소 512GB 장착(소켓당 256GB), 최대 6TB 이상 확장 가능, 슬롯 24개 이상
4. 스토리지: NVMe U.2/U.3 또는 E1.S SSD 핫스왑 베이 8개 이상, PCIe 4.0 x4 이상 인터페이스, 하드웨어 RAID 또는 소프트웨어 RAID 지원, 최소 NVMe SSD 1TB x2 장착
5. 네트워크: 10GbE 이상 포트 2개 이상 (온보드), OCP 3.0 네트워크 어댑터 슬롯 1개 이상, IPMI/BMC 전용 관리 포트 1개 이상
6. 확장성: PCIe 5.0 x16 풀하이트 슬롯 4개 이상 (GPU 또는 가속기 장착용), 총 PCIe 레인 수 128개 이상 (CPU당), OCP 3.0 슬롯 1개 이상
7. 전원 및 냉각: 이중화(redundant) 핫스왑 전원공급장치, 80 PLUS Titanium 인증 이상, 정격 출력 2200W 이상, 핫스왑 팬 모듈 지원
8. 관리 기능: IPMI 2.0 호환 BMC 탑재, 원격 KVM-over-IP 지원, 하드웨어 상태 모니터링(온도/전압/팬속도/전력), BIOS 및 펌웨어 원격 업데이트 지원
9. GPU 지원: 듀얼 슬롯 크기 GPU 4개 이상 동시 장착 가능, GPU당 최대 소비전력 700W 이상 지원 가능한 전력 서브시스템, GPU Direct RDMA 지원 가능한 PCIe 토폴로지
10. 폼팩터 및 인증: 2U 랙마운트형, 표준 19인치 랙 호환, EAC/KC 또는 동등 안전 인증 보유
```

#### 기타 조건 작성 가이드 (remarks)

**최소 5개 이상의 기타 조건을 작성한다.** 실험실/연구실에서 실제로 기대하는 조건을 공정한 범위 내에서 최대한 포함한다.

**서버 예시**:
```
1. 설치 장소: 서울대학교 관악캠퍼스 연구실 (구체적 건물/호수는 계약 시 확정). 납품 업체가 서버랙에 장착, 전원 연결, 네트워크 연결까지 포함한 설치를 완료해야 한다.
2. 보증 기간 및 유지보수: 납품일로부터 3년 이상의 제조사 공인 무상 보증. 보증 기간 중 하드웨어 장애 발생 시 48시간(영업일 기준) 이내 현장 방문 수리 또는 부품 교체. 주요 부품(CPU, 메모리, SSD, PSU, 팬)에 대한 예비 부품 확보 방안을 제시할 것.
3. 납기: 계약 체결 후 60일 이내 납품 완료. 글로벌 공급망 이슈 등으로 납기 지연이 예상되는 경우, 계약 체결 후 2주 이내에 서면으로 사전 통보해야 한다.
4. 호환성 및 검증: 납품 장비에 대해 기본 하드웨어 진단(CPU 스트레스 테스트, 메모리 풀 스캔, 스토리지 SMART 점검, 네트워크 연결 확인)을 실시하고 결과 보고서를 제출할 것. Ubuntu 22.04 LTS 이상 또는 Rocky Linux 9 이상 운영체제 정상 동작 확인.
5. 기술 지원 및 교육: 장비 설치 완료 후 연구원 대상 기본 운영 교육(하드웨어 모니터링, BMC 접속, 기본 장애 대응) 1회 이상 제공. 제조사 또는 공인 파트너의 기술 지원 연락처를 제공할 것.
6. 문서: 하드웨어 매뉴얼(설치 가이드, 유지보수 가이드), BIOS/펌웨어 업데이트 절차서, 보증서 사본을 납품 시 함께 제공할 것.
```

### Step 3: 용도설명서 작성

#### 일반사양 (general_specs)

특정 모델의 **실제 사양을 구체적으로** 기재한다. 모델명을 써도 된다.
**최소 8줄 이상** 작성하며, 주요 구성품별로 상세히 기재한다.

예시:
```
- CPU: AMD EPYC 9534 (64코어/128쓰레드, 2.45GHz/3.7GHz, L3 256MiB, TDP 280W) x 2
- Memory: DDR5-4800 ECC RDIMM 32GB x 16 = 512GB (총 24슬롯 중 16슬롯 사용, 최대 6TB 확장 가능)
- Storage: NVMe PCIe 4.0 x4 SSD 1.92TB x 2 (RAID 1 구성, 12 핫스왑 베이 보유)
- Network: 온보드 10GbE SFP+ 2포트, IPMI 관리포트 1포트, OCP 3.0 슬롯 1개
- GPU 확장: PCIe 5.0 x16 슬롯 4개 (NVIDIA A100/H100 급 GPU 4장 장착 가능)
- 전원: 2200W 80 PLUS Titanium 이중화 PSU x 2, 핫스왑 지원
- 냉각: 핫스왑 듀얼 로터 팬 모듈 x 6, 가변속도 제어
- 관리: AST2600 BMC, IPMI 2.0, 원격 KVM/SOL, Redfish API 지원
- 폼팩터: 2U 랙마운트, 깊이 830mm, 무게 약 25kg (장착 시)
- 인증: KC, FCC, CE
```

#### 성능 요건 (performance_specs)

**연구 용도를 고려했을 때 필요한 성능 요건 위주로** 작성한다.
사양표에 직접 나와있지 않더라도, 해당 모델이 지원할 것으로 판단되는 성능이면 추가한다.
**최소 6줄 이상** 작성한다.

예시:
```
- LINPACK 벤치마크 기준 이론 연산성능: 듀얼 소켓 구성 시 2.5 TFLOPS 이상 (FP64)
- 메모리 대역폭: 소켓당 460GB/s 이상 (12채널 DDR5-4800 기준), 총 920GB/s 이상
- 스토리지 I/O: NVMe SSD 순차 읽기 6,800MB/s 이상, 순차 쓰기 3,000MB/s 이상 (단일 드라이브 기준)
- GPU 확장 시 연산 가속: PCIe 5.0 x16 대역폭 64GB/s x 4 슬롯, GPU 간 P2P 통신 지원 가능한 토폴로지
- NUMA 지원: 2-소켓 NUMA 구조, CXL 1.1+ 지원으로 향후 메모리 확장 가능
- 가상화: AMD-V 및 SEV (Secure Encrypted Virtualization) 지원, VM별 격리 메모리 암호화
- 대규모 시뮬레이션: 512GB RAM으로 약 10만 잔기 이상의 단백질-RNA 분자동역학 시뮬레이션 동시 수행 가능
- 24/7 연속 운전: 핫스왑 PSU/팬으로 무중단 운영 가능, IPMI 기반 원격 모니터링 및 장애 사전 감지
```

#### 사용 용도 설명 (usage_desc)

RNA의 조절작용 연구 또는 mRNA 백신 안정성 연구와 관련하여, **해당 장비가 왜 필요한지**를
충분히 납득할 수 있도록 구체적으로 작성한다. **최소 3단락 이상, 각 단락 2-3문장 이상**이어야 한다.

내용에 포함해야 할 것:
- 연구 과제의 목적과 대상 (RNA regulatory mechanism, single-molecule sequencing, mRNA vaccine stability)
- 해당 장비의 구체적인 활용 장면 (어떤 분석/실험/시뮬레이션에 사용하는지)
- 해당 장비의 특정 사양이 왜 이 연구에 필수적인지
- 기존 장비로는 왜 불가능하거나 비효율적인지 (선택적)

예시:
```
[단락 1] 본 장비는 RNA의 전사 후 변형(post-transcriptional modification) 및 조절작용 기전을 규명하기 위한 단분자 시퀀싱(nanopore/PacBio) 데이터의 대규모 분석에 사용된다. Oxford Nanopore PromethION 또는 PacBio Revio에서 생산되는 수십 TB 규모의 raw signal 데이터를 실시간으로 basecalling하고, RNA modification(m6A, pseudouridine, m5C 등)의 위치를 동정하기 위한 딥러닝 모델을 구동하는 데 대용량 메모리(512GB+)와 고성능 CPU 연산이 필수적이다.
[단락 2] 또한, mRNA 백신의 열역학적 안정성을 예측하기 위한 분자동역학(MD) 시뮬레이션을 수행한다. mRNA-LNP(Lipid Nanoparticle) 복합체의 구조적 안정성을 원자 수준에서 시뮬레이션하기 위해서는 수십만 원자 규모의 시스템을 나노초~마이크로초 시간 스케일로 계산해야 하며, 이를 위해 다중 코어 CPU(128코어 이상)와 GPU 가속(최대 4장)의 병렬 연산이 요구된다. 현재 보유 장비로는 시뮬레이션 1회에 수 주가 소요되어 연구 진행이 지연되고 있다.
[단락 3] 더불어, epitranscriptome 프로파일의 single-cell 수준 분석과 다중 오믹스(multi-omics) 데이터의 통합 분석을 위한 대규모 행렬 연산에도 활용한다. scVI/scANVI 등 변이형 오토인코더(VAE) 기반 분석 파이프라인은 GPU 메모리와 시스템 메모리를 동시에 대량으로 요구하며, 10만 세포 x 3만 유전자 이상의 데이터셋을 배치 보정 및 통합하는 데 본 장비의 사양이 필수적이다.
```

### Step 4: HWPX 파일 생성

`scripts/write_hwpx.py` 스크립트를 실행하여 HWPX 파일을 생성한다.
lxml 패키지가 필요하므로 없으면 먼저 설치한다: `pip install lxml`

```bash
python3 scripts/write_hwpx.py \
  --template-dir assets/ \
  --output-dir <출력디렉토리> \
  --data-json <데이터JSON파일경로>
```

**데이터 JSON 형식**:

```json
{
  "hsk_code": "8471.50.0000",
  "gov_code": "43211501",
  "item_name_en": "Computer Server",
  "item_name_kr": "컴퓨터 서버",
  "unit": "Set",
  "quantity": "4",
  "manufacturer": "Gigabyte",
  "model": "R283-Z96-AAJ1",
  "country": "Taiwan",
  "usage": "본 장비는 RNA의 전사 후 변형(post-transcriptional modification) 및 조절작용 기전을 규명하기 위한 대규모 연산에 사용된다. Oxford Nanopore PromethION 및 PacBio Revio 단분자 시퀀서에서 생산되는 수십 TB 규모의 raw signal 데이터를 실시간으로 basecalling하고, RNA modification(m6A, pseudouridine, m5C 등)의 위치를 단분자 수준에서 동정하기 위한 딥러닝 모델을 구동하는 데 대용량 메모리(512GB 이상)와 고성능 멀티코어 CPU 연산이 필수적이다. 또한 mRNA 백신의 열역학적 안정성을 예측하기 위한 분자동역학(MD) 시뮬레이션을 수행하며, mRNA-LNP 복합체의 원자 수준 구조 시뮬레이션을 위해 다중 코어 CPU와 GPU 가속의 병렬 연산이 요구된다. 더불어 epitranscriptome 프로파일의 single-cell 수준 분석과 다중 오믹스 데이터 통합을 위한 대규모 행렬 연산에도 활용하며, scVI/scANVI 등 VAE 기반 분석 파이프라인은 10만 세포 이상 규모의 데이터셋 처리를 위해 본 장비의 대용량 메모리와 GPU 확장성이 필수적이다.",
  "config": [
    "본체(Main Body) - Computer Server        4 Set",
    "Rack Rail Kit        4 Set"
  ],
  "config_sub": [
    "Power cable, Network cable, Documentation"
  ],
  "specs": [
    "CPU: 서버용 x86-64 아키텍처 프로세서, 소켓당 64코어/128쓰레드 이상 2소켓 탑재, 기본 동작 클럭 2.0GHz 이상, 최대 부스트 클럭 3.5GHz 이상, TDP 360W 이내",
    "CPU 캐시: 코어당 L2 캐시 1MiB 이상, 총 L3 캐시 256MiB 이상, NUMA 노드 간 캐시 일관성(cache coherency) 지원",
    "메모리: DDR5-4800 이상 ECC RDIMM 지원, 소켓당 12채널 이상 메모리 인터페이스, 최소 512GB 장착(소켓당 256GB), 최대 6TB 이상 확장 가능, 슬롯 24개 이상",
    "스토리지: NVMe U.2/U.3 또는 E1.S SSD 핫스왑 베이 8개 이상, PCIe 4.0 x4 이상 인터페이스, 하드웨어 RAID 또는 소프트웨어 RAID 지원, 최소 NVMe SSD 1TB x2 장착 납품",
    "네트워크: 10GbE 이상 포트 2개 이상(온보드), OCP 3.0 네트워크 어댑터 슬롯 1개 이상, IPMI/BMC 전용 관리 포트 1개 이상",
    "확장성: PCIe 5.0 x16 풀하이트 슬롯 4개 이상(GPU 또는 가속기 장착용), 총 PCIe 레인 수 128개 이상(CPU당), OCP 3.0 슬롯 1개 이상",
    "전원 및 냉각: 이중화(redundant) 핫스왑 전원공급장치, 80 PLUS Titanium 인증 이상, 정격 출력 2200W 이상/PSU, 핫스왑 팬 모듈 지원",
    "관리 기능: IPMI 2.0 호환 BMC 탑재, 원격 KVM-over-IP 지원, 하드웨어 상태 모니터링(온도/전압/팬속도/전력), BIOS/펌웨어 원격 업데이트 지원",
    "GPU 지원: 듀얼 슬롯 크기 GPU 4개 이상 동시 장착 가능, GPU당 최대 소비전력 700W 이상 지원 가능한 전력 서브시스템, GPU Direct RDMA 지원 가능한 PCIe 토폴로지",
    "폼팩터 및 인증: 2U 랙마운트형, 표준 19인치 랙 호환, KC/FCC/CE 또는 동등 이상의 안전·전자파 인증 보유"
  ],
  "remarks": [
    "설치 장소: 서울대학교 관악캠퍼스 연구실 (구체적 건물 및 호수는 계약 시 확정). 납품 업체가 서버랙 장착, 전원 연결, 네트워크 연결, BIOS 기본 설정까지 포함한 설치를 완료해야 한다.",
    "보증 기간 및 유지보수: 납품일로부터 3년 이상의 제조사 공인 무상 보증. 보증 기간 중 하드웨어 장애 발생 시 영업일 기준 48시간 이내 현장 방문 수리 또는 부품 교체. 주요 부품(CPU, 메모리, SSD, PSU, 팬 모듈)에 대한 예비 부품 확보 방안을 제시할 것.",
    "납기: 계약 체결 후 60일 이내 납품 완료. 글로벌 공급망 이슈 등으로 납기 지연이 예상되는 경우, 계약 체결 후 2주 이내에 서면으로 사전 통보해야 한다.",
    "호환성 및 검증: 납품 시 기본 하드웨어 진단(CPU 스트레스 테스트, 메모리 풀 스캔, 스토리지 SMART 점검, 네트워크 연결 확인)을 실시하고 결과 보고서를 제출할 것. Ubuntu 22.04 LTS 또는 Rocky Linux 9 이상 운영체제 정상 동작 확인 포함.",
    "기술 지원 및 교육: 장비 설치 완료 후 연구원 대상 기본 운영 교육(하드웨어 모니터링, BMC 접속 및 관리, 기본 장애 대응 절차) 1회 이상 제공. 제조사 또는 공인 파트너의 기술 지원 연락처를 제공할 것.",
    "문서: 하드웨어 매뉴얼(설치 가이드, 유지보수 가이드), BIOS/펌웨어 업데이트 절차서, 보증서 사본을 납품 시 함께 제공할 것."
  ],
  "general_specs": [
    "- CPU: AMD EPYC 9534 (64코어/128쓰레드, 2.45GHz/3.7GHz, L3 256MiB, TDP 280W) x 2",
    "- Memory: DDR5-4800 ECC RDIMM 32GB x 16 = 512GB (총 24슬롯 중 16슬롯 사용, 최대 6TB 확장 가능)",
    "- Storage: NVMe PCIe 4.0 x4 SSD 1.92TB x 2 (RAID 1 구성, 12 핫스왑 베이 보유)",
    "- Network: 온보드 10GbE SFP+ 2포트, IPMI 관리포트 1포트, OCP 3.0 슬롯 1개",
    "- GPU 확장: PCIe 5.0 x16 풀하이트 슬롯 4개 (NVIDIA A100/H100 급 GPU 4장 장착 가능)",
    "- 전원: 2200W 80 PLUS Titanium 이중화 PSU x 2, 핫스왑 지원",
    "- 냉각: 핫스왑 듀얼 로터 팬 모듈 x 6, 온도 연동 가변속도 제어",
    "- 관리: AST2600 BMC, IPMI 2.0, 원격 KVM/SOL, Redfish API 지원",
    "- 폼팩터: 2U 랙마운트, 깊이 약 830mm, 무게 약 25kg (장착 시)",
    "- 인증: KC, FCC Class A, CE"
  ],
  "performance_specs": [
    "- 이론 연산성능: 듀얼 소켓 구성 시 LINPACK 기준 약 2.5 TFLOPS 이상 (FP64)",
    "- 메모리 대역폭: 소켓당 460GB/s 이상 (12채널 DDR5-4800 기준), 총 920GB/s 이상",
    "- 스토리지 I/O: NVMe SSD 순차 읽기 6,800MB/s 이상, 순차 쓰기 3,000MB/s 이상 (단일 드라이브 기준)",
    "- GPU 확장 시: PCIe 5.0 x16 대역폭 64GB/s x 4 슬롯으로 GPU 4장 동시 가속 가능",
    "- NUMA 아키텍처: 2-소켓 NPS(NUMA Per Socket) 구성, CXL 1.1+ 지원으로 향후 메모리 풀링 확장 가능",
    "- 가상화: AMD-V 및 SEV(Secure Encrypted Virtualization) 지원, VM별 격리 메모리 암호화",
    "- 대규모 시뮬레이션: 512GB 시스템 메모리로 약 10만 잔기 이상의 단백질-RNA MD 시뮬레이션 동시 수행 가능",
    "- 24/7 연속 운전: 핫스왑 PSU/팬으로 무중단 운영 가능, IPMI 기반 원격 모니터링 및 장애 사전 감지"
  ],
  "usage_desc": [
    "본 장비는 RNA의 전사 후 변형(post-transcriptional modification) 및 조절작용 기전을 규명하기 위한 단분자 시퀀싱(nanopore/PacBio) 데이터의 대규모 분석에 사용된다. Oxford Nanopore PromethION 및 PacBio Revio에서 생산되는 수십 TB 규모의 raw signal 데이터를 실시간으로 basecalling하고, RNA modification(m6A, pseudouridine, m5C 등)의 위치를 단분자 수준에서 동정하기 위한 딥러닝 모델(예: Dorado, Remora)을 구동하는 데 대용량 메모리(512GB+)와 고성능 멀티코어 CPU(128쓰레드) 연산이 필수적이다.",
    "또한, mRNA 백신의 열역학적 안정성과 구조적 무결성을 예측하기 위한 분자동역학(MD) 시뮬레이션을 수행한다. mRNA-LNP(Lipid Nanoparticle) 복합체의 구조적 안정성을 원자 수준에서 시뮬레이션하기 위해서는 수십만 원자 규모의 시스템을 나노초~마이크로초 시간 스케일로 계산해야 하며, 이를 위해 128코어 이상의 CPU와 GPU 가속(최대 4장 확장)의 병렬 연산이 요구된다. 현재 보유 장비(단일 소켓, 128GB 메모리)로는 시뮬레이션 1회에 수 주가 소요되어 연구 일정에 심각한 차질이 발생하고 있다.",
    "더불어, epitranscriptome 프로파일의 single-cell 수준 분석과 다중 오믹스(multi-omics) 데이터 통합 분석에도 활용한다. scVI/scANVI 등 변이형 오토인코더(VAE) 기반 분석 파이프라인은 GPU 메모리와 시스템 메모리를 동시에 대량으로 요구하며, 10만 세포 x 3만 유전자 이상의 데이터셋에 대한 배치 보정 및 통합 분석에 본 장비의 대용량 메모리와 멀티코어 CPU, GPU 확장성이 필수적이다."
  ]
}
```

**필드별 데이터 타입 요약**:

| 필드 | 타입 | 비고 |
|------|------|------|
| `hsk_code` | string | 10자리, `XXXX.XX.XXXX` 형식 |
| `gov_code` | string | 8자리 코드 |
| `item_name_en` | string | 영문 품명 |
| `item_name_kr` | string | 국문 품명 |
| `unit` | string | Set, System, Unit 등 |
| `quantity` | string | 숫자 문자열 |
| `manufacturer` | string | 제조사명 |
| `model` | string | 정확한 모델명 |
| `country` | string | 제조국 |
| `usage` | string | 구매규격서 Ⅰ.용도 란 (최소 8줄/400자 이상, 연구 배경·맥락·활용 장면 포함) |
| `config` | list[string] | 구성품 목록 |
| `config_sub` | list[string] | 부속품 목록 |
| `specs` | list[string] | 구매규격서 성능 규격 (8개 이상) |
| `remarks` | list[string] | 기타 조건 (5개 이상) |
| `general_specs` | list[string] | 용도설명서 일반사양 (8줄 이상) |
| `performance_specs` | list[string] | 용도설명서 성능요건 (6줄 이상) |
| `usage_desc` | list[string] | 용도설명서 사용용도 (3단락 이상) |

**주의**: `general_specs`, `performance_specs`, `usage_desc`는 리스트(여러 줄)로 전달해야 한다.
단일 문자열로 전달하면 하나의 단락에 모두 들어간다.

### Step 5: 검증

생성된 HWPX 파일의 Contents/section0.xml을 파싱하여 모든 필드가 올바르게 채워졌는지 확인한다.
특히 다음을 확인한다:

- 구매규격서: 모든 spec 항목이 빠짐없이 들어갔는지 (번호 매김 확인)
- 구매규격서: 모든 remark 항목이 빠짐없이 들어갔는지
- 용도설명서: 일반사양 줄 수, 성능 줄 수, 용도설명 단락 수가 JSON 데이터와 일치하는지
- 각 항목의 내용이 충분히 상세한지 (한 줄짜리 스펙은 부실한 것)

문제가 있으면 데이터를 수정하고 다시 생성한다.

## 문서별 필드 매핑

### 구매규격서 (form3.hwpx)

| 위치 | 필드 | 설명 |
|------|------|------|
| 테이블: 품목번호 | 자동 "1" | 단일 품목 |
| 테이블: HSK No. | `hsk_code` | 관세분류번호 (괄호 포함) |
| 테이블: 정부물품분류번호 | `gov_code` | 8자리 코드 |
| 테이블: 품명 | `item_name_en` | 영문 품명 |
| 테이블: 단위 | `unit` | Set, System, Unit 등 |
| 테이블: 수량 | `quantity` | 숫자 |
| Ⅰ. 용도 | `usage` | 연구 용도 설명 (최소 8줄/400자 이상) |
| Ⅱ. 장비의 구성 | `config`, `config_sub` | 본체, 부속품 |
| Ⅲ. 성능 및 규격 | `specs` (제한 없음) | 공정 규격 (모델명 불가) |
| Ⅳ. 기타 조건 | `remarks` (제한 없음) | 설치/보증/납기/검증/교육/문서 등 |

**주의**: 템플릿에 기본 8개 스펙 슬롯, 3개 기타조건 슬롯이 있으나, 초과분은 자동으로 복제된다.

### 용도설명서 (form2.hwpx)

| 위치 | 필드 | 설명 |
|------|------|------|
| 1. 품명 (영문) | `item_name_en` | 영문 품명 |
| 1. 품명 (국문) | `item_name_kr` | 국문 품명 |
| 2. 모델명 | `model` | 정확한 모델명 |
| 3. 제조사 | `manufacturer` | 제조사명 |
| 4. 제작국가 | `country` | 제조국 |
| 4. 규격 Ⅰ. 일반사양 | `general_specs` (리스트) | 핵심 하드웨어 사양 (줄 단위) |
| 4. 규격 Ⅱ. 성능 | `performance_specs` (리스트) | 성능 수치 및 요건 (줄 단위) |
| 5. 사용 용도설명 | `usage_desc` (리스트) | 연구 활용 설명 (단락 단위) |

## 장비 유형별 참고사항

- **단위(unit)** 자동 선택: 서버→Set, 현미경→System, 시퀀서→System, 원심분리기→Unit
- **기타 조건(remarks)**: 장비 유형에 따라 설치조건, 교육조건 등이 달라짐
  - 서버: 랙 설치, 네트워크 구성, BIOS 설정, OS 설치 확인
  - 현미경: 진동 방지 테이블, 암실 조건, 광학 정렬
  - 시퀀서: 클린 환경, 온습도 조건, 냉각수 공급
  - 초원심분리기: 냉매, 진공 펌프, 특수 로터
- **구성품**: 소모품(시약, 유리기구 등)은 제외. 물리적 구성품만 기재

상세 가이드는 `references/equipment_categories.md` 및 `references/spec_writing_guide.md` 참조.

## 파일 구조

```
procurement-doc/
├── SKILL.md              ← 이 파일
├── assets/
│   ├── form2.hwpx        ← 용도설명서 HWPX 템플릿
│   └── form3.hwpx        ← 구매규격서 HWPX 템플릿
├── scripts/
│   └── write_hwpx.py     ← HWPX 생성 스크립트 (lxml 필요)
└── references/
    ├── spec_writing_guide.md    ← 공정 규격 작성 상세 가이드
    └── equipment_categories.md  ← 장비 유형별 참고 정보
```

## 기술 상세

HWPX 파일은 ZIP 안에 XML 파일들이 들어있는 구조이다 (DOCX와 유사).
수정 대상은 `Contents/section0.xml` 하나뿐이며, `<hp:t>` 요소의 텍스트만 교체한다.
나머지 파일(header.xml, settings.xml 등)은 변경하지 않으므로
서식, 글꼴, 페이지 설정이 원본 그대로 유지된다.

스크립트는 템플릿의 기존 슬롯 수를 초과하는 항목에 대해 XML 단락 요소를 자동 복제(deep copy)하여
추가한다. 따라서 specs, remarks, general_specs, performance_specs, usage_desc의 항목 수에
제한이 없다.
