묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
안녕하세요.
안녕하세요.기획자로 일하고 있는 직장인입니다. 강의를 듣던중 갑자기 궁금한 것이 있는데,강사님께서 Claude Code대신 Cursor를 이용하시는 이유를 여쭤볼 수 있을까요? 감사합니다.
-
해결됨대세는 바이브 코딩과 MCP_Cursor AI로 시작하기
질문 "npm run dev" 실행 오류
"npm run dev" 실행 하면 스크린샷 같이 오류가 납니다.next.js 가 정상 설치 되지 않았는지요 ?
-
해결됨대세는 바이브 코딩과 MCP_Cursor AI로 시작하기
질문 "Open from Terminal"
"Open from Terminal" -> Install 을 클릭하였으나, 아무런 액션이 나오지 않아 그대로 컨티뉴 했습니다.추가로 설치 가능한 방법이 있는지요 ?또는 강의 따라감에 install 하지 않아도 영향이 없을지요 ? 감사합니다.
-
미해결[Sionic MCP 시리즈 1] Model Context Protocol 을 이용하여 IntelliJ 와 코딩해보자!
cluade에 jetbrains 추가했는데 failed 떳을때 해결방법 공유!!
mcp-server가 node.js 기반인데 제가 node.js를 안깔아서 생긴 문제였습니다ㅠ참고하시면 좋을거같아요!
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
키워드 사전 강의
안녕하세요 강의 7분 30초 쯤에 키워드 사전을 통해서 답변의 퀄리티를 높힌다고 하셨는데 그 강의가 RAG를 활용한 LLM Application 개발 (feat. LangChain) 일까요??
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.2 PDF 전처리 강의에서 문의가 있습니다.
강의에서 구성한 그래프를 보면 retriever로 조회한 document들을 그대로 context로 넣는것으로 보이는데요.여기에서 document의 page_content만 추출하는 과정은 필요 없나요?lang smith를 보면 아래와 같이 프롬프트가 구성되어있는데 page_content만 넣도록 해야하는것이 아닌가 의문이 들었습니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
2.2 PDF 전처리 > PDF Loader
안녕하세요.강의에선 zeorx로 PDF -> Markdown 변환 후 UnstructuredMarkdownLoader로 split해서 document chunk를 얻는데요 혹시 UnstructuredPDFLoader를 통해서 한번에 load_and_split 하는것과는 어떤 차이가 있을까요? UnstructuredLoader에서 요구하는 것이 패키지 외에도 pdf2image 모듈등이 있는것 같아서 실제로 시도해보지는 못했습니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
LlamaIndex
혹시 LlamaIndex 관련한 강의는 없는지 또는 계획은 없으신지 궁금합니다
-
해결됨Spring AI 실전 가이드: RAG 챗봇 만들기
해당 내용을 공부하며 블로그에 포스팅 해도 될까요?
해당 내용을 공부하며 출처를 남기고 블로그에 포스팅 해도 될까요?그리고, 지금 날짜로는 무료 크레딧이 18달러 제공 되는 걸로 보이는데 적용이 안되는지 0달러로 떠서 429 반환으로 막혔다가, 5달러 결제를 하니 진행이 되네요 ㅠㅠ무료 크레딧은 자동으로 등록되는건데 에러였던건지, 어떤 과정을 거쳐서 무료 크레딧을 등록해야하는건지에 대한 내용도 있었으면 좋겠습니다.
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
PDF 청킹 문의
안녕하세요. 강의 잘 수강하고 있습니다.자체적으로 텍스트, 표, 시계열꺽은선그래프로 주로 구성된 pdf를 임베딩해서 RAG 기반의 LLM 서비스를 만들어 보고 싶은데요표의 경우는 md 파일을 txt로 변환해서 저장하는 방법을 잘 알려주셨습니다만, 혹시 꺾은선그래프를 이미지처럼 저장해서 서비스에 활용할 수 있는 방법이 있을까요? 참고할만한 기술이나 좋은 아이디어 있으면 공유 혹은 조언해주시면 감사하겠습니다.
-
해결됨Claude + IntelliJ로 TodoList 개발하기 - MCP 완전 정복
클로드 설정 변경해도 mcp 서버 연결이 되지 않습니다.
위와같이 설정 저장후 재시작 하면 서버 연결 실패가 뜹니다. 원인을 알 수 있을까요? intellij랑 클로드는 최신 버전입니다.
-
해결됨대세는 바이브 코딩과 MCP_Cursor AI로 시작하기
token 비용에 대해서
Cursor AI를 제대로 활용하기 위한 핵심정리에서 설명하신 OpenAI의 모델별 비용을 해당 docs에서 확인이 가능하고 설명하신 내용도 이해가 됩니다.하지만 Cursor를 유료로 사용하는 입장에서는 이와 같은 사항에 대해서는 따로 신경을 쓰지 않아도 되는게 아닌가요? Pricing | Cursor - The AI Code Editorcursor.com 의 pricing 정책 비교를 봐도 모델별로 약간의 제한이 있다고 하지만 pro plan만 들어가도 비용에 대해서는 걱정을 안해도 될거라고 생각을 하는데 제가 잘못알고 있는건가요?
-
미해결Spring AI 실전 가이드: RAG 챗봇 만들기
1
1
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
커널 재실행 후 Run all 할 경우 에러
커널 재실행 직후 run all 하면 토큰 수 제한 에러가 뜹니다. 다시 run all하면 잘 실행되구요. websearch 후 generate의 query 찍어보면 토큰 수 제한 걸릴일이 없는 문장인데 왜이럴까요? websearch 후 generate의 query 값이 "쿼리입니다 === " 이 부분입니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
create_react_agent, retriever요약 문제점
안녕하십니까 선생님 강의 잘 듣고있습니다.만약 create_react_agent에 tool이 vectordb retriever를 수행 할 때 retriever의 문서의 내용이 너무 많은 context를 가지고 있다면 llm이 리트리버한 결과를 바탕으로 질문에 대한 답변을 하지 않고 리트리버 문서를 요약해서 답변으로 출력합니다. 왜 그런건지 궁금합니다. from langgraph.prebuilt import create_react_agent @tool def retriever_tool(query: str)->List[Document]: """ 이 도구는 HR 데이터베이스에서 정보를 검색합니다. """ return retriever.invoke(query) tools = [retriever_tool] research_agent = create_react_agent( model = llm, tools = tools, prompt=(""), )
-
미해결[Sionic MCP 시리즈 1] Model Context Protocol 을 이용하여 IntelliJ 와 코딩해보자!
mcp server가 인텔리제이 플러그인에 안나오는데 어떻게 해야하나요?
mcp server가 인텔리제이 플러그인에 안나오는데 어떻게 해야하나요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
Agent로 리눅스 제어
안녕하세요 강의 잘 보고있습니다. 에이전트 구현 관련해서 강의 외적으로 몇가지 질문드립니다. 에이전트를 리눅스 호스트에서 구동하며 ShellTool, PlayWright 등을 활용해서 원래 사람이 직접 리눅스와 소통하며 수행해야 했을 동작들을 에이전트로 대체하고자 합니다. 이와 관련된 좋은 Practice Example이 있을까요?에이전트를 여러 시나리오에 대응할 수 있도록 여러 Sub StateGraph로 나누어 작업한 후에 이들을 하나의 에이전트로 합치는 구조를 생각하고 있습니다. 혹시 이렇게 될 경우 State가 Subgraph 마다 다른 것과, 메모리 등에 대해서 정확한 그림이 그려지지 않는데 이를 해결하기 위해 혹시 효과적인 설명이나 예시가 있을까요?
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
agent가 tool을 선택하는 방법?
from langchain_core.messages import HumanMessage from langgraph.prebuilt import create_react_agent from langchain_mcp_adapters.client import MultiServerMCPClient async with MultiServerMCPClient( { "house_tax": { "command": "python", "args": ["./mcp_stdio_server.py"], "transport": "stdio", }, } ) as client: ##### AGENT ##### tool_list = client.get_tools() agent = create_react_agent(llm, tool_list) query = '5억짜리 집 1채, 10억짜리 집 1채, 20억짜리 집 1채를 가지고 있을 때 세금을 얼마나 내나요?' system_prompt = client.get_prompt(server_name="house_tax", prompt_name="house_tax_system_prompt", arguments={}) messages = await system_prompt + [HumanMessage(content=query)] print("=====RESPONSE=====") stream_generator = agent.astream({'messages': messages}) all_chunks = await process_stream(stream_generator) if all_chunks: final_result = all_chunks[-1] print("\nFinal result:", final_result)안녕하세요, mcp 쪽 공부하다가 궁금한 점이 생겨서 질문드립니다. MultiServerMCPClient를 이용해서 react_agent를 생성하면, query에 적합한 tool들을 알아서 선별해서 query가 요청하는 태스크를 실행해주는 방식이란 점은 잘 이해가 됩니다. 하지만, 어떤 방식으로 tool들의 메타 정보(description, 필수 argument 정보)등을 가져오고 인식하는 지 공식 문서로 정리된 점이 있나요? 강의 자료에서는 local python 파일을 이용해서 tool을 등록했지만, 아래의 방식처럼 smithery를 통해 tool을 등록하는 방법도 있는 것으로 알고 있습니다. 이렇게 tool을 등록하는 방식이 다양한데 MultiServerMCPClient가 어떤 식으로 tool들의 정보와 사용법에 대한 정보를 얻어서, 태스크에 적절한 tool들을 할당할 수 있는 지에 대해 여쭤보고 싶습니다"Gmail": { "transport": "sse", "enabled": True, "command": "npx", "args": [ "-y", "supergateway", "--sse", "https://" ], https://github.com/langchain-ai/langchain-mcp-adapters/tree/main 에서 MultiServerMCPClient 코드들을 조회해봤을 때 get_prompt나 get_resources가 있는 것으로 보아 분명 '어떠한 방식'으로 등록하려는 도구들에 대한 메타 정보를 가져오는 것 같은데 그 '어떠한 방식'을 구체적으로 알고 싶습니다
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
멀티턴, MemorySaver,MessagesState 질문 입니다
안녕하세요 강의 보다가 헷갈리는 부분이 있어서 질문드립니다 질문1. 3.3 LangGraph에서 도구(tool) 활용 방법아래 agent 함수는 여러번 호출되는데 리턴하는 부분에서 새로운 배열을 만드는것 처럼 보이지만 add_messages에 의해 자동으로 누적되어 멀티턴 대화가 된다고 이해하면 맞을까요? def agent(state: MessagesState) -> MessagesState: """ 에이전트 함수는 주어진 상태에서 메시지를 가져와 LLM과 도구를 사용하여 응답 메시지를 생성합니다. Args: state (MessagesState): 메시지 상태를 포함하는 state. Returns: MessagesState: 응답 메시지를 포함하는 새로운 state. """ # 상태에서 메시지를 추출합니다. messages = state['messages'] # LLM과 도구를 사용하여 메시지를 처리하고 응답을 생성합니다. response = llm_with_tools.invoke(messages) # 응답 메시지를 새로운 상태로 반환합니다. return {'messages': [response]} 질문2. 3.5 Agent의 히스토리를 관리하는 방법MemorySaver()의 목적은 주피터 노트북 각 블록을 사용하는데 있어 그 전에 실행해서 얻은 message를 메모리에 저장후 다음 요청 (update_query)에 반영하기 위해 사용된게 맞을까요?
-
미해결LangGraph를 활용한 AI Agent 개발 (feat. MCP)
새로운 메시지에 summary 추적 질문드립니다.
from langchain_core.messages import SystemMessage def agent(state: AgentState) -> AgentState: """ 주어진 `state`에서 메시지를 가져와 LLM과 도구를 사용하여 응답 메시지를 생성합니다. Args: state (AgentState): 메시지 기록과 요약을 포함하는 state. Returns: MessagesState: 응답 메시지를 포함하는 새로운 state. """ # 메시지와 요약을 state에서 가져옵니다. messages = state['messages'] summary = state['summary'] # 요약이 비어있지 않으면, 요약을 메시지 앞에 추가합니다. if summary != '': messages = [SystemMessage(content=f'Here is the summary of the earlier conversation: {summary}')] + messages # LLM과 도구를 사용하여 메시지에 대한 응답을 생성합니다. response = llm_with_tools.invoke(messages) # 응답 메시지를 포함하는 새로운 state를 반환합니다. return {'messages': [response]}부분에summary = state['summary']agent시작하자마자 summary를 넣게되는데 해당 소스부분은 몇 번을 질문해도 처음에는 빈값이 들어가는게 맞나요?summary를 연속질문에 처음 시작 부터 적용하기 위해서는 아래처럼 session정보를 받아서 처리해야하는지 궁금합니다.from langchain_core.messages import HumanMessage query = '안녕' for chunk in graph.stream({'messages': [HumanMessage(query)], 'summary': graph.get_state(config).values['summary']}, config=config, stream_mode='values'): chunk['messages'][-1].pretty_print()