본문 바로가기
🟡 AIOps

LangChain React 에이전트 객체가 입력을 인식하지 못할 때

by 제리강 2025. 3. 17.

 

LangChain React 에이전트를 사용할 때, 입력값이 정상적으로 에이전트에 할당되는 것을 확인했는데 에이전트가 실행은 되지만 이를 인식하지 못하고 엉뚱한 답변을 내놓을 때가 있습니다.

여러가지 원인이 있을 수 있으나, React 에이전트의 입력 변수명을 다음과 같이 확실히 명시했는지 확인해봅시다.

 

React 프롬프트의 Action 파트에서 다음과 같이 변수명을 Action Input에 명시해줍니다. 설명을 부가적으로 서술해도 좋으나, 변수명은 명확히 서술해야 합니다.

"""
Action: analyze_tool
Action Input: performance_data
Observation: analyze_tool_result
Thought: Now I need to review the analyzed result for accuracy and completeness by calling review_tool.
"""

 

 

위와 같이 프롬프트를 구성했다면, 입력은 다음과 같이 key : value 타입으로(JSON 타입 권장) 변수명을 명시하여 입력해주어야 합니다. 입력시에는 문자열로 변환해줍니다.

performance_data = {"performance_data": "sample_input_data"}

response = agent_executor.invoke({"input": str(performance_data),
                                  "report_option": report_option,
                                  "agent_scratchpad": []})

 

 

이런 방식으로 할당해야 React 에이전트가 입력값을 인지합니다. 여러 방법이 있겠지만 중요한 것은 입, 출력 변수명을 프롬프트 명확히 서술한 후 입, 출력 변수에 이를 식별할 수 있도록 key를 명확히 할당하는 것입니다. 여러 tool 간 상호작용을 구성할 때도 이를 주의해야 합니다.

댓글