1 분 소요

이 예제는 OpenAI Agents SDK를 사용하여 회사 문서를 검색하고 답변하는 지식 기반 AI Agent(RAG Agent)를 만드는 기본 예제를 만들어 보았다. RAG(Retrieval Augmented Generation)는 LLM이 외부 지식을 검색하여 답변 생성에 활용하는 방식이다. RAG Knowledge Agent는 LLM과 기업 내부 지식을 연결하여 신뢰 가능한 답변을 제공하는 가장 기본적인 Enterprise Agent 패턴이다.

구조:

사용자 질문
    ↓
Knowledge Agent
    ↓
검색 Tool
    ↓
문서 데이터
    ↓
답변 생성

1. 개발 환경

필요 환경:

  • Windows 11
  • Visual Studio Code
  • Python 3.11 이상
  • OpenAI API Key

프로젝트 구조:

rag-agent-example/

├── app.py
├── knowledge/
│   └── company_policy.txt
├── requirements.txt
└── .env

2. 패키지 설치

requirements.txt 파일

openai-agents
python-dotenv

설치 방법:

pip install -r requirements.txt

3. 문서 데이터 준비

knowledge/company_policy.txt

회사 휴가는 연간 20일이다.
GPU 서버 사용 신청은 AI Infra 팀 승인이 필요하다.
긴급 장애 발생 시 IT 운영팀에 연락한다.

4. Agent 구현

app.py 파일 내용

from agents import Agent, Runner, function_tool


@function_tool
def search_company_document(question: str) -> str:
    """회사 문서를 검색하는 Tool"""

    with open(
        "knowledge/company_policy.txt",
        "r",
        encoding="utf-8"
    ) as f:
        document = f.read()

    return document


knowledge_agent = Agent(
    name="Knowledge Agent",
    instructions="""
    당신은 회사 지식 검색 Agent이다.

    사용자의 질문과 관련된 정보를
    search_company_document Tool에서 검색한 후
    답변한다.

    문서에 없는 내용은 추측하지 않는다.
    """,
    tools=[
        search_company_document
    ]
)


result = Runner.run_sync(
    knowledge_agent,
    "GPU 서버 사용 절차를 알려줘"
)

print(result.final_output)

5. 예제 실행

Visual Studio Code 터미널:

python app.py

예상 결과:

GPU 서버 사용 신청은 AI Infra 팀 승인이 필요합니다.

6. 구성 요소 설명

  • Agent : 사용자의 요청을 이해하고 Tool 사용 여부를 결정한다.
  • Tool : 외부 데이터를 가져오는 함수이다.
  • Runner : Agent 실행 흐름을 관리한다.

7. 기존 Agent 패턴과 차이

기본 Tool Agent:

    User
     ↓
    Agent
     ↓
    Tool
     ↓
    Answer

RAG Knowledge Agent:

    User

     ↓

    Knowledge Agent

     ↓

    Search Tool

     ↓

    Company Document

     ↓

    Answer

8. Enterprise 활용 사례

  • 고객지원 에이전트 : 제품 매뉴얼 검색 후 고객 답변 생성
  • IT 운영 에이전트 : Runbook 검색 후 장애 대응 방법 안내
  • AI Infrastructure Agent : GPU 운영 정책과 사용 절차 검색

8. 다음 확장 단계

  • Vector Database 연결
  • Embedding 검색
  • OpenAI File Search 활용
  • Multi-Agent Router 추가
  • MCP Tool 연결

댓글남기기