Seonjin`s Tech Blog
취소

Agent Harness 이해하기 — 모델을 실제 작업자로 만드는 실행 계층

같은 모델인데 왜 Agent의 능력은 다를까? 같은 LLM을 사용해도 어떤 Agent는 짧은 질문에 답하는 데 그치고, 다른 Agent는 저장소를 분석하고 파일을 수정한 뒤 테스트까지 실행한다. 차이는 모델 성능만으로 설명되지 않는다. 모델은 기본적으로 입력을 받아 다음 응답을 생성한다. 모델이 여러 단계에 걸쳐 작업하려면 다음 기능을 제공하는 프...

TypeSafe AI Jev 이해하기 — 문장을 생성하지 않는 AI는 무엇이 다를까?

대화하지 않는 AI 모델이 등장했다 TypeSafe AI는 2026년 9월 15일 첫 번째 System One Model인 Jev를 Early Access로 공개했다. 일반적인 LLM이 다음 토큰을 이어 붙여 문장을 생성한다면, Jev는 미리 정의된 질문에 대해 선택·점수·확률 같은 구조화된 결정을 반환한다. 회사는 이를 다음 한 문장으로 설명한다...

RAG 검색 결과는 있는데 답변은 왜 틀릴까? — 실패 지점별 진단 방법

검색 결과가 나왔다는 것만으로는 부족하다 RAG를 처음 연결하면 질문과 비슷한 문서가 검색되는지만 확인하기 쉽다. 검색 결과 화면에 관련 문서가 보이는데도 최종 답변은 틀릴 수 있다. 예를 들어 사용자가 다음과 같이 질문했다고 하자. 2026년 개정 규정에서 국내 출장 숙박비 한도는 얼마인가요? 검색 결과에 출장 규정이 포함돼도 다음 문...

RAG·파인튜닝·긴 컨텍스트 비교 — 사내 지식은 어떻게 LLM에 연결할까?

문서를 학습시키면 사내 지식을 알게 될까? 사내 문서를 LLM에 활용하려고 할 때 흔히 다음 선택지를 마주친다. 문서를 검색해 질문과 함께 전달하는 RAG 업무 데이터로 모델을 추가 학습하는 파인튜닝 필요한 문서를 긴 컨텍스트에 한꺼번에 넣는 방식 세 방법은 모두 모델에 필요한 정보를 제공하는 것처럼 보이지만 해결하려는 문제가 다르...

LLM 구조화된 출력 이해하기 — JSON 형식부터 값 검증까지

JSON으로 받았다고 바로 저장해도 될까? LLM을 업무 프로그램에 연결하면 자연어 답변보다 구조화된 값이 필요한 경우가 많다. 예를 들어 문서에서 거래처명, 작성일, 합계 금액을 추출한 뒤 데이터베이스에 저장하려면 다음과 같은 결과가 편리하다. { "vendor_name": "가나다상사", "document_date": "2026-09-1...

Workflow와 Agent 이해하기 — 어디까지 AI에게 맡길까?

도구를 연결했다면, 실행 순서는 누가 정할까? 앞선 Tool Calling과 MCP 글에서는 모델이 도구를 요청하는 과정과 애플리케이션이 도구에 연결하는 방식을 구분했다. 도구를 사용할 수 있게 되면 다음 질문이 남는다. 어떤 도구를 어떤 순서로 실행하고, 언제 작업을 끝낼 것인가? 이 흐름을 미리 정한 절차로 제어할 수도 있고, 모델이 중간 결...

Tool Calling과 MCP 이해하기 — LLM의 도구 호출과 연결은 어떻게 다를까?

도구를 호출할 수 있는데 MCP는 왜 필요할까? LangChain.js로 DB와 API를 사용하는 Agent 만들기에서는 애플리케이션에 도구를 등록하고, 모델이 필요한 도구를 선택하도록 구성했다. MCP 없이도 데이터베이스 조회와 날씨 API 호출을 연결할 수 있었다. 그렇다면 MCP를 사용하면 무엇이 달라질까? Tool Calling은 모델이 ...

LLM 응답 속도 이해하기 — 첫 답변이 늦는 이유와 생성이 느린 이유

같은 ‘느리다’에도 다른 원인이 있다 LLM에 질문했는데 한참 동안 아무것도 나타나지 않을 때가 있다. 반대로 답변은 바로 시작하지만, 글자가 조금씩 느리게 나오는 경우도 있다. 사용자에게는 둘 다 느린 서비스다. 하지만 원인을 찾으려면 첫 출력까지의 대기 시간과 출력이 시작된 뒤의 생성 속도를 나눠 봐야 한다. 앞선 양자화 글에서는 모델 용량을...

LLM 양자화 이해하기 — 4bit로 줄이면 용량·품질·속도는 어떻게 달라질까?

같은 모델인데 다운로드 용량이 다른 이유 LLM을 내려받으려다 보면 같은 모델 이름 뒤에 FP16, INT8, Q4_K_M 같은 표기가 붙어 있는 것을 볼 수 있다. 같은 파라미터 수를 가진 모델인데 파일 크기는 크게 다르다. 이 차이를 이해하려면 모델의 크기와 숫자를 저장하는 정밀도를 구분해야 한다. 8B는 대략 80억 개의 파라미터가 있다는 뜻...

폐쇄망에서 Python 패키지 사용하기 — wheel 다운로드부터 Nexus 등록까지

패키지 파일 하나만 가져오면 될까? 폐쇄망에서 사용할 Python 패키지를 준비하다 보면, 필요한 .whl 파일만 내려받으면 끝날 것 같지만 실제로는 의존성이나 플랫폼 호환성에서 막히는 경우가 있다. 최근 impyla를 준비할 때도 wheel만 받도록 설정하자 소스 배포본만 있는 의존성이 제외되면서 다운로드가 실패했다. 이번 글에서는 특정 PC 운...