145 lines
5.7 KiB
Markdown
145 lines
5.7 KiB
Markdown
# 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) 대체 완료
|