https://wikidocs.net/book/14314
https://docs.langchain.com/oss/python/langchain/overview
LangChain overview - Docs by LangChain
LangChain is an open source framework with a pre-built agent architecture and integrations for any model or tool — so you can build agents that adapt as fast as the ecosystem evolves
docs.langchain.com
요새 개발을 하다보면 진짜 AI가 해버리는 것 같다.
이럴 때일수록 자기가 아는 것이 어떤 것인지 명확하게 하는게 중요하다.
AI가 하는걸 보면서 "내가 마치 다 했다는 착각"을 할 수 있기 때문이다.
그래서 요새 블로그 글을 다시 계속 쓰는 것도 있다.
각설하고 요새 왜 Lang Chain을 공부하는지 부터 살짝 정리를 하려고 한다.
나는 AI가 나 대신에 돈을 벌어다 주는 것을 생각하고 있다.
정확히 말하면 시스템 구축 -> 운영 과정에서 필요한 리소스를 얘가 다 해줬으면 좋겠다는 것이다.
돈은 내가 벌어올게,,, 너가 더 많이 벌어와 뭐 이런 느낌
자동화를 모두 AI Agent를 활용해서 해보려고 공부 중이다.
그걸 위해 핵심 용어부터 정리를 하려고 한다.
머리 속에 떠오르는 프로젝트는 주식 자동매매 <- 이걸 해볼까 한다.
그러면 시킬 애들에 대해 알아보자
Agents
에이전트는 언어 모델과 도구를 결합하여 작업에 대해 추론하고, 사용할 도구를 결정하고, 반복적으로 해결책을 찾아낼 수 있는 시스템을 만듭니다.
우리가 아는 Chat GPT, Gemini, Claude Sonnet 이런 LLM 모델들이 해당될 것이다.
간단하게 생각하면 "해줘"를 시전하면 얘가 해주는 역할
아래 그림에서 보면 input이 있는데 "해줘" 라고 보면 model이 자기가 사용할 수 있는 도구를 활용해서 원하는 값을 찾아내고 끝내는 과정이다.

예를 들어야 좀 이해가 쉬울 것 같은데 주식 매매 프로그램을 만들게 된다면 이렇게 될 것이다.

