이 내용이 다른 곳에서 이미 충분히 답변되었기를 바랍니다. 검색해 보았지만 이 접근 방식에 대한 직접적인 논의는 찾지 못했습니다.
문제점
현재 Discourse AI 대화 내에서 다른 에이전트(페르소나)를 호출하는 방법이 없는 것 같습니다. 여기서 "에이전트"란 메인 시스템 프롬프트에 없는 전문적인 능력이나 지시를 가진 다른 페르소나를 호출하는 것을 의미합니다.
이것은 다음과 같은 문제를 야기합니다. 사용 사례에 따라 모든 시나리오를 커버하기 위해 매우 큰 시스템 프롬프트를 작성해야 할 수 있습니다. 그 결과, 드물게 사용되는 지침들이 생겨나 AI가 모든 상호작용에서 불필요하게 이를 처리해야 하는 오버헤드나 혼란을 초래할 수 있습니다.
작동하는 해결책: 지침 주입기로서의 도구(Tools)
커스텀 도구를 사용하여 엣지 케이스에 대한 지침을 주입하는 방법을 찾았습니다. 접근 방식은 다음과 같습니다:
- 메인 시스템 프롬프트는 핵심 정체성과 일반적인 행동에 초점을 맞추도록 유지합니다.
- 다음과 같은 일반적인 파라미터를 가진 도구를 생성합니다:
- topic: string: 다루고 있는 엣지 케이스 주제 또는 과제 (필수) - 전문적인 지침을 도구의 JavaScript에 직접 내장하여, 호출 시 반환되도록 합니다.
- 도구를 호출해야 하는 시점을 정의하는 작은 설명 블록을 메인 프롬프트에 추가합니다.
사용자의 메시지가 도구 호출 기준을 충족할 때, 도구가 실행되어 전문적인 지시사항을 대화 컨텍스트에 주입합니다. 이것은 완벽하게 작동합니다.
예시 사용 사례
가끔 전문적인 모드로 전환해야 하는 일반 어시스턴트 AI를 생각해 보세요. 예를 들어, 상세한 기술 문제 해결이나 심층적인 연구 종합이 필요한 경우입니다. 대부분의 대화는 일상적인 질문이므로, 이러한 방대한 프로토콜을 모든 대화에 로드하는 대신, 대화 컨텍스트가 필요할 때만 도구를 통해 전문적인 지침을 주입할 수 있습니다. 메인 프롬프트는 일반적인 작업에 초점을 맞춰 가볍게 유지되고, 전문적인 모드는 트리거가 될 때만 활성화됩니다.
커뮤니티를 위한 질문
- 이 패턴에 대한 의견은 어떤가요? 외부 API 호출이나 데이터 검색이 아니라, 컨텍스트에 따라 활성화되는 전문적인 지시사항 세트의 컨테이너로 도구를 사용하는 것에 대해 어떻게 생각하시나요?
- 실제로 다른 에이전트/페르소나를 호출하여 대화에 추가할 계획이나 기존 방법이 있나요? 대화 도중 전문가 페르소나를 호출하여 해당 페르소나만의 시스템 프롬프트를 컨텍스트에 가져오는 것과 같은 기능 말입니다.
- 주의해야 할 함정이 있나요? 현재 저는 이 기능을 사적인 AI 메시지 컨텍스트에서만 사용하고 있습니다.
다른 분들도 이 접근 방식을 탐구해 보셨거나, 제가 간과하고 있는 더 우아한 해결책이 있는지 궁금합니다.