inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

supervisor_node에 messages 설명해주세요

해결됨

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

3.7 찐 Multi-Agent System (feat. create_react_agent) 에 구현하신 def supervisor_node안에 messages = [ {"role": "system", "content": system_prompt}, ] + state["messages"] 해당 소스 Message에 system을 이렇게 선언하는게 맞는지 이해가 가질 않습니다. 선생님 설명에서는 analyst_node안에 invoke할 때 supervisor_node안에 넣었던 systemprompt는 불필요해서 아래 소스처럼 result = analyst_chain.invoke({'messages': state['messages'][1:]}) [1:]를 하신다고 설명하셨는데 analyst_node 안에서 state['messages']를 print함수로 확인해 봤더니 systemmessage가 들어있지 않았습니다. messagestatas에 messages에 system메세지를 추가하기 위해서 고민하다 systemMessage를 넣었더니 선생님 설명대로 됐지만 무슨 차이인지 잘 모르겠습니다. 아마 예상하기에는 MessageState가 SystemMessage, AIMessage, HumanMessage 밖에 허용을 안 하는 것 같은데 맞나요? 어떤게 올바른 방법인가요? messages = [ SystemMessage(content=system_prompt), ] + state["messages"]

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
  • mcp
sangin1.park 댓글 2 좋아요 0 조회수 121

scr이 사라져요

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. src가 안떠요 src복사해서 옮겨도 조금 있다가 사라져요 왜 그럴까요

  • java
  • 객체지향
김ㅇㅇ 댓글 2 좋아요 0 조회수 115

테스트코드 실행

해결됨

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

2-10 강의에서 테스트코드? 실행하시는데 실행할 버튼이 없습니다.. 어떻게 하죠..?

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

변경감지 로직이 실행되려면 @Transactional 이 필수인가요?

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Transactional public void updateItem(Long id, String name, int price, int stockQuantity) { Item item = itemRepository.findOne(id); item.setName(name); item.setPrice(price); item.setStockQuantity(stockQuantity); } 여기서 @Transactional 이 없으면 변경감지 로직이 발생하지 않나요? @Transactional 은 두개이상의 쿼리를 하나의 논리적인 단위로 묶어줄때 사용하는 것으로 알고 있는데 이 상황에서도 변경감지를 실행하기 위해 반드시 호출해주어야하나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
바나나 댓글 1 좋아요 0 조회수 92

어떤 상태를 준영속이라하는지 , 준영속 역할이 무엇인지 궁금합니다!

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 준영속이란 한번은 영속상태였지만, 현재는 영속성 컨텍스트의 관리 대상이 아닌 엔티티인데 db 에 저장될떄 pk 가 생기기 떄문에 객체에 식별자가 있으면 무조건 준영속 엔티티인가요? 엔티티매니저에서 꺼내서 Detached되어 식별자가 셋팅되거나 아니면 새로운 객체에 id 값만 셋팅되어 있으면 준영속 상태볼 수 있나요? 왜 준영속 상태는 따로 있나요? 비영속만 있어도 되지않나요? 무슨 이점이 있나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
바나나 댓글 2 좋아요 0 조회수 108

DataOutputStream 의 writeUTF도 블로킹 메서드 인가요?

해결됨

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 복습 중에 질문이 생겼습니다 콘솔 입력 / DataInputStream의 readUTF는 입력을 받은 데이터로 호출한 쓰레드에서 작업을 수행하기 때문에 블로킹 메서드 인 것이 이해가 쉽게 됩니다. 반면 DataOutputStream 의 writeUTF() 메서드는 반환 타입도 void이고(호출한 쓰레드에서 뭘 처리하지 않음), 서버에 메세지를 보내기만 하면 되기 때문에 블로킹 메서드가 아니라고 생각했는데, 막상 검색해보니 블로킹 메서드라고 나와서 이해가 잘 안됩니다. 블로킹 메서드가 맞는 걸까요? 맞다면 왜 블로킹 메서드로 설계된 걸까요

  • java
  • 네트워크
  • 객체지향
ssshhh 댓글 1 좋아요 0 조회수 112

PayStore 예제문제 구체적 설명

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예제문제에 작성한 PayStore 코드에서 1. public abstract class PayStore 에서 abstract를 사용한 구체적인 이유 다른질문답변을 봤는데도 이해가 잘 안갑니다 더 구체적으로 설명해주세요 예시답변>정적 메서드(static method) 사용 이유: static 메서드는 클래스 레벨에서 작동하며, 객체의 인스턴스를 생성하지 않고도 사용할 수 있습니다. 이는 공통적으로 사용되는 유틸리티 메서드나 인스턴스 상태와 무관하게 작동하는 메서드에 적합합니다. PayStore 의 경우 결제 수단을 찾는 공통 기능을 제공하며, 인스턴스 상태와 무관하므로 static 으로 선언하는 것이 적절합니다. 2. public static Pay findPay(String option) 에서 static을 사용한 구체적인 이유 을 알고싶습니다.

  • java
  • 객체지향
