강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

신원석님의 프로필 이미지
신원석

작성한 질문수

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

2.7 병렬 처리를 통한 효율 개선 (feat. 프롬프트 엔지니어링)

병렬 처리 중 retrieve 관련 궁금한 사항

작성

·

24

0

안녕하세요~ 강의 정말 재밌게 잘 듣고 있습니다!!

2.7 병렬 처리를 통한 효율 개선

강의의

tax_rate_calculation_prompt = ChatPromptTemplate.from_messages([
    ('system', '''당신은 종합부동산세 계산 전문가입니다. 아래 문서를 참고해서 사용자의 질문에 대한 종합부동산세를 계산해주세요

종합부동산세 세율:{context}'''),
    ('human', '''과세표준과 사용자가 소지한 주택의 수가 아래와 같을 때 종합부동산세를 계산해주세요

과세표준: {tax_base}
주택 수:{query}''')
])

def calculate_tax_rate(state: AgentState):
    """
    주어진 state에서 세율을 계산합니다.

    Args:
        state (AgentState): 현재 에이전트의 state를 나타내는 객체입니다.

    Returns:
        dict: 'answer' 키를 포함하는 새로운 state를 반환합니다.
    """
    # state에서 필요한 정보를 추출합니다.
    query = state['query']
    tax_base = state['tax_base']
    
    # retriever를 사용하여 쿼리를 실행하고 컨텍스트를 얻습니다.
    context = retriever.invoke(query)
    
    # tax_rate_chain을 구성하여 세율을 계산합니다.
    tax_rate_chain = (
        tax_rate_calculation_prompt
        | llm
        | StrOutputParser()
    )
    
    # tax_rate_chain을 사용하여 세율을 계산합니다.
    tax_rate = tax_rate_chain.invoke({
        'context': context, 
        'tax_base': tax_base, 
        'query': query
    })

    # state에서 'answer' 키에 대한 값을 반환합니다.
    return {'answer': tax_rate}

이 부분에서 들은 궁금증인데요,

context 는 과세표준별 세율 구간에 관한 정보를 가져오는 변수인데 왜 query에는 과세표준이 아닌 사용자의 주택 정보를 넣어서 invoke하는 형태인가요?

답변 1

0

제이쓴님의 프로필 이미지
제이쓴
지식공유자

안녕하세요! 좋은 질문 감사합니다.

질문해주신 내용은 프롬프트 작성에 관한 팁이라고 말씀드릴 수 있는데요

Screenshot 2026-01-31 at 1.26.32 PM.png

주택에 대한 세금을 산정할 때, 공제액이라는 개념이 들어가게 되는데요, 세금을 내는 사람이 보유한 주택의 수가 공제액에 영향을 미치게 됩니다. 그래서 프롬프트에 조금 더 구체적으로 명시를 해서 LLM이 더 정확한 답변을 생성하게 하기 위함이라고 보시면 됩니다

 

신원석님의 프로필 이미지
신원석

작성한 질문수

질문하기