묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
3.3 langgraph 의 tool 호출 관련 질문
안녕하세요. 해당 챕터에서 강의 내용과 실행 결과 간 매치가 잘 안되는 듯 느껴져 문의드립니다.from langchain_core.messages import HumanMessage for chunk in graph.stream({'messages': [HumanMessage('3에다 5를 더하고 거기에 8을 곱하면?')]}, stream_mode='values'): chunk['messages'][-1].pretty_print()강의 화면에서 위와 같은 query 에 대해 노드 단위로 출력한 결과를 보면, 첫 번째 Ai Message 는 Tool Calls 로 add 과 multiply 두 툴에 대한 요청을 함께 생성하고 다음 Tool Message 로 multiply 의 결과 64 를 반환, 두 번째 Ai Message 는 Tool Calls 로 multiply 만 생성하고 다음 Tool Message 로 결과 64를 반환하고 있습니다.근데 강의에서는 첫 번째 Ai Message 에 대해 "먼저 덧셈을 실시합니다. 그러니까 multiply(?) 라는 툴이 64를 주고, 근데 task 가 두 개니까 task 에서 도구 호출을 또 하는 겁니다. 그런 다음에 64라는 답이 나오고..." 라고 녹화되어 있는데... 이게 무슨 얘기인지 잘 와닿지가 않네요..녹화 당시의 실행 결과와 상관없이 add 한 번 호출 후 multiply 한 번 호출에 대한 설명인 걸까요? 아니면 병렬 도구 호출에 대한 설명인 걸까요? 감사합니다.
-
해결됨회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
데이터 전처리 작업을 진행할 때는 어떠한 워크플로우로 진행하나요?
현업에서 보통 n8n 워크플로우를 Python 노드로 어느 정도 수준까지 전처리를 진행하나요? Python 환경과 n8n 환경을 sync를 맞춰서 연동하는 좋은 꿀팁 혹은 구조가 있는지 궁금합니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
데이터 전처리 작업 구성관련 질문
안녕하세요!!n8n으로 데이터 자동화 워크플로를 만들고 있는데데이터 전처리 작업을 어떻게 구성하는 게 좋을지 고민이 됩니다. 실무에서는 보통 n8n 내부 Python 노드로 어느 정도 수준까지 전처리를 하고복잡한 전처리가 필요한 경우에 외부 Python 환경과 연동하는 좋은 방법이 있을까요?n8n과 Python을 함께 쓰는 효율적인 구조가 있다면 조언 부탁드립니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
병렬처리에서 한부분에서 에러가 나거나하는 경우는 아직 고려하지않아도 되는걸까요?
2.7 병렬 처리를 통한 효율 개선 (feat. 프롬프트 엔지니어링)수업을 보다 생긴 궁금증 질문드립니다.병렬처리 작업 중에 어떤 부분이 에러가 발생하거나 했을때의 처리는 보통 어떻게 하시나요?
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
실무 Text-to-SQL 구현 시 도메인별 모델 분리 vs 통합 모델
실무에서 Text-to-SQL 시스템을 구축하면서 고민이 생겼습니다.현재 상황: 간단한 단일 테이블 조회는 잘 동작하는데, 실제 업무 데이터로 넘어가니 여러 도메인을 JOIN해야 하는 복잡한 쿼리에서 정확도가 많이 떨어집니다.고려 중인 해결 방안: 도메인별로 AI 모델을 분리하는 구조를 생각하고 있습니다. 사용자 질문이 들어오면 라우터가 적절한 도메인 모델로 연결하고, 해당 모델이 쿼리를 생성하는 방식입니다. 이렇게 하면 각 도메인에 특화되어 정확도가 올라갈 것 같습니다.걸림돌: 문제는 여러 도메인(예: A, B, C)의 데이터를 함께 조회해야 하는 경우입니다. 예를 들어 "지난 분기 매출 상위 고객들의 최근 주문 배송 현황"처럼 매출(A), 고객(B), 배송(C) 도메인이 모두 엮인 질문이 들어오면 어떻게 처리해야 할까요?질문:이런 크로스 도메인 쿼리는 실무에서 보통 어떻게 해결하나요?도메인별 분리 구조가 맞는 방향인지, 아니면 전체를 아우르는 통합 모델이 나은지 조언 부탁드립니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
워크플로우와 에이전트 비교 및 앞으로의 방향성에 대한 질문드립니다!
안녕하십니까 강사님! 덕분에 강의 너무 유익하게 잘 들었습니다!강의 들으면서 궁금했던 점을 질문 드립니다.1. 워크플로우와 에이전트 혹은 커스텀 도구 등 선택 기준에 대하여는 명확한 기준이 있다기보다는 성능 비교를 통해 정확도, 토큰 사용량, 시간 등 이러한 지표들을 테스트 해가며 적절한 에이전트 혹은 워크플로우로 구축하면 될까요? 아니면 사용하는 호출 모델을 이해하여 그 모델에 맡게 최적화를 해야할까요? 이러한 부분들이 강의 들으면서 궁금했습니다!2. 학사 졸업생 및 신입으로 프롬포트 엔지니어링 등 이러한 분야로 취업 준비를 한다면 기업들이 원하는 인재상은 어떤지도 궁금합니다! RAG기술을 어느정도 이해하고 구축하며 또 추가적으로 도움될 기술이 있는지 궁긍합니다.수준 높은 강의를 듣게 되어 영광입니다. 앞으로도 강사님의 강의 많이 참고하겠습니다.감사합니다!!
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
openAi api 토큰 소진이나 토큰 제한일때
에이전트를 실행시키는 와중에Open Ai에서 토큰이 모두 소진되거나 제한됬을때개인적으로 알람이 오게하는 서비스는 따로 구축을 해놔야하는건가요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
human-in-the-loop질문드립니다
안녕하세요!human-in-the-loop에 대해서 질문드립니다. 랭그래프에서 워크플로우를 정의할 때,LLM응답 후 reivew 작업을 노드에 추가하여 human-in-the-loop를 구현할 수 있다고 이해하였습니다. 이때, LLM응답이라는 작업이 끝나지 않아도(응답이 stream으로 생성되는 도중에도)사람이 review할 수 있도록 구현할 수 있을까요?생성되던 응답을 일시 정지 시키고,응답 history를 토대로 tool이나 args를 변경시킬수 있을지 궁금합니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
n8n기반 프로젝트 소스코드 히스토리 문서화 모델
프로젝트 소스 코드의 개발 히스토리 또는 문서화를 위해 도움을 줄 수 있는 모델을 생성 할 수 있을까요?코드에 주석을 다는 것이 아닌 개발 중인 프로젝트 코드에 특정 시간 또는 날짜를 기준으로 개발 히스토리를 개별 자동 생성 및 관리화 해서 추후에 개발자가 문서화를 위해 참고 할 수 있는 정보를 얻고 싶어요
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
Webhook 사용 시 AI Agent Memory 동작 관련 질문
안녕하세요 강사님, 강의 잘 보고 있습니다."n8n API와 Streamlit으로 만드는 이메일 작성 봇" 강의 중 9분 04초쯤 AI Agent 노드의 Memory(Simply Memory) 설정 부분에서 질문이 있습니다.강의 초반에는 "When chat message received" 노드를 사용하셨는데, 이 경우 워크플로우가 지속적으로 실행되면서 세션이 유지되므로 AI Agent가 이전 대화 내용을 기억할 수 있습니다.그런데 강의 후반부에서 "When chat message received" 노드를 "Webhook" 노드로 변경하셨습니다(Streamlit 사용을 위해). Webhook을 사용하면 사용자의 각 질문마다 워크플로우가 새롭게 실행되고, 실행이 끝나면 세션이 종료되는 것으로 알고 있습니다.이런 구조에서는 Simple Memory가 각 Webhook 호출 간 대화 내용을 유지하지 못해, AI Agent가 이전 대화를 참고할 수 없는 것 아닌가요?Webhook 방식에서도 대화 맥락을 유지하려면 Simple Memory 대신 Redis Chat Memory나 Postgres Chat Memory 같은 영구 저장소 기반 메모리를 사용해야 하는 것이 맞는지 궁금합니다.감사합니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
supabase vector store 에러 "unsupported Unicode escape sequence 400 Bad Request"
안녕하세요. 강의 잘 듣고 있습니다.강사님 혹시 이런 이슈 만난 적 있으신가요?n8n 에서 pdf 파일을 binary 형식으로 supabase vector store 입력 중 생기는 에러 입니다. 어떤 pdf 파일은 되고 어떤 pdf 파일은 에러 발생으로 멈춥니다.binary 를 json 으로 변경 후 DB table 쪽 jsonb 컬럼에 입력 할 항목 스캔하면 '\x00' 문자들이 몇개 있습니다.python 직접 코딩 streamlit, LangChain 으로 같은 로직, 같은 파일을 supabase vector store로 입력하면 문제 없이 임베딩 처리 후 입력이 됩니다.Issues:Error inserting: unsupported Unicode escape sequence 400 Bad Request
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.4 생성된 답변을 여러번 검증하는 Self-RAG 강의 에서 질문드립니다.
답변이 hallucinated인지 판별하는 노드에서 max_tokens를 100으로 설정했을 때는 올바르게 판단이 됐습니다.그렇다면, 답변의 길이가 너무 길어서 모델이 hallucination 여부를 제대로 판별하지 못했다고 보신 건가요?다만 이런 경우라면, 답변의 길이를 조정하기보다는 hallucination 여부를 판별하는 모델 자체를 조정하는 게 더 적절하지 않을까요?실무 환경에서도 이런 상황이 발생할 수 있을 것 같은데, 보통은 답변 생성 모델을 판별 모델에 맞추는 게 일반적인지,아니면 판별 모델을 답변 생성 모델에 맞추는 게 더 낫다고 보는지 궁금합니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
langGraph를 쓰는 이유
langChain으로도 rewrite generate 이런거 구현이 가능한데 복잡하고 코드가 많이 늘어나고 AI 호출도 많이 일어나니 langGraph를 쓰는거라고 이해했는데 맞을까요?
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
네이버 광고보고서 자동화
안녕하세요 강사님강의 잘보고있습니다. 다름이 아니라, 광고일을 하고있어서n8n으로 네이버대용량보고서 api를 불러온 후, 다운 -> 빅쿼리에 데이터 적재 -> 루커스튜디오시각화위 과정으로 자동화워크플로우를 짜고있는데요,현재 대용량보고서 다운로드 단계에서 막혀서,혹시 이 부분에 대해서 도움을 받을 수 있을지 문의드립니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
가상환경 설정방법 문의
안녕하세요, 가상환경 설정 관련 문의드립니다.아래를 실행하면 가상환경이 실행되지 않습니다.Dayeaui-MacBook-Pro:~ dayeayim$ cd streamlit-finance-newDayeaui-MacBook-Pro:streamlit-finance-new dayeayim$ pyenv local inflearn-streamlit아래 코드를 실행해야만 가상환경이 실행되는데요, 해결방법이 있을까요?export PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH"eval "$(pyenv init -)"eval "$(pyenv virtualenv-init -)"이것저것 시도하다가 zprofile과 zshrc 파일을 수정하고 그랬는데 꼬여버린 것 같습니다. 가이드 부탁드리겠습니다! 감사합니다~
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
should_continue를 통과하며 데이터 전송
노드에게 데이터를 전달하려고 하는데요. from langgraph.graph import START, END graph_builder.add_edge(START, 'order_detection_agent') graph_builder.add_conditional_edges('order_detection_agent', should_continue_user_info, [END, 'parser_agent']) graph_builder.add_edge('parser_agent', END)구조는 이러한데, def order_detection_agent(state: AgentState) -> AgentState: products = get_products() query = state['question'] rag_chain = order_detection_prompt | llm | StrOutputParser() response = rag_chain.invoke({'query': query, 'products': products}) print("order_agent 주문 판단 여부:", response) print(products['products']) if response.strip().lower() == 'true': state['products'] = products['products'] return 'parser_agent', state return {'message': '주문이 아닌 것으로 판단.'}이 노드에서 return 'parser_agent', state이런식으로 노드별로 데이터 전달이 가능한 것은 확인하였습니다. 다만, should_continue를 통과하게 되면 에러가 나는데 should_continue를 통과하여 데이터를 전달할 수는 없나요?
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
노션 파일 업로드가 가능한가요?
안녕하세요. 노션 연동까지 잘 들었습니다.노션 API를 통해 파일을 업로드할 수 있을까요?노션 페이지에 텍스트 작성은 잘 되는데 파일 첨부가 안되네요.레딧 보니까 되는것 같던데, 며칠동안 고민해도 안되네요.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
이전 대화를 기억하고 다시 반환하도록.
안녕하세요 from langchain_core.prompts import PromptTemplate purpose_prompt = PromptTemplate.from_template(""" You are an expert at parsing and extracting delivery addresses and phone numbers from user input. User's input: {query} Instructions: If you can accurately identify both a delivery address and a phone number from the user's input, set the message field to "해당 정보가 맞습니까?" and include the data field with "delivery_address: {{delivery_address}}, phone_number: {{phone_number}}". If only one of the two values (delivery address or phone number) is identified, set the message to request the missing information by saying "배송지를 다시 한 번 입력해주세요." or "연락처를 다시 한 번 입력해주세요." as appropriate. If neither can be identified, set the message to "배송지와 연락처를 다시 한 번 입력해주세요." and return an empty dictionary for the data field. If you have already asked "해당 정보가 맞습니까?" and receive a positive answer from the user (e.g., '맞다', '맞아', 'ㅇㅇ', '네', '예'), set the message to "해당 정보를 저장해두겠습니다." and return to previously parsed delivery address and phone number in the data field as "delivery_address: {{delivery_address}}, phone_number: {{phone_number}}". If you have already asked "해당 정보가 맞습니까?" but the user responds negatively, set the message to "배송지를 다시 한 번 입력해주세요." or "연락처를 다시 한 번 입력해주세요." as appropriate. Return format: {{ "message": {{message}}, "data": {{ "delivery_address": {{delivery_address}}, "phone_number": {{phone_number}} }} }} """) 현재 이런 프롬프트를 사용하고 있습니다. 간단하게, ai와 대화하며 배송지와 연락처 정보를 기억하게 하고 싶은데요. 지금 잘 안되는 부분은 가장 마지막입니다. ai: 이 배송지와, 연락처 정보가 맞습니까? 배송지: ㅂ, 연락처: 3사용자 : 맞아ai: 해당 정보를 저장하겠습니다. 배송지: ㅂ, 연락처: 3 이 부분이 잘 안되고 있는데요. 이전에 대화했던 배송지와 연락처 정보를 못 불러오고 있습니다. 노드나 tool을 사용하지않고 프롬프트로만 해보고 있는데 노드나 tool을 사용해야 할까요? 혹은 적합한 다른 구조가 있을까요?
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
24강 io.UnsupportedOperation: fileno 에러 (stdio MCP 사용)
안녕하세요.Windows, VSC, Jupyter notebook 환경에서 stdio 기반 MCP 서버들을 테스트할 때 아래와 같은 에러가 발생하네요. unix 계열 OS 에서는 발생하지 않는 건가요?io.UnsupportedOperation: fileno.py 파일로 작성해서 실행할 때는 문제 없이 동작합니다.
-
미해결회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)
22. 슬랙봇으로 연결하는 Test-to-SQL 강의, query string newline
안녕하세요.슬랙에 표시될 때 가끔 Query 가 줄바꿈 없이 표시됩니다. query 생성 LLM 이 개행문자 '\n' 없이 출력해 주는 경우가 있네요.대부분은 아래와 같이 표시되지만요.