Hyunju Lee 댓글 3 좋아요 0 조회수 169

변수 캡쳐 질문

해결됨

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 궁금증이 생겨서 질문을 드립니다. 람다 vs 익명 클래스1 을 공부하다가, 변수지역 캡쳐, 부분이 기억이 안 나서 다시 듣게 되었는데요.(지역 클래스 - 지역 변수 캡쳐3) 공부를 하고 다시 듣다 보니 localVar를 변경할수 있는 방법이 생각이 나더라고요. 그래서 변경이 가능한지 테스트를 해보고, 바꾸어 보았습니다. 바꾸어 보니, 값이 변경 할 수 있다는 사실을 알수 있었습니다.(사진 참조) d 여기서 질문이 생깁니다. 이런식 으로 바꿀 수 있는데, 현업 에서도 이렇게 바꾸는 경우가 있냐요? 답변 부탁 드립니다.

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
생각하는자 댓글 1 좋아요 0 조회수 98

income_tax_collection 폴더와 첨부 파일도 git에 있으면 좋겠습니다

해결됨

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

2.2의 크로마 생성하는 부분, 리트리벌 설정하는 부분에서 계속 에러가 발생하여서 크로마 생성이 잘 안됩니다... 2.3에서는 생성된 크로마 기반으로 이어지는데 진행할수가 없습니다 ㅠㅠ git 에 올려주시면 감사드리겟습니다

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

책과 관련하여 궁금한 게 있습니다.

해결됨

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

기본편 강의 수강을 다 하고 복습 및 좀 더 깊은 이해를 위해 JPA 프로그래밍 책을 구매하였습니다 JPA 로드맵의 각 강의가 책의 어떤 부분과 매핑 되는지 알 수 있을까요? - 기본편 : 책 1~10장 - 활용1 : 책 11장 - 활용2, 스프링 데이터 JPA, Querydsl : ??? 기본편과 활용1 두 강의는 1~11장에 딱 매핑 되는 거 같은데 나머지 강의들은 뭔가 순서가 섞여있는 거 같아서요 "어떤 강의는 책의 어느 장을 봐야 한다" 등의 가이드가 혹시 따로 있을까요?

  • java
  • jpa
조태준 댓글 2 좋아요 0 조회수 96

markdown 스플리터에서 에러발생

해결됨

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

from langchain_community.document_loaders import UnstructuredMarkdownLoader markdown_path = "./documents/income_tax.md" loader = UnstructuredMarkdownLoader(markdown_path) document_list = loader.load_and_split(text_splitter) 위 코드를 주피터에서 실행하였는데 아래와 같은 nltk 에러가 나옵니다.... [nltk_data] Error loading averaged_perceptron_tagger_eng: <urlopen [nltk_data] error [SSL: CERTIFICATE_VERIFY_FAILED] certificate [nltk_data] verify failed: unable to get local issuer certificate [nltk_data] (_ssl.c:1028)> [nltk_data] Error loading punkt_tab: <urlopen error [SSL: [nltk_data] CERTIFICATE_VERIFY_FAILED] certificate verify failed: [nltk_data] unable to get local issuer certificate (_ssl.c:1028)> 몇번을 시도해봐도 같은 에러가 발생하는데 어떻게 해결해야하나요

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
cwk1412 댓글 1 좋아요 0 조회수 148

zerox를 이용한 pdf 파일 전처리 부분

해결됨

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

openai model = gpt-4o-mini 를 사용중입니다. 주피터노트북 실행을 하였는데 아래와 같은 에러코드가 나와서 해결방법 질문을 드립니다 ERROR:root:Error converting PDF to images: Unable to get page count. Is poppler installed and in PATH?

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

uv sync 설치후 vs code 에서 .venv 커널에서 pip 치 오류

해결됨

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

안녕하세요 uv sync 로 해서 패키지 설치후에 vs code로 노트북 커널 설정이 아래와 같은 오류가 나옵니다. 해결방법이 궁금합니다.

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
김재현 댓글 1 좋아요 0 조회수 250

.

해결됨

서버개발자 과제전형 완벽가이드 - 1편

.

  • java
  • spring
  • spring-boot
  • database
