반응형

분류 전체보기 357

AI 에이전트가 실제로 일할 수 있는 이유 — Harness(하네스) 개념 완전 정리

AI 에이전트를 공부하다 보면 이런 의문이 생깁니다."LLM 모델 자체는 그냥 질문에 답하는 거잖아. 그럼 Claude Code나 Cursor는 어떻게 파일도 읽고 API도 호출하는 거지?"그 답이 바로 **하네스(Harness)**입니다. 이번 글에서는 하네스가 뭔지, Orchestrator와 어떻게 다른지, 실제 제품에서 어떻게 쓰이는지 정리해 드릴게요.모델 단독으로는 "실험실" 수준이다LLM 모델 자체는 "질문 받으면 답변 생성"하는 것밖에 못 해요. 실제 업무에 투입하면 세 가지 한계가 바로 드러납니다.첫째, 기억이 리셋됩니다. 대화가 끝나면 이전 맥락을 전혀 기억하지 못해요. 컨텍스트 창이 꽉 차면 앞 내용이 잘려나가기도 하고요.둘째, 에러가 나면 그냥 멈춥니다. API 호출이 실패하거나 도구 ..

AI 개발 2026.03.25

[기초] LLM이 도구를 직접 호출한다 — Function Calling 원리와 구현 완전 정리

AI 에이전트를 만들다 보면 이런 상황이 생깁니다."LLM한테 날씨 알려달라고 했는데, 학습 데이터에 없는 오늘 날씨를 어떻게 알려주지?"LLM은 학습 데이터 기반으로만 답하기 때문에 실시간 정보나 외부 시스템과 연동이 안 돼요. 이걸 해결하는 게 Function Calling입니다. 이번 글에서는 Function Calling이 뭔지, 어떻게 동작하는지, 실제로 어떻게 구현하는지 정리해 드릴게요.Function Calling이란?Function Calling은 LLM이 응답을 생성할 때 "이 질문은 내가 직접 답하는 게 아니라 이 함수를 호출해야 한다" 고 판단해서 함수 호출 정보를 반환하는 기능이에요.중요한 건 LLM이 함수를 직접 실행하는 게 아니라는 점이에요. LLM은 "어떤 함수를 어떤 인자로 ..

LLM 2026.03.25

sglang vs vLLM — 오픈소스 LLM 서빙 프레임워크 실전 비교

오픈소스 LLM을 직접 서빙하려고 하면 이 두 개를 반드시 마주치게 됩니다."sglang이랑 vLLM 중에 뭐 써야 하지?"둘 다 LLM을 HTTP API로 서빙하는 프레임워크인데, 설계 철학과 강점이 달라요. 이번 글에서는 실전 관점에서 두 프레임워크를 비교해 드릴게요.먼저 둘 다 뭔지부터vLLM은 2023년 UC Berkeley에서 발표한 LLM 서빙 프레임워크예요. PagedAttention이라는 메모리 관리 기법을 처음 도입해서 GPU 메모리 효율을 획기적으로 높인 프레임워크입니다. OpenAI API와 호환되는 엔드포인트를 제공해서 기존 코드를 거의 수정 없이 연결할 수 있어요.sglang은 2024년 Stanford에서 발표한 프레임워크예요. RadixAttention이라는 KV 캐시 공유 기..

LLM 2026.03.24

Thought, Action, Observation을 코드로 — LangGraph + ReAct 완전 정리

AI 에이전트를 만들다 보면 이런 상황이 생깁니다."LLM이 도구를 써야 할 때도 있고, 바로 답할 수 있을 때도 있는데 이걸 어떻게 처리하지?"이걸 깔끔하게 해결하는 패턴이 ReAct이고, 이를 코드로 명시적으로 구현할 수 있게 해주는 프레임워크가 LangGraph입니다. 이번 글에서는 LangGraph가 뭔지부터 ReAct 패턴을 실제로 어떻게 구현하는지까지 정리해 드릴게요.LangGraph란?LangGraph는 LangChain 팀이 만든 상태 기반 AI 워크플로우 프레임워크예요. 2024년 1월에 출시됐으며, AI 에이전트의 복잡한 흐름을 그래프 구조로 명시적으로 표현할 수 있게 해줍니다.기존 LangChain만으로도 에이전트를 만들 수 있었지만 세 가지 문제가 있었어요.첫째, 루프 구현이 어렵습..

AI Agent 2026.03.24

[실전] 멀티 에이전트 시스템의 실무자들 — Sub-Agent 설계와 구현 완전 정리

지난 글에서 Orchestrator가 매 스텝마다 LLM으로 다음 task를 동적으로 선택하고 sub-agent를 호출하는 구조를 설명했어요. 이번 글에서는 그 호출을 실제로 받아서 처리하는 Sub-Agent를 어떻게 만드는지 구현 관점에서 정리해 드릴게요.Sub-Agent가 하는 일Sub-Agent는 단순합니다. Orchestrator로부터 task를 받아서 처리하고, 결과를 돌려주는 게 전부예요.Orchestrator → POST /invoke → Sub-Agent → 결과 반환핵심은 "어떤 Sub-Agent든 동일한 인터페이스로 통신한다" 는 점이에요. Orchestrator 입장에서는 SQL 에이전트든 검색 에이전트든 동일한 방식으로 호출할 수 있어야 해요.전체 구조Sub-Agent는 크게 4개 ..

AI Agent 2026.03.24

AI 에이전트의 뇌는 어떻게 작동하나 — 다단계 추론, 자율 교정, 멀티 에이전트 한 번에 정리

