# 2026-03-28 작업 기록 ## 모델 테스트 세션 (새벽 ~ 아침) ### 등록된 모델 | 모델 | 용도 | 상태 | |------|------|------| | Qwen3-8B | 빠른 라우터 | 기존 (8080) | | Qwen2.5-72B-Instruct | 긴 분석 | 기존 (8081) | | Qwen2.5-Coder-32B | 코딩 | 기존 (8082) | | DeepSeek-R1 | 추론 | 기존 (8083) | | **Qwen3-Coder-Next** | 코딩 (새로운) | 테스트 완료 (8084) | | **Qwen2.5-VL-7B-Instruct** | 비전/OCR | mmproj 파일 필요 (8084) | ### 테스트 결과 | 모델 | 속도 | reasoning | 비고 | |------|------|-----------|------| | Qwen3-Coder-Next (76GB) | 0.35초 | 없음 | 깔끔, tool-call 호환성 높을 가능성 | | Qwen2.5-7B-Instruct | 0.17초 | 없음 | 가장 빠름, 일반 대화용 | | Qwen2.5-VL-7B-Instruct | 0.14초 (텍스트) / 0.48초 (OCR) | 없음 | 텍스트 OK, OCR 정상 작동 (mmproj 필수) | ### 실행 중인 모델 (현재) - 8080: Qwen3-8B (기본 라우터) - 8081: Qwen2.5-72B-Instruct (분석) - 8082: Qwen2.5-Coder-32B (코딩) - 8083: DeepSeek-R1 (추론) - 8084: Qwen2.5-VL-7B-Instruct (비전/OCR) ← mmproj-F16.gguf 포함 ### MCP 서버 목록 (기존) - KIS MCP Server (주식 조회/주문) - Playwright MCP (브라우저 자동화) - SSH Terminal MCP (SSH 터미널) - KeyboardMouse MCP (키보드/마우스 제어) ### 문제점/기억사항 - **openclaw.json 설정 변경하면 게이트웨이 뻗을 수 있음** → 반드시 jq 사용 - **모델 테스트 시 8084 포트만 사용** (openclaw.json 등록 불필요) - **HF 토큰 등록 완료**: llama 서버 `~/.huggingface/token`에 `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` 저장 - **SSH 연결 불안정**: llama 서버로 SSH 명령 실행 시 자주 끊김 (pkill 등 특정 명령에서 발생) - **hf CLI로 변경**: `huggingface-cli` → `hf`로 이름 변경됨 - **VL 모델 mmproj 필요**: Qwen2.5-VL 사용 시 `mmproj-F16.gguf` 필수 ### 준이 요청사항 (완료) - ✅ 코딩: Qwen3-Coder-Next 테스트 - ✅ 일반대화: Qwen2.5-7B-Instruct 테스트 - ✅ 비전/OCR: Qwen2.5-VL-7B-Instruct 테스트 - ✅ 결과를 파일로 기록 --- ## SSH MCP 서버 연결 성공 (10:00~10:10) ### 발견사항 - MCP 서버 소스: `/home/arin/.openclaw/workspace/projects/mcp_sshterminal/` - MCP 엔드포인트: `http://127.0.0.1:5057/mcp` - 서버 프로세스: PID 2048 (McpSshTerminal.App, .NET) - llama 서버 등록: ID `77a0629dde7e4172943a26962b1af267` ### 핵심 파라미터 (중요!) - `initialize` → 응답 헤더에서 `Mcp-Session-Id` 획득 - `open_session` → 파라미터: `sessionId` (서버 ID 값) - `send_input` → 파라미터: `sessionId` (SSH 세션 ID) + `text` (명령어, **input 아님!**) - `read_output` → 파라미터: `sessionId` + `afterSequence` (마지막 시퀀스 번호) ### 테스트 성공 - SSH 세션 ID: `272608b9e7b944cbab2e5e4ab4e8153d` - `pgrep -la llama-server` 실행 → 3개 모델 정상 확인 - 8081: Qwen2.5-7B-Instruct (PID 159327) - 8082: Qwen3-8B (PID 160050) - 8083: Qwen2.5-VL-7B (PID 159411) ### 문제점 정리 - 직접 SSH 명령 (`ssh llama`) 자주 끊김 → SSH MCP가 대안 - OpenClaw에 MCP 도구가 직접 노출되지 않음 → Python 스크립트로 MCP 호출 - `send_input` 파라미터가 `input`이 아니라 `text` (서버 로그에서 발견) ### 균이 관심사 - 추가 전문가 모델: 툴 호출 전문 (function calling), 한국어 전문 (EEVE-Korean) - VRAM 여유: 현재 17% 사용, ~81GB 여유 --- ## Qwen2.5-Coder-32B 서브에이전트 실패 분석 (11:36~11:38) ### 실패 #1 (kis-coder) - Task: KIS 실시간 종목 수신 코드 작성 - 결과: **파일 미생성**, 결과 없음 - 원인 미상 (로그 없음) ### 실패 #2 (kis-coder-2) - 동일 작업, 더 구체적 프롬프트 - 결과: **파일 미생성**, 결과 없음 ### 루트 코즈 (sessions_history 확인) ``` stopReason: "error" errorMessage: "400 request (9383 tokens) exceeds the available context size (8192 tokens), try increasing it" ``` **핵심: 프롬프트가 9,383 토큰인데 모델 컨텍스트 윈도우가 8,192 토큰. 입력 자체가 컨텍스트를 초과해서 모델이 아예 실행 불가.** ### 페널티 기록 | 모델 | 이벤트 | 심각도 | 비고 | |------|--------|--------|------| | qwen2.5-coder-32b-q4km | 툴호출 실패 (write 미수행) | 🔴 높음 | 컨텍스트 8192로 서브에이전트 작업 수용 불가 | ### 교훈 - Qwen2.5-Coder-32B의 컨텍스트가 8192로 설정되어 있음 - 서브에이전트 프롬프트가 길면 컨텍스트 초과로 에러 발생 - **해결책**: llama 서버에서 `--ctx-size` 높이거나, 서브에이전트 프롬프트를 줄이거나, 더 큰 컨텍스트의 모델 사용 - 모델 성능 문제가 아니라 **컨텍스트 크기 문제**였음 (구분 중요) --- ## 코딩 모델 성능 검증 (저녁 21:56 ~ 23:37) ### 테스트 결과 - **Qwen3-Coder-Next**: ✅ 코딩 모델로 사용 가능 - 간단한 코드: 12초 성공 - KIS 실시간 종목 시세: 50초 성공 - 툴호출 정상 (OpenAI 표준 형식) - **Qwen2.5-Coder-32B**: ❌ 서브에이전트 사용 불가 - 툴호출 형식 깨짐 (XML로 content에 출력) - 서버/템플릿 문제 아님, 모델 훈련 차이 ### 상세 보고서 → `memory/2026-03-28-llm-coding-test.md` --- ## 추가 모델 테스트 (심야 00:06 ~ 02:35) ### 다운로드 + 테스트 완료 | 모델 | 크기 | 다운로드 | 테스트 | |------|------|----------|--------| | Qwen3.5-9B-Uncensored Q4_K_M | 5.6GB | ✅ | ✅ | | Qwen3.5-27B-Claude-Opus Q4_K_M | 16.5GB | ✅ | ✅ | | Qwen3.5-122B-A10B-MoE IQ3_XXS | 47GB | ✅ | ✅ | ### 최종 결론 - **🏆 122B MoE**: 속도 36 t/s + 코드 품질 최고 + VRAM 45GB - **보조 9B**: 속도 37 t/s + VRAM 5GB - **50GB 예산 최적: 122B + 9B** - Coder-Next (76GB) 대체 완료