Prompt 계층화 + Tool 스키마 명세 주도 설계
LLM 기반 AI Agent를 설계할 때 저는 프롬프트를 System / Context / Instruction 3계층으로 분리합니다. System 레이어에는 에이전트의 페르소나와 제약을, Context에는 현재 태스크 컨텍스트를, Instruction에는 구체적 액션을 명시했습니다.
Tool 연동은 JSON Schema로 인터페이스를 먼저 정의하고, 모델이 Tool을 잘못 호출할 때의 에러 복구 흐름(retry with error feedback)도 프롬프트에 포함했습니다. 설계 시 가장 고민한 부분은 에이전트가 언제 Tool을 쓸지 결정하는 시점이었고, 판단 기준을 Few-shot 예제로 제시해 오용률을 낮췄습니다. 검증은 골든셋 100개로 Tool 호출 정확도와 최종 답변 품질을 별도로 측정했습니다. 이 구조에서 에이전트 정확도가 초기 62%에서 88%로 개선됐습니다.