zzzzz 댓글 1 좋아요 0 조회수 188

LikeApiTest 에서 질문이 있습니다

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

LikeApiTest 에서 unlike 메서드에 lockType을 추가 하지 않아도 테스트가 깨지지 않은 이유가 궁금한데요.. unlike 메서드에 lockType을 추가하지 않고 api를 호출하면 해당 uri경로가 없지 않나요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
kolla 댓글 2 좋아요 0 조회수 117

도메인 설계에 대한 고민

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] erd 설계를 하다가 스스로 의문이 조금 들어서 질문드립니다. 현재 다음과 같은 앱을 구상하고 있습니다. AI 모델과 연동해서 추천 시스템을 생각 중인데 도메인 설계에 대해서 궁금한 부분이 생겨서 질문드립니다. package forpracticejunbao.junbaoprac_be.recommend.domain; import forpracticejunbao.junbaoprac_be.user.domain.User; import forpracticejunbao.junbaoprac_be.common.util.BaseEntity; import jakarta.persistence.*; import lombok.*; import java.util.ArrayList; import java.util.List; @Table(name = "recommend") @Entity @Getter @NoArgsConstructor @AllArgsConstructor @Builder public class Recommend extends BaseEntity { @Id @Column(name = "recommend_id") @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "user_id", nullable = false) private User user; @OneToMany(mappedBy = "recommend",cascade = CascadeType.ALL, orphanRemoval = true) @Builder.Default private List<RecommendClusterOption> recommendClusterOptions = new ArrayList<>(); @OneToMany(mappedBy = "recommend",cascade = CascadeType.ALL, orphanRemoval = true) @Builder.Default private List<RecommendValueOption> recommendValueOptions = new ArrayList<>(); @OneToMany(mappedBy = "recommend",cascade = CascadeType.ALL, orphanRemoval = true) @Builder.Default private List<RecommendResult> results = new ArrayList<>(); public void updateRecommendClusterOptions(List<RecommendClusterOption> recommendClusterOptions) { if (this.recommendClusterOptions != null) { this.recommendClusterOptions.clear(); this.recommendClusterOptions.addAll(recommendClusterOptions); } else { this.recommendClusterOptions = recommendClusterOptions; } } public void updateRecommendValueOptions(List<RecommendValueOption> recommendValueOptions) { if (this.recommendValueOptions != null) { this.recommendValueOptions.clear(); this.recommendValueOptions.addAll(recommendValueOptions); } else { this.recommendValueOptions = recommendValueOptions; } } } Recommend 클래스를 만들고, ClusterOption(클러스터 선택)과 ValueOption(계절, 요일 등등)을 일대다 다대일로 풀고자 했는데 이 두가지 엔티티가 크게 다르지 않은 것 같아서 그냥 하나로 합치는게 좋을지(그냥 enum으로만 구분) 아니면 의미적으로 좀 다르기 때문에 구분하는게 좋을지 궁금합니다.(클러스터 선택과 계절 선택은 하나만 선택 가능, 나머지는 하나 이상 선택 가능 조건이기에 클러스터와 계절을 도메인으로 묶을지도 살짝 고민이 되는 것 같습니다..) 결과를 RecommendResult로 보여주고자하는데(ai 추천 받은 top 5값에 대한 스팟 정보 제공 목적) 괜찮은 설계일지 궁금합니다. init.sql을 통해 클러스터, 계절, 요일 등 초기값들을 insert 해주고, spot 정보는 csv 파일로 부터 읽어오도록 구현하고 있는데(@PostConstruct, implementation 'com.opencsv:opencsv:5.5' 이용) 실제로 이런 설계에서 초기값을 주입하고 이후 로직 구현하는게 실무적으로 일반적인 방식인지 궁금합니다..! 긴 글 읽어주셔서 감사합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
염경호 댓글 1 좋아요 0 조회수 91

return; 오류

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 메서드 반환 타입 강의 중 MethodReturn2 내용에서 똑같이 한 거 같은데 missing return value 오류 뜹니다. 메서드 [71~73] 강의를 참고하여 매소드에 각 출력문장마다 return age;를 넣어봤더니 정상실행이 됩니다. 질문 1. 강사님께서 하신 내용 그대로 따라한 거 같은데, 오류가 난 이유가 궁금합니다.(인텔리제이 강사님과 같은 버전으로 다운 안돼서 최신버전이긴 한데 이게 원인인지..) 질문 2. 위 첫번째 사진(강의와 같은 코딩)을 예시로 인텔리제이가 return; 을 return age;로 (1번 사진이 2번 사진처럼)알아서 인식하여 모든 메서드에 return; 으로만 작성해도 되는건지 궁금합니다. (현재 메서드 정의 강의 중 [메서드 2] 와 같이 반환타입 없는 경우만 return;으로 사용(생략도 가능)으로 이해한 상태.) ex) 매개변수와 반환타입 있을 경우 -> return 매개변수; 매개변수와 반환타입 없을 경우 -> return;(생략 가능)

  • java
  • 객체지향
김영훈 댓글 2 좋아요 0 조회수 99

new Condition 부분 질문

미해결

자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]

선생님 안녕하세요. 이해가 안되는 부분이 있습니다. 대기 메서드가 호출되면 락이 해제되고, => 대기 메서드가 호출 되면 락이 해제되는 것까지는 이해했습니다. 신호 메서드(notify)가 호출되어 대기 메서드에서 반환하기 전에 스레드는 락을 다시 획득한다. => 이부분이 잘 이해되지 않는데요. 대기 메서드가 호출되면서 락이 해제, 와 동시에 신호 메서드가 호출되어 대기가 다 끝나기전에 (wait) 락을 다시 획득한다는 말인가요? 즉, public wait () { 1. 락 해제 2. 신호 메서드 호출 (notify all) 3. Thread.currentThread -> 락 획득?? } 답변 부탁드립니다! 감사합니다.

  • java
  • 동시성
  • multithread
  • synchronisation
김규영 댓글 1 좋아요 0 조회수 116

빌드 시에 테스트 무한로딩

해결됨

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

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 2-4. 프로젝트 설정하기 14:09에 강의 런칭 시점에는 테스트 모두 통과하도록 변경했습니다. 라고 적혀있는데 테스트에서 무한로딩이 걸리길래 ./gradlew build --info로 띄워 봤습니다. 그래서 보니깐 이 로직이 계속 반복되더라구요 그래서 찾아보니 여기 while문에 계속 걸리는 거 같은데 제가 잘못 세팅한 건가요? 강의 앞전에 bootRun해서 http://localhost:8080/api/chapter2/boards 까지 접속되는 거 확인했고 도커에서 backend-pass-portfolio 컨테이너에 Db-mysql 만 실행된 채로 build눌렀습니다.

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

연봉 5천만원 직장인의 세금이 624만원이 나오는게 맞나요?

해결됨

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

저는 강의를 똑같이 따라해봤는데 쿼리를 연봉 5천만원 직장인의 소득세는? 이라고 했을 때, 강의에서처럼 해당 세율표 수식만 보고 624만원으로 단순계산하는 것이 아니라, 근로소득공제와 과세표준 등등을 계산해서 624만원과 다른 값을 냅니다. 거주자의 소득세로 바꿔도 마찬가지입니다. (이전 강의에서 직장인이 근로소득과 관련이 있어서 잘못된 문서를 가져온다고 하신 내용도 압니다) 하지만 제가 gpt한테 물어보니 다음과 같이 애초에 세율표만을 보고 계산하는 것이 틀렸고, 근로소득을 계산하는 것이 맞다고 말합니다. =============== ✅ 왜 세율표만 보고 계산하면 안 되는가? 이 세율표는 “과세표준”에 적용하는 것이고, 당신이 말한 “연봉 5천만 원”은 ‘총급여액’이기 때문입니다. 즉, 소득세율을 적용하려면 반드시 다음 절차를 따라야 해요: 📌 세금 계산 절차 요약 (2025년 근로소득자 기준): 총급여액: 연봉 5,000만 원 근로소득공제 적용 → 근로소득금액 산출 인적공제·연금보험료공제 등 → 과세표준 산출 과세표준에 소득세율표 적용 산출세액에서 세액공제 (근로소득세액공제 등) 적용 → 결정세액 =================== 결론적으로 제가 소득세에 대해 잘 몰라서 gpt가 말한게 할루시네이션일 수 있지만, 만약 gpt처럼 실제로 근로소득금액을 산출해서 소득세를 계산하는게 맞을 경우, 강의에 있는 llm이 모두 틀린 답변을 내놓은 것 아닌가요? 만약 강의처럼 연봉 5천만원의 직장인 혹은 거주자의 소득세가 표만 보고 단순 계산하여 624만원인 것이 맞을 경우, 제가 어떤 과정을 더 해야할 지 모르겠습니다.. 계속해서 근로소득공제를 계산합니다. 거주자로 쿼리를 바꿔도요.

  • 프롬프트엔지니어링
  • langgraph
kkhs1kim 댓글 2 좋아요 0 조회수 542

인기 태그

인프런 TOP Writers

주간 인기글