FAANG Senior Software Engineer
(전) GS 그룹 AI Agent 플랫폼 개발/운영
(전) GS 그룹 DX BootCamp 멘토/코칭
(전) 시리즈 C AI 스타트업 테크리드
Stanford University Code in Place Python Instructor
네이버 부스트캠프 웹/모바일 멘토
네이버 클라우드 YouTube Channel presenter
원티드 프리온보딩 프론트엔드/백엔드 챌린지 진행 (누적 6000+)
항해 AI 플러스코스 1기 코치
강의
로드맵
전체 2수강평
- RAG를 활용한 LLM Application 개발 (feat. LangChain)
- 한시간으로 끝내는 LangChain 기본기
- RAG를 활용한 LLM Application 개발 (feat. LangChain)
게시글
질문&답변
RAG 문서 관리 방법
안녕하세요! 상당히 중요한 고민인데요, 이런 이유로 인해서 저는 회사에서 에이전트 개발을 직접 하지 않고, 현업에서 직접 만들어서 개발할 수 있는 플랫폼을 만들어서 운영했었습니다. 문서 업데이트가 빈번한데 개발자가 업데이트를 처리해야하는 상황이라면, 현업(사용자)에게 해당 기능을 처리할 수 있는 인터페이스를 제공할 수밖에 없습니다. 다만 문서가 업데이트돼서 기존에 vector store에 저장했던 문서를 제거해야한다면, metadata에 문서의 이름이나 고유값 등등을 저장해두고, 해당 metadata를 활용해서 기존에 문서는 제거하고 새로운 문서로 embedding을 하는 방식으로 진행하셔야 할 것 같습니다.
- 0
- 2
- 22
질문&답변
챗봇 답변 일관성 및 RAG 검색 우선순위 설정 관련
안녕하세요! 좋은 질문 감사합니다.temperature=0으로 세팅하는 방법이 있는데, 이것도 "항상" 같은 답변을 줄거라는 보장은 어렵습니다. 생성형 AI 특성이라고 보시는게 더 좋을 것 같습니다.이전 대화 맥락이 다르면 동일한 질문이라도 검색되는 문서와 답변이 달라질 수 있다는 점 또한 대화 이력을 활용하는 특성상, 이전 대화 맥락이 다르다는 것은 결국 프롬프트가 변경되는 것이기 때문에 답변이 다르게 나온다고 보시면 됩니다.이전 대화 맥락이 있더라도 질문이 동일하면 동일한(비슷한) 문서가 검색되도록 하려면 해당 작업을 처리하는 단계를 추가해주시는 편이 좋습니다. 예를들면 문서 검색 전 질문을 수정해서 같은 내용으로 vector store를 검색하게 하는 방식입니다.1안과 2안 모두 조건부 검색을 하는거라서, LangChain을 활용하시면 if 문을 활용해서 처리가 가능할 것 같고, LangGraph를 활용한다면 conditional_edge로 처리가 가능할 것 같습니다
- 0
- 2
- 25
질문&답변
2.2 강의 질문
오류 내용은 전체를 보내주셔야 확인이 가능할 것 같습니다모델은 어떤 걸 사용해도 상관 없기 때문에 다양한 케이스들을 보여드리는 게 나을거라고 생각했습니다. 일반적으로 현업에서 근무중이신 분들이 강의를 많이 수강하셔서, OpenAI 뿐만 아니라, Claude, Bedrock, Gemini, AzureOpenAI 등등 다양한 모델들을 사용하는 경우들이 많아서 여러 케이스를 보여드리려고 했습니다.OpenAI 대신 AzureOpenAI를 사용하시려면 Azure에서 계정을 발급받고, OpenAI API 사용을 위해 추가로 요청을 보내는 등 귀찮은 절차들이 많아서, 만약 개인적으로 수강하신다면 OpenAI나 Claude처럼 클라우드를 거치지 않고 직접 LLM을 활용하시는 걸 추천 드립니다.
- 0
- 2
- 14
질문&답변
사내 QnA 봇 강의 중 inhouse-python-index 결과
안녕하세요! 늘 좋은 질문 감사합니다. 말씀하신 것처럼 볼 수도 있겠네요. 문제의 근본적인 원인은 질문이 명확하지 않으니 (예산인지, 경비인지) 발생하는 것 같습니다. 조금 더 제대로 에이전트를 개발한다면, 질문을 조금더 명확히 하는 과정을 거치고, 그 이후에 답변을 생성하는게 조금 더 정확도를 높이는 방법인 것 같습니다!
- 0
- 1
- 19
질문&답변
[문의] query에 대한 응답을 못찾을때 해결하는 방안
안녕하세요! 좋은 질문 감사합니다. 그리고 굉장히 좋은 접근 방법입니다. 우리의 문서에 있는 단어와 사용자들이 자주 쓰는 단어가 다르다면, 사전을 만들어서 해당 단어를 치환해 주는 방식이 가장 편리합니다. 말씀하신 직장인 -> 거주자, 사람 -> 거주자, 누군가 -> 거주자 이런 식으로 치환을 해도 되고 (LLM을 호출하지 않고 regex기반으로 처리한다면 토큰비용이 저감되고 속도가 훨씬 빠르겠죠) 아니면 node를 하나 추가해서, "사람을 뜻하는 단어를 모두 거주자로 바꿔달라"라는 작업을 해도 됩니다. 이것 역시 간단한 작업이라고 판단되면 작은 모델을 사용해서 저렴한 비용과 빠른 연산으로 해당 작업을 처리할 수도 있습니다.
- 0
- 2
- 17
질문&답변
프로젝트 조언 요청드립니다.
안녕하세요! 커리어 관한 조언은 다양한 분들의 의견을 들어보시고 종합적으로 판단하시는 걸 추천 드립니다.저는 주니어/신입 개발자가 어떤 프로젝트를 했느냐 보다는, 프로젝트를 진행할 때 어떤 고민을 했느냐를 더 우선적으로 고려합니다. 프로젝트를 한다 를 서비스를 만든다 라는 개념과 유사하다고 보는데요, 그렇다면 토스나 당근, 인프런과 같이 누구나 아는 서비스를 만든게 아니라면 "어떤"서비스를 만들었느냐는 중요하지 않습니다. 해당 서비스를 만들고 운영하면서 엔지니어로서 어떤 고민을 했는지가 훨씬 더 중요하다고 생각합니다.그래서 프로젝트를 선정하실 때는 "이런게 주목을 받겠지"도 좋지만, 관심있는 프로젝트를 선정해서 진행해보시고, 그 프로젝트를 최대한 잘 하려고 노력해보시는 걸 추천합니다. 어떤 항목들을 고려하는게 이 서비스를 안정적으로 운영하는데 도움이 될지, 어떤 Edge case들을 고려하는게 좋을지 등등을 고민해보시는게 더 좋을 것 같아요. 좋은 결정 내리셔서 좋은 방향으로 나아가시면 좋겠습니다!
- 0
- 1
- 29
질문&답변
vscode jupyter 연결 오류
안녕하세요! 음.. 사실 저는 처음보는 에러인데요, ipykernel을 다시 설치하시고 노트북을 구동해보시거나, 가상환경을 다시 구성하는 것이 가장 빠른 해결책(?)이지 않을까 생각합니다.
- 0
- 2
- 36
질문&답변
Adaptive RAG vs Multi-agent
안녕하세요, 좋은 질문 감사합니다.AdaptiveRAG의 경우에는, 단일 agent가 RAG를 구현할 때, 문서를 잘 가져오기 위한 안전장치를 추가하면서 retrieval의 효율을 높이는 방법이고, Multi Agent는 다양한 task를 처리하는 여러 Agent들을 활용하는 방법입니다.저는 task가 간단하다면 토큰 비용과 답변 생성 시간을 줄이기 위해서 Adaptive RAG방식을 취하는 것을 선호합니다. 아무래도 multi agent의 경우에는 여러 에이전트가 소통을 하다보니, 소통을 관제하는 supervisor가 추가돼서 토큰이나 답변 생성에 추가로 시간이 소요되기 때문입니다. 다만 정답은 없고, 각각의 use case에 맞게 가장 효율이 잘 나오는 방법을 선택하는 것이 지금 상황에서는 가장 좋은 것 같습니다. multi agent가 토큰 사용량이나 비용이 더 발생하긴 하지만, 기술이 점점 발전하면서 해결될 문제이기 때문에, 오히려 확장성을 고려하면 처음부터 multi agent로 방향을 잡는게 더 좋은 방법일 수도 있습니다.
- 0
- 1
- 22
질문&답변
모든 사용자가 "abc123" 세션 공유 문제
네 맞습니다. 강의에서는 별도의 사용자가 없으니 고정값을 사용했지만, 실제로 서비스를 배포해서 운영하신다면 사용자별이 아닌 각 대화별로 세션을 부여해서 대화 이력을 관리하셔야 합니다.
- 0
- 1
- 36
질문&답변
파라미터 힌트질문
안녕하세요! 질문은 아무거나 올려주셔도 됩니다 ㅎㅎ 커리어 고민을 올려주시는 분들도 종종 있으시고, 회사 프로젝트 고민을 올려주시는 분들도 있으십니다. 제가 별도의 소통 창구가 없어서 질문을 편하게 사용해주시면 됩니다 말씀하시는 익스텐션은 아마 pylance인 것 같아요. 한번 설치해보시고 생각하셨던게 아니면 저도 조금 더 찾아봐야 할 것 같습니다!https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance
- 0
- 2
- 38






