Python으로 LangChain 첫 실행하기 — 설치부터 첫 번째 invoke, 그리고 PromptTemplate까지지난 글에서는 “LangChain이 왜 필요한가”를 이야기했죠.이번 글부터는 진짜 손을 움직여보겠습니다.이런 말 좀 웃기긴 한데… 처음 LangChain 볼 때 제일 헷갈렸던 건 어려운 개념이 아니라 오히려 너무 기본적인 거였어요.“그래서 뭘 설치해야 하지?”“langchain만 깔면 되나?”“모델은 어디서 붙이지?”“공식 예제가 예전 거랑 지금 거랑 왜 다르게 보이지?”이게 은근히 스트레스예요.특히 주니어일수록요. 괜히 내가 못하는 것 같고, 시작부터 꼬인 느낌이 들거든요.그래서 이번 글은 딱 여기까지만 갑니다.LangChain 실행 환경 만들기OpenAI 기준으로 첫 모델 호출하기문자..
Python으로 시작하는 OpenAI 개발 입문 1편 — 처음 API를 붙일 때, 제일 먼저 이해해야 하는 것들OpenAI로 뭔가를 만들어보고 싶다는 생각, 저도 처음엔 되게 막연했습니다.“챗봇 하나 붙이면 되는 거 아냐?” 싶었는데, 막상 들어가 보니까 모델, 토큰, API 키, SDK, Responses API, 스트리밍,(GitHub)게, 처음부터 너무 거창하게 공부할 필요는 없습니다.주니어 개발자 기준으로는 딱 3가지만 먼저 이해하면 꽤 빠르게 손에 익어요.첫째, OpenAI는 결국 HTTP API다.둘째, Python에서는 공식 SDK로 훨씬 편하게 쓸 수 있다.셋째, 지금 기준으로는 Responses API 중심으로 익히는 게 가장 자연스럽다. OpenAI 공식 Python 라이브러리 READ..
LangChain, 왜 다들 이야기할까? 주니어 개발자가 처음 LangChain을 공부해야 하는 진짜 이유처음 생성형 AI 서비스를 만들겠다고 마음먹었을 때, 저도 되게 단순하게 생각했어요.“모델 API 하나 연결하고, 프롬프트 잘 쓰면 끝 아닌가?”근데 조금만 만들다 보면 바로 벽을 만납니다.사용자 질문이 길어지면 문맥 관리가 필요하고,외부 문서를 읽혀야 하면 검색 구조가 필요하고,실시간 데이터를 써야 하면 툴 연결이 필요하고,응답을 JSON으로 받아서 화면에 뿌리려면 출력 형식도 제어해야 하죠.그때부터 느끼게 됩니다.아… 이건 그냥 LLM 한 번 호출하는 코드로는 점점 감당이 안 되는구나.LangChain은 바로 그 지점에서 등장하는 프레임워크입니다. 공식 문서에서는 LangChain을 LLM 기반 ..
LLM 실전 활용 7: Agent 실패 패턴 총정리 — 왜 AI는 데모에선 잘 되는데, 운영에선 망가질까솔직히 말하면,Agent 프로젝트의 절반 이상은 운영 단계에서 무너진다.데모에서는똑똑하고계획도 세우고말도 그럴듯한데막상 서비스에 올리면 이런 소리가 나온다.“비용이 감당이 안 됩니다.”“가끔 말도 안 되는 행동을 해요.”“왜 저 도구를 썼는지 아무도 몰라요.”이건 모델 성능 문제가 아니다.👉 구조 설계 문제다.이번 글은Agent가 실무에서 실패하는 전형적인 패턴을“하지 말아야 할 것들” 중심으로 정리한다.이걸 알고 시작하면, 최소한 같은 구덩이엔 안 빠진다.1. 실패 패턴 #1 — 무한 루프 (가장 흔하고 가장 치명적)증상Agent가 계속 생각한다같은 행동을 반복한다종료되지 않는다토큰·비용 폭발원인멈..
LLM 실전 활용 6: 메모리 설계 — Agent는 무엇을 기억해야 하고, 무엇을 반드시 잊어야 하는가Agent를 붙이고 나서,처음엔 다들 이렇게 말한다.“이제 대화도 이어지고, 꽤 사람 같다.”그런데 서비스에 올리는 순간이상한 일이 벌어진다.예전에 한 말을 계속 끌고 온다이미 끝난 얘기를 다시 꺼낸다엉뚱한 맥락을 연결한다대화가 길어질수록 점점 멍청해진다이때의 문제는👉 모델도, 프롬프트도 아니다.거의 항상 원인은 하나다.“메모리 설계”이번 글은Agent가 왜 기억 때문에 망하는지,그리고 어떤 기억만 남겨야 하는지를실무 관점에서 정리한 글이다.1. 가장 위험한 착각: “다 기억하면 더 똑똑해진다”이건 거의 본능에 가깝다.“이전 대화를 다 넣어주면맥락을 잘 이해하겠지?”❌ 아니다.대부분의 경우 정반대다.이..
LLM 실전 활용 5: AI Agent의 탄생 — “질문에 답하는 AI”에서 “목표를 달성하는 시스템”으로Tool Calling까지 붙이고 나면,이런 순간이 온다.“이제 함수도 부르고, 조회도 하는데…왜 일을 ‘끝까지’ 못 하지?”중간에 멈추고다음 행동을 스스로 결정 못 하고매번 사람 지시를 기다린다여기서 한 단계 더 나아간 개념이 바로 AI Agent다.👉 Agent는 ‘대답하는 존재’가 아니라‘목표를 향해 행동을 이어가는 구조’다.이번 글에서는Agent가 정확히 무엇인지Tool Calling과 뭐가 다른지Agent가 왜 “루프 구조”를 가지는지실무에서 쓸 수 있는 최소 Agent 구조를 현실적인 시선으로 정리한다.1. Agent를 한 문장으로 정의하면“목표를 입력받고,스스로 다음 행동을 계획하고,도..
LLM 실전 활용 4: Tool Calling & Function Calling — “말하는 모델”을 “일하는 시스템”으로 바꾸는 순간RAG까지 붙였을 때 이런 생각이 든다.“이제 꽤 똑똑한데… 왜 실제로 일을 시키면 막히지?”오늘 날짜 알려달라니까 틀리고DB 조회는 못 하고계산은 불안하고결국 사람이 중간에 다 해줘야 한다여기서 깨닫는다.👉 LLM은 ‘두뇌’지, ‘손’이 아니다.이 간극을 메워주는 게 바로Tool Calling / Function Calling 이다.이번 글은LLM을 “대답하는 챗봇”에서실제로 업무를 수행하는 시스템 컴포넌트로 바꾸는 핵심 설계다.1. 왜 LLM 혼자서는 실무가 안 되는가?LLM의 태생적 한계는 명확하다.❌ LLM이 못 하는 것현재 시각 조회데이터베이스 쿼리외부 API ..
LLM 실전 활용 3: 프롬프트 엔지니어링의 착각과 진실 — RAG 시대에 프롬프트는 무엇을 해야 하는가한동안 이런 말이 유행했다.“프롬프트만 잘 쓰면 다 된다.”실제로 초반엔 그랬다.모델이 작고, 지식이 부족하던 시절엔프롬프트가 마법 주문처럼 보였다.그런데 RAG를 붙이고,실제 서비스에 넣는 순간 깨닫게 된다.👉 프롬프트로 해결되는 문제와절대 해결되지 않는 문제가 분명히 나뉜다.이번 글은프롬프트 엔지니어링을 신화에서 실무 도구로 되돌리는 글이다.1. 프롬프트 엔지니어링에 대한 가장 큰 오해❌ 오해“프롬프트를 잘 쓰면 모델이 더 똑똑해진다”✅ 현실프롬프트는 모델의 ‘지식’을 늘리지 못한다다만 행동 범위와 출력 형식을 조절할 뿐이다.즉,없는 지식을 만들어내게 ❌있는 지식을 어떻게 쓰게 할지 ⭕이걸 이해 ..
LLM 실전 활용 2: 임베딩과 벡터 데이터베이스 — RAG 성능의 80%는 여기서 결정된다RAG를 처음 만들었을 때,“어? 답은 나오네?” 싶다가며칠 지나면 꼭 이런 말이 나온다.“근데 왜 중요한 문서를 못 찾지?”“비슷한 질문인데 결과가 들쭉날쭉해…”이때 대부분의 문제가👉 모델이 아니라 임베딩과 벡터 검색에서 발생한다.솔직히 말하면,RAG의 성능 80%는 ‘임베딩 + 벡터 DB 설계’에서 갈린다.이번 글은임베딩이 정확히 무엇인지벡터 검색이 왜 키워드 검색과 다른지문서를 어떻게 쪼개야 하는지벡터 DB를 어떻게 선택해야 하는지를 실무 기준 + 시행착오 중심으로 정리한다.1. 임베딩(Embedding)을 한 문장으로 정의하면“텍스트의 ‘의미’를 숫자 좌표로 바꾼 것”LLM은 글자를 그대로 이해하지 않는다..
LLM 실전 활용 1: RAG의 탄생 — “모델을 키우지 말고, 지식을 연결하자”LLM을 처음 서비스에 붙였을 때, 솔직히 좀 당황했다.데모에서는 똑똑한데실제 회사 문서, 실제 정책, 실제 데이터를 물어보면갑자기 말을 얼버무리거나, 그럴듯한 헛소리를 한다.그때 깨달았다.👉 “모델이 문제라기보다, 지식이 연결되어 있지 않았다.”이 문제를 정면으로 해결한 구조가 바로 RAG(Retrieval-Augmented Generation) 다.이번 글부터는LLM을 ‘연구 대상’이 아니라 ‘서비스 컴포넌트’로 쓰는 방법을 다룬다.첫 번째 주제는 RAG의 철학과 구조다.1. 왜 LLM은 실무에서 바로 쓰기 어려울까?LLM의 본질은 여전히 이것이다.“다음 토큰을 잘 예측하는 확률 모델”그래서 이런 한계가 있다.❌ 최신 ..
- Total
- Today
- Yesterday
- 쿠버네티스
- CI/CD
- DevOps
- JAX
- 개발블로그
- seo 최적화 10개
- kotlin
- Prisma
- nextJS
- Express
- NestJS
- flax
- fastapi
- rag
- Python
- LangChain
- Docker
- node.js
- Next.js
- 백엔드개발
- ai철학
- REACT
- nodejs
- SEO최적화
- 딥러닝
- PostgreSQL
- llm
- 생성형AI
- 웹개발
- JWT
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |

