Agent의 활용 사례

김지우·2025년 1월 18일

목차
1. 정리 배경
2. 테디 노트 강의를 통해 확인한 사례
3. 결과 및 결론


1. 정리 배경

그렇다면 Agent를 만들어서 활용할 수 있는 방법이나 유형을 내재화 하고 싶다는 생각이 들었다. 따라서 테디노트

2. 테디 노트 강의를 통해 확인한 사례

  1. CSV/Excel 데이터 분석 Agent
  • CSV/Excel 데이터로부터 Pandas DataFrame 객체를 생성
  • 이를 활용하여 Agent가 Pandas query를 생성하여 분석을 수행
  • from langchain_experimental.agents.agent_toolkit import create_pandas_dataframe_agent 를 임포트 하면 에이전트를 만들기 용이함
  • 에이전트 내 prefix를 이용해 프롬프팅 가능
  • prefix에는 데이터 프레임 스타일링에 필요한 기초 정보를 넣으면 좋음
  • 쿼리를 만들어 결과를 1차적으로 반환한 후 LLM을 이용하기 때문에 토큰 효율성에서 이점을 보임
  • 쿼리를 날림으로써, 자연어 만으로 간단한 데이터 분석이 가능하게 됨
  1. FileManagement Toolkits를 활용한 파일 관리 Agent
  1. 보고서 작성 Agent
  • RAG와 DALLE ImageGenerator를 이용해 보고서의 썸네일을 만듦
  • document prompt를 정의 하는 것이 좋음 왜냐면 문서에서 어떤 내용을 가져올지 정확히 구분하거 정리해서 가져오지 못하면 RAG 전체의 성능이 떨어질 수 있음
    • document prompt를 사용함으로써, 내용과, 어느페이지에서 가져왔는지, 어떤파일에서 가져왔는지(복수의 파일을 제공했을때)를 더 쉽고 명확하게 구별할 수 있다.
###DOCUMENT PROMPT###
from langchain.tools.retriever import create_retriever_tool
from langchain_core.prompts import PromptTemplate

# 문서의 내용을 표시하는 템플릿을 정의합니다.
document_prompt = PromptTemplate.from_template(
    "<document><content>{page_content}</content><page>{page}</page><filename>{source}</filename></document>"
)

# retriever 를 도구로 정의합니다.
retriever_tool = create_retriever_tool(
    retriever,
    name="pdf_search",
    description="use this tool to search for information in the PDF file",
    document_prompt=document_prompt,
)

3. 결과 및 결론

테디 노트님 유료 강의, 특히 Agent의 활용 부분에 대한 강의를 듣고 내가 판단해야 한다고 생각한 것은 다음과 같다.

1. Agent를 개발할 때의 고려 해야하는 변수

  • 반복되는 작업을 수행하는지
  • 수행하는 작업들이 동일한 속성의 목적을 가지고 있는지

2. 서비스에 Agent를 도입할 때 신경 써야 하는 기술적인 부분

  • prefix에 작성해야 하는 서비스의 목적과 특징은 무엇인가?
  • document_prompt에 꼭 넣어서 확보해야 하는 데이터의 특징은 무엇인가?

다음과 같은 특징을 고려하여 서비스와 연계하는 생각을 할 수 있어야 한다는 생각이 들었다.

profile
프로그래밍 기록 + 공부 기록

0개의 댓글