AI 에이전트를 처음 만들면 이런 의문이 생깁니다."LLM이 그냥 질문에 답하는 거랑, 에이전트가 작업을 처리하는 거랑 뭐가 다른 거지?"차이는 스스로 생각하고, 행동하고, 결과를 보고 수정하는 능력에 있습니다. 이번 글에서는 고급 AI 에이전트의 핵심 개념인 다단계 추론, 자율 교정, 멀티 에이전트 시스템을 이론 중심으로 정리해 드릴게요.1. 다단계 추론 (Multi-step Reasoning)다단계 추론은 AI 에이전트가 복잡한 목표를 여러 개의 작은 단계로 나누어 순차적으로 해결하는 능력이에요. 사람이 복잡한 프로젝트를 여러 태스크로 쪼개서 실행하는 것과 같아요.동작 방식목표 분석 — 최종 목표를 파악하고, 어떤 정보가 필요한지, 어떤 도구를 써야 하는지 추론합니다.계획 수립 — 분석된 정보를 바탕..

AI Agent 2026.03.24

벡터 검색 정확도 올리는 법 — 임베딩 모델 선택부터 HNSW 튜닝, Reranking까지

벡터 검색을 붙여봤는데 결과가 기대보다 별로라는 경험, 한 번쯤 있으실 거예요."분명히 관련 있는 문서인데 왜 안 나오지?"이번 글에서는 벡터 검색 정확도를 높이는 방법을 임베딩 모델 선택부터 Reranking까지 단계별로 정리해 드릴게요.1. 좋은 임베딩 모델 선택벡터 검색 정확도의 기반은 임베딩 모델이에요. 모델이 좋아야 검색 품질이 올라갑니다.현재 성능이 검증된 모델들은 이렇습니다.BGE (bge-large, bge-m3) — 최근 벤치마크에서 성능 좋음E5 (e5-large, e5-mistral) — 다양한 벤치마크에서 우수한 성능Qwen-Embedding — 최근 MTEB 벤치마크에서 최상위권, 다국어 지원 강력MiniLM, Contriever — 가볍지만 성능 괜찮음OpenAI Embeddin..

RAG 2026.03.24

[실전] 매 스텝마다 LLM이 다음 할 일을 고른다 — 자동 워크플로우 Orchestrator 구현기

AI Agent 시스템을 만들다 보면 이런 고민이 생깁니다."워크플로우를 미리 다 정의해두면, 예상 못 한 요청이 들어왔을 때 대응이 안 되는데?"기존 수동 워크플로우 방식은 task를 미리 정의된 순서에 따라 실행했어요. 그래서 유연하지 못했습니다. 이번 글에서는 그 한계를 깨고, LLM이 매 스텝마다 다음 task를 동적으로 선택하는 자동 워크플로우 구성 방식의 핵심 동작 원리를 설명해 드릴게요.수동 vs 자동, 뭐가 다른가구분 수동 워크플로우 자동 워크플로우task 선택미리 정의된 순서대로매 스텝마다 LLM이 동적 선택input 추출전체 input 한 번에 추출이전 task 결과를 다음 input으로 활용실행 방식병렬/순차 (독립적)결과 누적 → 반복 → done유연성낮음높음핵심 차이는 "워크플로우..

AI Agent 2026.03.24

기존 RAG의 한계를 그래프로 돌파한다 — Graph RAG 동작 원리 완전 정리

RAG(Retrieval Augmented Generation)를 써보셨다면 이런 답답함을 느끼신 적 있으실 거예요."분명히 관련 문서인데, 왜 엉뚱한 답이 나오지?"이건 기존 RAG의 구조적인 한계 때문입니다. 이번 글에서는 그 한계를 그래프 기반으로 돌파한 Graph RAG의 개념과 동작 원리를 처음부터 끝까지 정리해 드릴게요.기존 RAG의 문제점기존 RAG는 문서를 chunk 단위로 잘라서 관련 chunk를 검색한 뒤 LLM에 넘겨주는 방식이에요.여기서 두 가지 문제가 생깁니다.첫째, 연결 관계를 놓칩니다. 문서를 잘게 쪼개다 보면 chunk 사이의 맥락과 관계가 끊겨요. "A는 B의 원인이다"라는 정보가 두 chunk에 걸쳐 있으면 그냥 사라지는 거예요.둘째, context가 LLM 처리 용량을 ..

RAG 2026.03.24

검색 결과 순서가 바뀌는 원리 — TF-IDF, BM25, 쿼리 튜닝 한 번에 정리 (Elasticsearch)

Elasticsearch 검색 점수의 비밀 — TF-IDF부터 BM25 튜닝까지 한 번에 정리했습니다Elasticsearch로 검색 기능을 만들다 보면 이런 의문이 생기실 거예요."왜 이 문서가 1등이지? 검색 점수는 도대체 어떻게 계산되는 거야?"이번 글에서는 Elasticsearch 검색 점수의 핵심 알고리즘인 TF-IDF와 BM25, 그리고 실무에서 쓰는 튜닝 방법까지 한 번에 정리해 드릴게요.1. 핵심 원리 — TF-IDF와 BM25는 뭘 보는가두 알고리즘의 평가 기준은 같습니다."문서 안에서 자주 등장하지만(TF 높음), 전체 문서에서는 희귀한 단어(IDF 높음)일수록 그 문서를 대표하는 핵심 키워드다."쉽게 말하면 "엘라스틱서치"라는 단어가 전체 문서 중 딱 몇 개에만 나오는데, 그 문서 안에..

DB 2026.03.24
반응형