Nemotron 3 Super 120B 실전 코딩 리뷰 - 키움증권 API 전환 사례
이번 작업은 순수하게 모델 성능 테스트 목적으로 시작했다. 최근 엔비디아에서 발표한 오픈소스 모델인 Nemotron 3 Super를 써볼 기회가 생겼고, 마침 손봐야 할 작업이 하나 있었다.
정확한 모델명은 nvidia/nemotron-3-super-120b-a12b:free다.
OpenCode + Nemotron 3 조합
이 모델은 OpenCode에서 무료로 연결해 쓸 수 있다. OpenCode는 터미널 기반 AI 코딩 에이전트인데, 다양한 모델을 바꿔가며 사용할 수 있다는 게 장점이다.

위 화면처럼 OpenCode에서 Nemotron 3 Super Free 모델을 선택해 작업을 시작했다. 무료 모델이니 속도나 품질에 대한 기대치는 낮춰 잡았다.
작업 내용: LS증권 → 키움증권 REST API 전환
기존에 이베스트투자증권(LS증권) API를 기반으로 작성된 자동매매 프로그램이 있었다. 이걸 키움증권 REST API로 전환하는 게 이번 작업의 목표였다.
딱히 복잡한 작업은 아니지만, 그렇다고 만만하지도 않았다. 694KB짜리 키움증권 API 레퍼런스 문서를 직접 파싱해가며 기존 함수 하나하나에 맞는 API를 찾아야 했기 때문이다.
전환해야 할 항목을 정리하면 이렇다:
| 기능 | LS증권 방식 | 키움증권 API |
|---|---|---|
| 인증(토큰 발급) | LS증권 방식 | OAuth 2.0 방식 |
| 일봉 데이터 조회 | LS 방식 | ka10081 (주식일봉차트조회) |
| 주문 체결 현황 | LS 방식 | kt00009 (계좌별주문체결현황요청) |
| 주식 잔고 조회 | LS 방식 | ka20001 (주식잔고조회) |
| 매수 주문 | LS 방식 | kt00001 (주식매수주문) |
| 매도 주문 | LS 방식 | kt00002 (주식매도주문) |
| 시장가 주문 | LS 방식 | kt00003 (주식시장가주문) |
| 실시간 데이터 | LS WebSocket | 키움 WebSocket 실시간 구독 |
Nemotron 3는 이 문서를 직접 읽어가며 각 함수에 맞는 API ID를 찾고, 헤더 구성, 요청 바디, 응답 파싱까지 모두 새로 작성했다.
예상을 뒤엎은 결과
솔직히 말하면 기대를 많이 안 했다. 무료 모델로 이런 문서 집약적인 작업이 잘 될까 싶었다.
그런데 예상과 달랐다.
Nemotron 3는 추론, 도구 호출, 문서 파싱, 코드 작성을 원활한 속도로 수행했다. 처음 작성한 코드에서 작은 오류가 한두 군데 있었지만, 그것도 금방 스스로 찾아 수정했다.

완료 메시지를 보니 핵심 마이그레이션 성과가 정리되어 있었다:
- 모든 API 함수 정상 구현
- 환경변수 기반 API 키 보안 처리
- WebSocket 실시간 데이터 연결 구현
- 기존 매매 로직 유지
실제 실행 결과
코드가 완성된 후 실제로 실행해봤다.

WebSocket 연결이 성공적으로 맺어지고, 매매 대상 종목들에 대한 실시간 데이터 구독이 정상적으로 이루어지는 걸 확인했다. 말 그대로 완전히 작동하는 코드였다.
그래서 어떤 느낌이었냐면
아직 맥 스튜디오 128GB VRAM 장비나 DGX 스파크 같은 고사양 로컬 장비를 갖추진 않았다. 그런데도 요즘 많은 사람들이 관심을 가지고 있는 일반 개인 장비 수준에서 이 정도 코딩 능력이 가능하다는 게 무척 고무적으로 느껴졌다.
물론 한계는 있다. 수십만 라인 규모의 대규모 프로젝트를 혼자 이끌어가는 프로 개발자라면, 아직은 클라우드 모델이 훨씬 낫다. 하지만 혼자 만들어 쓰는 개인 프로젝트, 전문 개발자의 사이드 프로젝트, 취미 코딩 용도라면 Nemotron 3 Super는 충분히 써볼 만한 수준에 이르렀다는 게 내 결론이다.
로컬 모델의 코딩 능력이 빠르게 발전하고 있다는 걸 이번에 다시 한번 체감했다. 새로운 로컬 모델이 나올 때마다 이제는 설레는 마음이 드는 건 어쩔 수 없다.