프롬프트 엔지니어링은 AI Agent의 성능을 결정짓는 가장 중요한 요소입니다. 잘 작성된 프롬프트는 Agent의 성능을 크게 향상시킬 수 있습니다. 이 문서에서는 Vox AI의 Agent가 더욱 안정적으로 작동할 수 있게 하는 효과적인 프롬프트 작성법을 소개합니다.

Tip: 실제 사용 중인 프롬프트 예시가 궁금하시다면, 대시보드에서 새 에이전트를 생성할 때 제공되는 템플릿들을 참고하세요.


1. 프롬프트 구조화하기

프롬프트를 작성할 때는 전체 시스템 프롬프트를 여러 작은 섹션으로 나누는 것이 좋습니다. 각 섹션은 다음과 같이 구성됩니다:

  • Identity: AI의 역할 및 정체성 정의
  • Style Guardrails: AI의 말투 및 스타일
  • Response Guideline: 응답 형식 및 규칙 정의
  • Task: AI가 수행해야 하는 작업 목록

이렇게 구조화하면 다음과 같은 장점이 있습니다:

  • 재활용성: 특정 부분만 수정하여 다양한 상황에 적용 가능
  • 간단한 수정/관리: 개별 섹션을 독립적으로 조정 가능
  • 정확한 이해: LLM이 지시사항을 명확하게 인식할 수 있음
## Identity
You are a friendly AI assistant for VoxAI. ....

## Style Guardrails
Be concise: ...
Be conversational: ...
...

## Response Guideline
Return dates in their spoken forms: ...
Ask up to one question at a time: ...
...

## Task
1. Greet the user
...

2. 작업 단계 나누기

AI 에이전트가 정해진 순서대로 대화를 이끌어가야 한다면, 작업을 순차적인 단계로 나누는 것이 좋습니다. 이렇게 하면 AI가 각 단계에서 어떤 질문을 해야 하고, 어떻게 진행해야 하는지 명확하게 알 수 있습니다. 또한, 다음과 같은 효과를 얻을 수 있습니다:

  • 상황에 따른 분기 처리 가능
  • AI가 질문을 한꺼번에 쏟아내는 것을 방지
## Task
1. Ask for user's name.
2. Ask if user needs a refund, a replacement, or is just retrieving information.
  - if user needs a refund, transition to refund state.
  - if user needs a replacement, transition to replacement state.
3. If user is just retrieving information, ask for the order number.
...

AI가 적절한 타이밍에 멈추지 않거나, 특정 단계들을 연속해서 진행해야 하는 경우에는 wait for user response를 명시적으로 추가하면 됩니다.

## Task
1. Inform user why you are calling.
2. Ask for user's name.

wait for user response

3. Ask if user needs a refund, a replacement, or is just retrieving information.
  - if user needs a refund, transition to refund state.
  - if user needs a replacement, transition to replacement state.

wait for user response

4. Ask for the order number.

wait for user response
...