sriaradhyula/simple-ai-agent
요약
본 문서는 ReAct AI 에이전트를 구축하고 활용하는 방법을 보여줍니다. REST API를 통해 GitHub 리포지토리 정보를 검색하거나 LangGraph를 사용하여 복잡한 워크플로우를 정의할 수 있습니다. 특히, 여러 도구 호출을 순차적으로 수행하여 최종 답변을 얻는 과정을 상세히 설명합니다.
핵심 포인트
- ReAct AI 에이전트 구축 및 활용 방법 제시
- REST API와 LangGraph를 이용한 워크플로우 정의 가능
- 여러 도구를 조합하여 복합적인 질문에 응답하는 과정 시연
이 저장소는 ReAct AI 에이전트를 구축하여 REST API를 통해 GitHub 리포지토리 세부 정보를 검색하거나 LangGraph를 사용하여 워크플로우를 정의하는 등의 작업을 수행하는 방법을 보여줍니다.
- VS Code에서 Jupyter Notebook 열기
make run
샘플 출력:
Generated UUID: 4e12e5df-4d95-4c85-a5f5-004f5cffbea9
INFO: Started server process [74521]
INFO: Waiting for application startup.
...
Python으로 클라이언트 요청 코드:
import requests
import json
url = "http://localhost:8000/question"
...
샘플 출력:
"sriaradhyula" 조직의 "simple-ai-agent" 리포지토리에 대한 설명은 다음과 같습니다: "이 저장소는 ReAct AI 에이전트를 구축하여 REST API를 통해 GitHub 리포지토리 세부 정보를 검색하거나 LangGraph를 사용하여 워크플로우를 정의하는 등의 작업을 수행하는 방법을 보여줍니다."
사고 과정(Chain of thought) 설명: HumanMessage, AIMessage, ToolMessage로 주석 처리됨
- 사용자가 AI 에이전트 애플리케이션에 "sriaradhyula 조직의 simple-ai-agent 리포지토리에 대한 설명을 가져와 주세요"라고 요청합니다.
- 여기서 AI 에이전트는 사용자 질문이 단일 도구 호출 - get_github_repo_description을 필요로 한다는 것을 판단합니다.
- AI 에이전트가 응답과 함께 답변을 반환합니다.
--------------------------------------------------------------------------------
Type: HumanMessage, Content: sriaradhyula 조직의 simple-ai-agent 리포지토리에 대한 설명을 가져와 주세요
--------------------------------------------------------------------------------
...
시나리오 2: 에이전트가 최종 답변을 얻기 위해 여러 도구 호출을 루프(loop)로 수행해야 하는 복잡한 질문 전송:
Python으로 클라이언트 요청 코드:
import requests
import json
url = "http://localhost:8000/question"
...
샘플 출력:
리포지토리 설명은 다음과 같습니다: "이 저장소는 ReAct AI 에이전트를 구축하여 REST API를 통해 GitHub 리포지토리 세부 정보를 검색하거나 LangGraph를 사용하여 워크플로우를 정의하는 등의 작업을 수행하는 방법을 보여줍니다."
리포지토리 주제는 다음과 같습니다: "agent, ai, langgraph, python"
설명과 토픽 목록에서 일치하는 주제는 'agent', 'ai', 그리고 'langgraph'입니다.
사고 과정 설명: HumanMessage, AIMessage, ToolMessage로 주석 처리됨
- 사용자가 AI 에이전트 애플리케이션에 질문합니다: “repo simple-ai-agent의 repo 토픽에서 일치하는 주제가 있는지 확인해 주세요. sriaradhyula org에 있는 repo입니다.”
- 여기서, AI 에이전트는 사용자 질문에 답하기 위해 두 가지 다른 도구(tool)로부터 정보가 필요하다고 판단합니다: get_github_repo_description 및 get_github_repo_topics
- AI 에이전트는 두 도구의 응답 간 상관관계를 분석한 후 응답을 반환합니다.
--------------------------------------------------------------------------------
유형(Type): HumanMessage, 내용(Content): repo simple-ai-agent의 repo 토픽에서 일치하는 주제가 있는지 확인해 주세요. sriaradhyula org에 있는 repo입니다.
--------------------------------------------------------------------------------
...
curl --location 'http://localhost:8000/question' \
--header 'Content-Type: application/json' \
--data '{
...
코드 면책 조항(Code Disclaimer): 이 repo에 제공된 코드는 교육 및 정보 목적으로만 사용됩니다. 기능적이고 정확하도록 모든 노력을 기울였지만, 어떠한 보증 없이 '있는 그대로(as-is)' 제공됩니다. 코드 사용은 본인의 책임하에 진행하십시오. 저자는 코드 구현으로 인해 발생하는 어떠한 손상이나 데이터 손실에 대해서도 책임을 지지 않습니다. 프로덕션 환경에서 사용하기 전에 항상 안전한 환경에서 코드를 검토하고 테스트하십시오.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기