inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

종합부동산세 부분 tool 사용 질문 드립니다.

미해결

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

from langchain_core.messages import HumanMessage query = '집이 15억일때 종합부동산세를 계산해주세요' for chunk in graph.stream({"messages": [HumanMessage(query)]}, stream_mode='values'): chunk['messages'][-1].pretty_print() from langchain_core.tools import create_retriever_tool from pinecone import Pinecone from langchain_openai import OpenAIEmbeddings import dotenv from langchain_pinecone import PineconeVectorStore dotenv.load_dotenv() index_name = "real-estate-tax" embeddings = OpenAIEmbeddings(model='text-embedding-3-large') vectorstore = PineconeVectorStore(index_name=index_name, embedding=embeddings) retriever = vectorstore.as_retriever(search_kwargs={'k':5}) retriever_tool = create_retriever_tool(retriever= retriever, name="real_estate_tax_retriever", description="Contains information about real estate tax. if you have any questions about real estate tax, use this tool.") ================================ Human Message ================================= 집이 15억일때 종합부동산세를 계산해주세요 ================================== Ai Message ================================== Tool Calls: real_estate_tax_retriever (call_LiPlj4OGqlAzP2PsssaZTVsc) Call ID: call_LiPlj4OGqlAzP2PsssaZTVsc Args: query: 15억 종합부동산세 ================================= Tool Message ================================= Name: real_estate_tax_retriever 납세의무자가 3주택 이상을 소유한 경우 | 과세표준 | 세율 | | ------------------- | -------------------------------------------------------------------- | | 3억원 이하 | 1천분의 5 | | 3억원 초과 6억원 이하 | 150만원+(3억 원을 초과하는 금액의 1천분의 7) | | 6억원 초과 12억원 이하 | 360만원+(6억원을 초과하는 금액의 1천분의 10) | | 12억원 초과 25억원 이하 | 960만원+(12억원을 초과하는 금액의 20) | | 25억원 초과 50억원 이하 | 3천 560만원+(25억원을 초과하는 금액의 30) | | 50억원 초과 94억원 이하 | 1억 1천60만원+(50억원을 초과하는 금액의 40) | | 94억원 초과 | 2억 8천 660만원+(94억원을 초과하는 금액의 1천분의 50) | ``` --- [Section: Page 4-6] --- ... - 9,600,000 + 600,000 = 10,200,000 따라서, 15억 원의 집에 대한 종합부동산세는 1,020만 원 입니다. 안녕하세요, 선생님 강의 마지막 쯤 create_retriever_tool 부분에서 강의 대로 쭉 그대로 진행했는데 이 tool 이 pdf 에서 병렬로 자료를 검색해서 가져오지 못하고 ( 과세표준, 공정시장가액비율, 1세대 1주택 여부 등) 오직 종합부동산세 표 '한개만' 가져옵니다. 왜 여러 정보를 검색을 못할까요...?ㅠ -------------gemini 검색결과입니다------- 병렬 리트리빙 부재: create_retriever_tool 은 기본적으로 "질문 1개 -> 검색 1번" 구조입니다. AI가 스스로 "세율도 모르고, 공정시장가액비율도 모르네? 추가로 검색해야지!"라고 생각하게 만드는 추론(Reasoning) 루프 가 약한 상태입니다 AI의 오판: 리트리버가 준 결과물(제8항 세대 정의, 제9항 공시가격 정의 등)은 실제 계산에 필요한 세율표나 공정시장가액비율 이 아닌, 용어 정리 수준의 파편화된 정보였습니다. 그런데 AI는 이 정보를 보고 "아, 더 이상 찾을 게 없나 보다" 혹은 "내가 아는 지식으로 대충 계산해야지"라고 판단하고 1560만원이라는 (부정확할 확률이 높은) 결론을 내버린 것입니다.

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
  • mcp
Stanley Choi 댓글 2 좋아요 0 조회수 105

hiding 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

하이딩과 static, 상속 관련해서 질문이 있습니다. 일반적인 상속 상황을 가정할 때 부모, 자식에게 둘 다 있는 메서드(즉, 오버라이딩): 자식꺼 사용 부모, 자식에게 둘 다 있는 static 메서드: 부모꺼 사용 부모, 자식에게 둘 다 있는 변수: 객체의 자료형(Parent p = new Child();의 경우 Parent의 변수 사용, Child c = mew Child();의 경우 Child의 변수 사용)에 맞는 변수 사용 이 맞을까요?

  • python
  • java
  • c
  • 정보처리기사
준상 댓글 2 좋아요 0 조회수 102

매서드 참조값 반환??

미해결

김영한의 실전 자바 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. '클래스 도입'이라는 강의 16:25 쯤 강사님이 "마치 method을 호출하고 반환한 것처럼 끝나고 나면 참조값을 딱 반환합니다. " 라고 하셨는데 매서드를 호출하고 반환할 때 원래 위치로 돌아가는 것이 참조값을 반환해서 라고 이해하면 될까요? 무슨 말인지 잘 이해가 안 됩니다.

  • java
  • 객체지향
dongkdc 댓글 1 좋아요 0 조회수 102

모니터와 synchronized, ReentrantLock, 원자적연산 CAS관련해서 추가적으로 더 깊게 공부했는데 제가 이해한 것이 맞나요??

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

운영체제 관점의 실제 모니터 명세는 조건변수를 추가할 수 있습니다. synchronized는 자바가 구현한 모니터인데 조건변수의 추가가 불가능해서 생산자 소비자 문제를 해결할 수 없습니다. ReentrantLock은 자체적으로 구현한 락을 사용하지만 그 락의 구현은 실제 조건변수를 추가할 수 있는 모니터의 명세를 따르고 있어 모니터를 구현했다고 할 수 있습니다. 모니터는 CAS를 내부적으로 사용합니다. CAS를 반복문으로 돌리며 바쁜대기를 하거나 Park로 락을 획득하고 반환합니다. 원자적 연산도 CAS를 구현하지만 단순 속도가 synchronized와 ReentrantLock보다 더 빠른 이유는 락의 존재 유무입니다. 혹시 제가 이해한 내용들이 맞을까요?? 현재 81강까지 들었습니다!

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
정재익 댓글 1 좋아요 0 조회수 132

아스키코드 기출

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

18:30에서 printf("%s\n", *p + 1); 을 해도 OREA가 나오나요?

  • python
  • java
  • c
  • 정보처리기사
dlawltn52 댓글 2 좋아요 0 조회수 92

상품 등록후 H2 db 출력 순서 바꿀 수 있나요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 영상에선 정렬되서 나오는데 제 DB에서는 price부터 나오네요 코드 에러는 없고 넣으면 들어가는데 보기좋게 정렬되게 만들고 싶은데 어떻게 해야할까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
박혁진 댓글 1 좋아요 0 조회수 82

포인터

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

**a = &b 와 *a = b 가 같은 말이라고 생각해도 되나요?

  • python
  • java
  • c
  • 정보처리기사
dlawltn52 댓글 2 좋아요 0 조회수 125

코딩테스트를 위한 JAVA 질문 있습니다!

미해결

2026 코딩테스트 올인원 [JAVA]

학습을 위해 사전 공부를 하려고 하는데 질문이 있습니다. 혹시 노션 공유해주신 "코딩테스트를 위한 JAVA"의 모든 내용을 읽고 이해만 할 수 있을 정도일 때 강의를 들어야 하는지, 문제가 나오면 바로 쓸 수 있을 정도가 되어야 하는지 문의 드립니다.

  • java
  • 코딩-테스트
  • 알고리즘
  • data-structure
안재윤 댓글 1 좋아요 0 조회수 124

SpringBoot4 + Hibernate7 모듈 등록 방법 공유

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 현재 최신 버전인 SpringBoot4 + Hibernate7 을 사용해서 강의를 듣고 있습니다. 이 버전에서는 (Hibernate 모듈 등록 X + 프록시 직접 초기화 X] 상태에서 API 응답으로 엔티티를 곧바로 반환하게 되면, 강의 내용처럼 오류(예외)가 나지 않고, Jackson이 json을 만드는 과정에서 getter 등을 호출해서 프록시 객체들을 자동으로 초기화(로딩)시키는 것처럼 보이네요. 응답 결과에서도 모두 출력되고요 (물론, @JsonIgnore 없으면 무한루프는 발생) 그래서 강의 내용처럼 오류가 나도록 하는 방법을 한참 찾다가 현재 버전에서 Hibernate 모듈을 등록하는 방법을 발견해서 공유해봅니다. (메뉴얼에도 없길래) [등록 방법] 1. 라이브러리 등록 implementation 'tools.jackson.datatype:jackson-datatype-hibernate7' 2. 빈 등록 @Bean public Hibernate7Module hibernate7Module() { Hibernate7Module module = new Hibernate7Module(); // module.configure(Hibernate7Module.Feature.FORCE_LAZY_LOADING, true); return module; }

  • java
  • spring
  • spring-boot
  • jpa
김민석 댓글 1 좋아요 2 조회수 133

33:02 에 나온 문제 질문입니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

33:02에 나온 문제에서 만약에 a와 b도 같이 출력하라고 할 경우 a가 5, b가 9일때까지 돌린다음 조건문 빠져나와서 한 번 더 1과 2씩 더한 값인 6과 11을 적어야 하나요?

  • python
  • java
  • c
백인혁 댓글 2 좋아요 0 조회수 92

15:38

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

정적메서드는 인스턴스 변수에 접근못한다고햇는데 int size 를 부르면 에러가 나야하는거 아닌가요..? 영상을 세번이나 돌려봤는데 어떨때 에러가 나는건지 이해가 잘안가요…

  • python
  • java
  • c
  • 정보처리기사
김희윤 댓글 2 좋아요 0 조회수 94

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. ============================= 안녕하세요. Spring Data JPA에서 연관관계 필드에 대한 exists 메서드 사용 시, 아래 두 방식 중 어떤 방식이 더 적절한지 궁금합니다. ProjectMember 엔티티는 아래처럼 Project , User 와 연관되어 있습니다. public class ProjectMember { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id", nullable = false) private Project project; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; } 사용자가 특정 프로젝트에 포함되어 있는지 확인하려고 할 때, 아래 두 가지 방식을 테스트해봤습니다. 1. 식별자 사용 : boolean existsBy UserId And ProjectId (Long userId, Long projectId) 단점: 이 메서드를 실행하면, project_members 테이블에 user_id , project_id FK가 있음에도 불구하고 users , projects 테이블과 불필요한 left join이 발생 했습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 left join users u1_0 on u1_ 0.id = pm1_0.user_id left join projects p1_0 on p1_ 0.id = pm1_0.project_id where u1_ 0.id = ? and p1_ 0.id = ? fetch first ? rows only; 2. 엔티티 사용 : boolean existsBy User And Project (User user, Project project) 장점: 이 경우에는 조인 없이 where 절에서 FK 컬럼으로 조회 되었습니다. 단점: 하지만, 이 메서드를 사용하려면 서비스에서 userId, projectId 를 이용하여 User와 Project를 추가로 조회 해야 한다는 단점이 있습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 where pm1_0.user_id = ? and pm1_0.project_id = ? fetch first ? rows only; 결론: 이 경우 두 방식 중 어떤 것을 사용하는 것이 더 좋은 선택인가요?

  • java
  • spring
  • spring-boot
  • jpa
치즈볼 댓글 1 좋아요 0 조회수 98

수업노트

해결됨

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

수업노트에 뭐라고 작성하신건가요? 파일이 깨진건지 핵심 문장이 안보여요

  • java
  • kotlin
  • 객체지향
화를참자 댓글 1 좋아요 0 조회수 86

existsByUserIdAndProjectId vs existsByUserAndProject 중 어떤 방식이 적절할까요?

미해결

실전! 스프링 데이터 JPA

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. ============================== 안녕하세요. Spring Data JPA에서 연관관계 필드에 대한 exists 메서드 사용 시, 아래 두 방식 중 어떤 방식이 더 적절한지 궁금합니다. ProjectMember 엔티티는 아래처럼 Project , User 와 연관되어 있습니다. public class ProjectMember { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "project_id", nullable = false) private Project project; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; } 사용자가 특정 프로젝트에 포함되어 있는지 확인하려고 할 때, 아래 두 가지 방식을 테스트해봤습니다. 1. 식별자 사용 : boolean existsBy UserId And ProjectId (Long userId, Long projectId) 단점: 이 메서드를 실행하면, project_members 테이블에 user_id , project_id FK가 있음에도 불구하고 users , projects 테이블과 불필요한 left join이 발생 했습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 left join users u1_0 on u1_ 0.id = pm1_0.user_id left join projects p1_0 on p1_ 0.id = pm1_0.project_id where u1_ 0.id = ? and p1_ 0.id = ? fetch first ? rows only; 2. 엔티티 사용 : boolean existsBy User And Project (User user, Project project) 장점: 이 경우에는 조인 없이 where 절에서 FK 컬럼으로 조회 되었습니다. 단점: 하지만, 이 메서드를 사용하려면 서비스에서 userId, projectId 를 이용하여 User와 Project를 추가로 조회 해야 한다는 단점이 있습니다. 실행 SQL: select pm1_ 0.id from project_members pm1_0 where pm1_0.user_id = ? and pm1_0.project_id = ? fetch first ? rows only; 결론: 이 경우 두 방식 중 어떤 것을 사용하는 것이 더 좋은 선택인가요?

  • java
  • spring
  • spring-boot
  • jpa
댓글 3 좋아요 0 조회수 141

오랜만에 질문 남깁니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

요즘 폰으로 점심시간에 틈틈히 강의 보고있는데 pc로만 질문이 가능해서 못 남겼었습니다ㅠㅠ 이번 질문은 단지 제 개인적인 궁금증인데, 만약 0==NULL 이렇게 비교를 하게되면 참이 되나요? equals 0==NULL이면 참인가요?

  • python
  • java
  • c
  • 정보처리기사
김가현 댓글 2 좋아요 0 조회수 91

JPQL 메소드와 락

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

JPQL 호출 시에 flush가 진행된다고 했는데, @Query 어노테이션이 달린 메소드를 호출하는 서비스 메소드에는 쓰기 락을 걸어두는게 좋을까요?

  • java
  • jpa
dlwnstjr31 댓글 1 좋아요 0 조회수 71

이메일 답장 드래프트 작성 봇 생성에서 에러

미해결

회사에서 바로 쓰는 업무자동화 AI 에이전트 (w. n8n, LangGraph)

이메일 답장 드래프트 작성 봇 생성에서 이메일 히스토리: {{ $json.messages.filter(item => item.snippet) }} 의 message가 에러가 나면서 다음 워크 플로우로 넘어가지 않는데 해결방법을 모르겠습니다. 여러번 돌렸는데, gmail get : thread까지는 잘 돌아가는데, 이메일 답장 작성에서 위와 같이 에러가 생기면서 뒤의 워크플로우가 다 막히는것 같습니다. 이메일A에서 B로 업무 협업 관련해서 메일을 두 번 보냈고, 혹시 히스토리를 생성하게 하려면 이메일 A와 B 사이에 reply와 같이 회신 내역이 있어야 message 안에 snippet이 여러개 존재하는 건가요? 그리고 혹시 여기에서 에러 나면 streamlit이랑 챗봇은 사용 불가하겠죠?

  • n8n
  • 인공지능(ai)
  • langchain
  • langgraph
Star Gu 댓글 2 좋아요 0 조회수 100

외부 api 처리 방안에 대하여 궁금한 점이 있습니다.

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

수업 예시에서는 외부 api가 실패할 경우 스케쥴러를 활용해서 후보정 로직을 통하여 결과적 일관성을 맞추고 있습니다. 만약에 자리를 지정하는 콘서트를 위와 같이 처리할 경우 (예약은 성공, 외부 api는 실패), 후보정 로직이 동작하기 전 다른 예약 시스템에서 해당 자리를 예약한 경우 더욱 큰 문제가 발생할 수 있을 것으로 보입니다. 이러한 경우 (좌석처럼 한정된 자원을 예약하는 경우), 외부 API 실패 시 후보정 로직을 통한 비동기 처리 대신 동기적으로 처리하는 것이 올바른 방식인 것 같은데, 강사님은 어떻게 생각하시는지 궁금합니다!

  • java
  • spring
  • mysql
  • redis
  • 이력서
Gomgomi 댓글 2 좋아요 0 조회수 127

제네릭 반환값 및 파라미터 선언 방식의 변화 <T> T

미해결

김영한의 실전 자바 - 중급 2편

[질문 내용] 안녕하세요. 17강에서 와일드카드 공부 중인데, 갑자기 와일드카드 예시에서 기존에 제네릭 예제에서는 사용하지 않던 문법들이 보여서요. 와일드카드를 쓰지 않는 제네릭 메서드인데도 갑자기 메서드 선언 방식이 바뀐 것 같아요. 왜 기존에는 반환값으로 <T> T 를 적었는데 왜 이번 강의에서는 <T> 만 적는 것인지 모르겠어요. 그리고 이전에는 파라미터로 T t 를 넘겼는데, 왜 지금은 Box<T> box 를 통째로 넘기는 것인지도 이해가 안 가요. static <T> void printGenericV1(Box<T> box) { System.out.println("T = " + box.get()); } 이전 제네릭 강의에서 사용한 방식 public <T> T printAndReturn(T t) { System.out.println("animal.className: " + animal.getClass().getName()); System.out.println("t.className: " + t.getClass().getName()); return t; } 감사합니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
슝슝 댓글 1 좋아요 0 조회수 92

Delivery @OneToOne

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Delivery에 있는 @OneToOne(mappedBy = "delivery", fetch = LAZY) private Order order; 에서 인텔리제이가 fetch = LAZY에 노란줄이 떠서 확인해보니 Specifying FetchType.LAZY for the non-owning side of the @OneToOne association will not affect the loading. The related entity will still be loaded as if the FetchType.EAGER is defined. 이런 메세지가 뜹니다. 찾아보니 Lazy를해도 Eager로 동작한다는 거 같은데.. 실제로 테스트를 해보니 Eager로 동작 하고 있어서 여기에 OneToOne인데 lazy로 동작해도 상관없는걸까요?? 아니면 제가 어떤걸 놓친건지 궁금합니다

  • java
  • jpa
Cola 댓글 1 좋아요 0 조회수 87

인기 태그

인프런 TOP Writers

주간 인기글