AI Agent 알아보기(작성중)

배경 및 목적

‎내가 시키지 않아도 AI가 먼저 말을 걸고 챙겨준다.

AI Agent를 만들자.

그전에 여기저기 알아보자

참고 자료

다양한 유형의 AI 에이전트를 보여주는 지도

벌써 AI Agent가 이렇게나 많다. 다 들어가보진 못했지만, 공부하는 차원에서 나도 하나 기획해서 만들어보고자 한다.

생성한 AI라고 하면 대부분 QA봇과 AI Agent와의 차이는 스스로 동작한다는 점에 있다. 원리가 뭘까? ReAct 패턴을 쓴다고 한다

프로세스의 다양한 단계를 보여주는 다이어그램

첫째, Reason Only 패턴이 우리가 흔히 쓰는 QA봇 형태이다.

둘째, Act Only 패턴은 외부 검색엔진을 쓴다든지 하는 툴을 사용하는 것이라고 보면 된다. 외부 쿼리를 Action이라고 본다면 쿼리의 응답이 Observation이 된다

셋째, ReAct 패턴은 앞의 두가지를 합친것이다. LLM이 추론 역할을 하면서 툴을 쓸건지 말건지를 판단하고 툴을 썼다면 그 결과를 판단하는 역할까지 하게 된다.

활용 툴(Sample Code)

from langchain.agents import Tool, AgentExecutor, LLMSingleActionAgent

from langchain.llms import OpenAI

from langchain.memory import ConversationBufferMemory

from langchain.utilities import SerpAPIWrapper

# 상황 인지 모듈

search = SerpAPIWrapper()

tool = Tool(

name="Search",

description="Useful for when you need to answer a question with factual information",

func=search.run

)

# 행동 선택 모듈

memory = ConversationBufferMemory(memory_key="chat_history")

llm = OpenAI(temperature=0)

agent = LLMSingleActionAgent(

llm=llm,

tool=tool,

tool_names=["Search"],

max_iterations=3,

early_stopping_method="generate"

)

agent_executor = AgentExecutor(

agent=agent,

tools=[tool],

memory=memory,

max_iterations=3

)

AI Agent 샘플을 보면 질의자체가 아주 간단해서 그냥 gpt에 질의하거나 langchain으로 코드를 짜도 아주 간단하게 답이 나온다. 핵심은 응답결과 그자체가 아니라. 과정에 있다.

LLM이 {질의-답변} 이아니라 {질의-외부툴사용-액션결과판단-(필요하면 다시 외부툴사용후)-응답} 이라는 절차를 따른 다는 것이다.

흐름도를 보여주는 웹페이지의 스크린샷

실행 과정

(내용 입력)

결과 및 인사이트

(내용 입력)

6
1개의 답글

👉 이 게시글도 읽어보세요