멀티 에이전트는 아직 다루지 않았지만 메인 AI Agent가 존재하고 이 supervisor는 하위 에이전트들한테 시켜서 값만 가져와 작업을 처리한다.
이렇게 하는데에는 이유가 있는데 Claude 코드를 사용해보면 알겠지만 돈이 무제한이 아닌 이상, 우리는 token과 context에 제한이 있다.
token은 모델이 처리하는 텍스트 단위이고, context는 모델이 한 번의 호출에서 참조(주의)할 수 있는 최대 토큰 범위입니다
(개발하다보면 용어가 참 겹치는게 많은 거 같다.)
여기서 context는 기억을 위해 메모리를 쓰는데, 메모리에는 제한이 있다.
메인 Agent가 해야하는 일이
1. 검색
2. 투자 판단
3. 실제 투자
이렇게 있다고 하면 1,2,3에서 할일이 너무 많아서 기억을 할 수가 없는 상황이 온다.
그래서 우리는 각각의 서브 Agent를 만든다.
각각의 sub agent들은 고유의 컨텍스트를 가지고 할당받은 작업을 수행하기 때문에 독립적이다.
사실 보면 당연한건데 주식 투자하는 회사가 있다고 하면
아침마다 정보를 검색하는 부서, 그 정보를 가지고 실제 투자를 할지 말지 판단하는 부서, 그리고 실제 매수/매도를 체결하는 부서 이런 식이다. 그걸 우선은 AI Agent가 한다고 추상화를 해보는 것이다.
또한 이렇게 하면 다른 부서가 일을 할 때 병렬적으로 작업을 할 수 있어서 시간 단축에도 도움이 된다.
또 다른 포인트는 바로 저장공간이다.
정보 검색 AI Agent가 뉴스 기사를 전부 크롤링해서 가져올 것이다. 이 아이는 어떤게 중요한 정보인지 모르기 때문.
그러면 그걸 통채로 넘기는 것이 아닌 vector DB에 저장을 한다.
그리고 이 정보들이 DB의 어디에 있는지, index와 offset등을 넘기고 완료 여부 flag를 넘긴다.
그러면 완성됐다는 정보를 받은 메인 Agent가 알겠다고 하고 다음 작업을 수행하기 위해 sub agent를 시킨다.
투자할지를 판단하는 agent는 db에 접근해서 정보를 가져오고 자기의 일을 처리한다.
RAG 기반으로 LLM을 사용하기 때문에 환각현상도 줄이고 근거 있게 답변을 유도할 수 있다.
AI 써보면 알겠지만 얘가 수치에 되게 약하다.
그래서 수치에 관련된 것은 LLM을 쓰지는 않고 따로 텍스트 채로 저장을 하는 것도 중요할 것이다.
이렇게 해서 투자 가치 판단이 끝나면 현재 내 포트폴리오에 있는 자산 현황등을 또 고려해서 매수/매도를 하게 된다.
대략적인 흐름을 설명했으니 용어를 계속 정리해보자.
Tools
도구. 되게 핵심이 되는 개념 중 하나다.
사실 이 tools는 사람이 보기에는 그냥 함수에 지나지 않다.
파이썬에서는 함수 위에 @ <- 이 데코레이터를 붙여서 도구임을 선언할 수 있다.
공식 예제)
from langchain.tools import tool
@tool
def search_database(query: str, limit: int = 10) -> str:
"""Search the customer database for records matching the query.
Args:
query: Search terms to look for
limit: Maximum number of results to return
"""
return f"Found {limit} results for '{query}'"
이러면 Agent한테 search_database라는 함수를 파라미터로 넘길 수 있고 이 도구를 사용해서 해당 기능을 쉽게 쓸 수 있다.
어디로 튈지 모르는 AI에게 이걸 써서 해봐 하고 말해주는 느낌이다.
이렇게 되면 AI도 sub agent와 비슷한 느낌으로 이 tool을 활용해서 응답 값을 받아 활용할 수 있다.
약간 혼동이 될 수 있는데 이 도구들은 메인 프로그램에서 실행이 된다고 보면 된다.
예제에서는 외부 AI api를 사용해서 ai 모델을 쓰고 있고 토큰 기반으로 사용량이 나간다.
판단을 외주 맡긴다? 이런 느낌이 든다.
이녀석을 파헤치다보면 MCP가 저절로 떠오르게 된다.
예를 들어 이런 상황을 생각해보자.
내가 Cursor을 켜서 내 노트북에서 Notion에 있는 database를 접근하고 싶은 상황이다.
그러면 일단 notion key, database id 이런걸 일단 등록해두고 데이터베이스 쓰면 된다. ( E2E 간-단 )
노션에서는 내부에서 어떻게 구현이 되어 있는진 몰라도 mcp 서버를 통해서 노션의 tool을 우리가 사용할 수 있다는 점이다.
MCP 서버
서버? 우리가 아는 그 서버? -> 맞음
다만 웹 서버처럼 포트가 항상 열려있는건 아니다. 연결방식에 따라서 포트 사용여부가 달라지긴 한다.
MCP 서버는 MCP 프로토콜 ( JSON - RPC )를 말한다고 한다.
쉽게 말해 내가 로컬에서 띄우는 것도 MCP고 SaaS에서 쓸 수 있게 해주는 것도 MCP이다.
그렇다면 이걸 한번 뜯어보는 것도 재밌을 것 같다.
아직 용어 정리 시작도 안했는데 글이 너무 길어졌다;; 다음 글에 계속 해보자
'AI공부' 카테고리의 다른 글
| Termin AI ( feat. 개발자들의 집단 지성 ) (1) | 2026.01.16 |
|---|---|
| OpenCode 알아보기 (2) | 2026.01.11 |
| 클로드 코드 창시자의 클로드 코드 꿀팁 13가지 (0) | 2026.01.08 |
| Lang Chain 공부 용어 정리 (2) - MCP (0) | 2025.12.27 |