Agentic DB Tools¶
RAG4U는 문서 검색뿐 아니라 LLM이 필요한 DB tool을 선택해 호출하는 Agentic 흐름을 지원합니다.
질문
-> RAG 문서 검색
-> provider가 필요한 DB tool 선택
-> RAG4U가 read-only DB tool 실행
-> 문서 근거 + DB 결과로 최종 답변
-> citations + tool_calls 표시
RAG와 DB 중 무엇을 쓰나요?¶
RAG 검색은 항상 먼저 실행됩니다. Use DB tools를 켜면 provider가 질문을 보고 DB tool이 필요한지 추가로 판단합니다.
| 질문 성격 | 주 근거 |
|---|---|
| 정책, 매뉴얼, 절차, 기준 | RAG 문서 검색 |
| 알람, 센서, 정비, 최신 상태, 이력, 추세 | DB tool |
| 절차와 최신 이력이 함께 필요한 질문 | RAG + DB tool |
예시:
출장 영수증은 언제까지 제출해야 하나요?
이 질문은 정책 문서 근거가 필요하므로 RAG 중심입니다.
P-101 최근 알람을 요약해줘.
이 질문은 최신 운영 이력이 필요하므로 get_alarm_history tool을 호출합니다.
P-101 진동 알람이 발생했을 때 매뉴얼상 점검 절차와 최근 정비 이력을 같이 알려줘.
이 질문은 매뉴얼 절차는 RAG, 최근 정비 이력은 DB tool에서 가져옵니다.
지원 Provider¶
| Provider | Tool 선택 방식 | 상태 |
|---|---|---|
openai |
Responses API function calling | 표준 API 경로 |
codex |
Codex가 tool 선택 JSON 생성 후 앱이 실행 | 가능성 검증용 |
mock |
지원 안 함 | 검색/citation 확인용 |
Codex provider는 native function calling API가 아니므로 두 단계로 동작합니다.
Codex tool-selection prompt
-> {"tool_calls": [...]} JSON
-> RAG4U tool 실행
-> tool 결과를 Codex에 전달
-> 최종 답변
제공 Tool¶
| Tool | 설명 |
|---|---|
get_alarm_history |
설비 알람 이력, 심각도, 발생/해제 시각 조회 |
get_sensor_trend |
압력, 온도, 진동 등 센서 추세 조회 |
get_maintenance_history |
점검, 수리, 교체 등 정비 이력 조회 |
응답의 tool_calls에는 다음 정보가 포함됩니다.
- tool 이름
- provider가 선택한 arguments
- 실행 상태
- 조회 row 수
- 결과 preview
- latency
- 오류 메시지
질문 예시¶
P-101 최근 알람과 정비 이력을 같이 요약해줘.
P-101 진동 알람이 있었는지 확인하고 관련 정비 이력이 있는지 알려줘.
C-201 최근 CRITICAL 알람과 온도 센서 추세를 같이 설명해줘.
HX-301 차압 알람 이후 정비 조치가 있었는지 확인해줘.
P-101 압력 센서 추세와 HIGH 알람 발생 시점을 비교해줘.
안전 경계¶
LLM은 SQL을 직접 생성하거나 실행하지 않습니다.
LLM tool 선택
-> 앱이 허용한 tool 이름인지 확인
-> 앱이 arguments 정규화
-> 고정 SQL + 바인딩 파라미터로 조회
-> read-only 결과만 provider에 전달
운영 환경에서는 실제 DB 계정도 read-only 권한으로 제한해야 합니다.