20

설계: Agent 아키텍처 가이드

Day 5: 설비 조회 Agent 프로젝트

학습 목표

프로젝트의 전체 아키텍처를 설계한다 파일 구조와 모듈 분리를 계획한다 데이터 흐름을 시각화한다

권장 아키텍처

equipment_agent/
├── main.py              # 진입점, Agent 실행
├── tools/
│   ├── __init__.py
│   ├── equipment.py     # 설비 상태 조회 Tool
│   ├── manual.py        # 매뉴얼 검색 Tool
│   ├── inventory.py     # 재고 확인 Tool
│   └── production.py    # 생산 실적 Tool
├── data/
│   ├── equipment_db.py  # 설비 시뮬레이션 데이터
│   ├── manual_db.py     # 매뉴얼 데이터
│   ├── inventory_db.py  # 재고 데이터
│   └── production_db.py # 생산 데이터
├── core/
│   ├── agent.py         # ReAct Agent 로직
│   ├── cache.py         # 캐싱 시스템
│   └── monitor.py       # 모니터링
├── prompts/
│   └── system.py        # 시스템 프롬프트
└── tests/
    └── test_scenarios.py # 테스트 시나리오

: 처음에는 main.py 하나로 시작하고, 동작이 확인되면 파일을 분리하자.


데이터 흐름

사용자 질문
    │
    ▼
┌──────────────────────────────┐
│      ReAct Agent             │
│                              │
│  Thought: 무엇을 조회할까?   │
│      │                       │
│      ▼                       │
│  Tool 선택 & 실행            │
│      │                       │
│  ┌───┼───┬───┬───────┐      │
│  │   │   │   │       │      │
│  ▼   ▼   ▼   ▼       ▼      │
│ 설비 매뉴얼 재고 생산 기타   │
│  │   │   │   │       │      │
│  └───┼───┴───┴───────┘      │
│      │                       │
│      ▼                       │
│  Observation: 결과 분석      │
│      │                       │
│      ▼                       │
│  충분? ──No──> (반복)        │
│      │                       │
│      Yes                     │
│      │                       │
│      ▼                       │
│  최종 응답 생성              │
└──────────────────────────────┘
    │
    ▼
사용자에게 전달

핵심 설계 결정

1. 데이터 소스

소스구현 방식이유
MES시뮬레이션 dict실제 MES 없이도 동작
매뉴얼시뮬레이션 dictRAG는 Week 6에서 다룸
ERP시뮬레이션 dict실제 ERP 없이도 동작

2. Agent 프레임워크

방식장점단점
OpenAI 직접완전 제어코드 많음
LangChain코드 적음, 편리추상화 (디버깅 어려움)
권장: 둘 다직접 구현 이해 + LangChain 활용

3. 프롬프트 전략

SYSTEM_PROMPT = """당신은 제조 공장의 설비 관리 AI Agent입니다.

## 역할
공장 엔지니어의 질문에 정확하고 유용한 답변을 제공합니다.

## 사용 가능한 Tool
- get_equipment_status: 설비 상태 조회
- search_manual: 매뉴얼 검색 (알람 코드, SOP)
- check_inventory: 부품 재고 확인
- get_production_data: 생산 실적 조회

## 행동 규칙
1. 항상 실제 데이터를 조회한 후 답변하세요.
2. 추측하지 마세요. 데이터가 없으면 "확인할 수 없습니다"라고 하세요.
3. 문제 설비에 집중하세요. 정상 설비는 건너뛰세요.
4. 알람 발생 시: 설비 상태 -> 매뉴얼 검색 -> 재고 확인 순서로 진행하세요.
5. 응답은 한국어로, 구체적인 조치 방안과 함께 제공하세요.

## 응답 형식
- 현황 요약 (표 형식 권장)
- 문제점 분석
- 구체적 조치 방안 (우선순위 포함)
- 필요 부품/재고 상태 (해당 시)
"""

이 프롬프트를 기반으로 시작하고, 테스트 결과에 따라 반복 개선하세요.

AI로 학습하기 — 꿀팁
🤖Agent 아키텍처 파일 구조 템플릿 생성AI 학습 팁

제조 현장 Agent 프로젝트의 표준 파일 구조와 모듈 분리 기준을 코드 템플릿으로 생성해두면 실습 시간이 단축됩니다.

제조 설비 트러블슈팅 Agent 프로젝트의 Python 파일 구조를 설계해줘. tools/(MES·ERP·CMMS 각 Tool 파일), agents/(ReAct Agent 메인 루프), prompts/(시스템 프롬프트), utils/(로깅·에러 처리), tests/(Tool 단위 테스트) 폴더로 구성하고, 각 파일의 역할과 주요 함수 시그니처를 포함한 스켈레톤 코드를 작성해줘.
이 팁이 도움이 됐나요?