Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

에이전트

LibreChat의 AI 에이전트를 생성, 사용자 지정 및 활용하는 방법을 알아보세요. 이는 모든 모델 제공업체와 함께 맞춤형 AI 어시스턴트를 구축하기 위한 강력한 프레임워크입니다.

Agents: 맞춤형 AI 어시스턴트 구축

LibreChat의 AI Agents 기능은 다양한 모델 제공업체를 기반으로 하는 맞춤형 AI 어시스턴트를 생성하기 위한 유연한 프레임워크를 제공합니다.

이 기능은 OpenAI의 Assistants API 및 ChatGPT의 GPT와 유사하지만, 더 폭넓은 모델 지원과 노코드(no-code) 구현을 통해 전문적인 기능을 갖춘 정교한 어시스턴트를 구축할 수 있게 해줍니다.

시작하기

새로운 에이전트를 생성하려면, endpoint 메뉴에서 "Agents"를 선택하고 사이드 패널(Side Panel)에 있는 Agent Builder 패널을 여세요.

Agents - Endpoints Menu

생성 양식에는 다음이 포함됩니다:

  • Avatar: 사용자 지정 아바타를 업로드하여 에이전트를 개인화하세요
  • Name: 에이전트의 고유한 이름을 선택하세요
  • Description: 에이전트의 목적에 대한 선택적 세부 정보
  • Instructions: 에이전트의 동작을 정의하는 시스템 지침
  • Model: 사용 가능한 공급자 및 모델 중에서 선택하세요

기존 에이전트는 사이드 패널 상단의 드롭다운에서 선택할 수 있습니다.

  • 채팅 입력창에서 "@"를 사용하여 언급할 수도 있습니다.

Agents - Mention

모델 구성

모델 매개변수 인터페이스를 통해 에이전트의 응답을 미세 조정할 수 있습니다:

  • Temperature (응답 창의성을 위한 0-1 범위의 척도)
  • 최대 컨텍스트 토큰
  • 최대 출력 토큰
  • 추가적인 공급자별 설정

에이전트 기능 (Agent Capabilities)

참고: 모든 기능은 librechat.yaml 구성 파일을 통해 전환할 수 있습니다. 자세한 내용은 docs/configuration/librechat_yaml/object_structure/agents#capabilities를 참조하세요.

Code Interpreter

활성화되면, Code Interpreter 기능은 에이전트가 다음을 수행할 수 있도록 합니다:

  • 다음과 같은 여러 언어로 코드를 실행하세요:
    • Python, JavaScript, TypeScript, Go, C, C++, Java, PHP, Rust 및 Fortran
  • LibreChat Code Interpreter API를 통해 안전하게 파일 처리하기
  • 로컬 설정, 구성 또는 샌드박스 배포 없이 코드 실행
  • 파일 업로드 및 다운로드를 원활하게 처리하세요
  • Code Interpreter API에 대한 추가 정보

File Search 기능은 다음을 가능하게 합니다:

  • RAG (Retrieval-Augmented Generation) 기능
  • 업로드된 문서에 대한 의미론적(Semantic) 검색
  • 파일 내용을 기반으로 한 문맥 인식 응답
  • 에이전트 및 채팅 스레드 수준 모두에서 파일 첨부 지원

파일 컨텍스트

File Context 기능은 에이전트가 파일에서 추출한 텍스트를 시스템 지침의 일부로 저장할 수 있도록 합니다:

  • 문서 구조와 서식을 유지하면서 텍스트 추출
  • 다중 열 텍스트 및 혼합 콘텐츠를 포함한 복잡한 레이아웃 처리
  • 표, 수식 및 기타 특수 콘텐츠 처리
  • 다국어 콘텐츠 작업하기
  • 텍스트는 데이터베이스 내 에이전트의 instructions에 저장됩니다.
  • OCR 서비스 불필요 - 기본적으로 텍스트 파싱을 사용하며 대체 방법을 지원합니다
  • OCR로 향상됨 - OCR이 구성된 경우, 이미지 및 스캔된 문서에 대한 추출 품질이 향상됩니다.
  • "Upload as Text"와 동일한 처리 로직을 사용합니다: OCR > STT > 텍스트 파싱
  • OCR 구성에 대한 자세한 정보

참고: 파일 컨텍스트는 에이전트의 시스템 지침에 추출된 텍스트를 포함합니다. 개별 대화에서 임시 문서 질문을 하려면 채팅에서 Upload as Text 기능을 사용하세요.

Model Context Protocol (MCP)

MCP는 애플리케이션이 거대 언어 모델(LLM)에 컨텍스트를 제공하는 방식을 표준화하는 개방형 프로토콜로, AI 도구와 데이터 소스를 위한 범용 어댑터 역할을 합니다.

더 자세한 정보는 MCP 문서를 참조하세요.

MCP 도구를 사용하는 Agents

  1. librechat.yaml 파일에서 MCP 서버를 구성하세요
  2. LibreChat을 재시작하여 연결을 초기화하세요
  3. 에이전트 생성 또는 편집
  4. Agent Builder 패널에서 "Add Tools" 버튼을 클릭하여 아래에 표시된 Tools Dialog를 엽니다.
  5. 추가하려는 MCP 서버를 선택하세요 - 각 서버는 단일 항목으로 표시됩니다
  6. 에이전트에 변경 사항을 저장하세요

이 예시에서는 **Spotify MCP server**를 에이전트에 추가했습니다.

Agents - MCP

MCP 도구 관리

MCP 서버가 에이전트에 추가되면, 사용 가능한 특정 도구를 세부적으로 조정할 수 있습니다:

  • MCP 서버를 추가한 후, 해당 서버를 확장하여 사용 가능한 모든 도구를 확인하세요.
  • 필요에 따라 개별 도구를 선택/선택 해제하세요
  • 예를 들어, Spotify MCP 서버는 약 20개의 도구(검색, 재생 제어, 재생 목록 관리 등)를 제공합니다.
  • 이 세밀한 제어를 통해 에이전트가 필요한 도구만 사용하도록 제한할 수 있습니다.

Agents - MCP Tools

더 알아보기:

Deferred Tools

Deferred tools를 사용하면 에이전트가 많은 MCP 도구에 액세스할 때 이를 모두 LLM 컨텍스트에 미리 로드할 필요가 없습니다. 대신, deferred tools는 Tool Search 메커니즘을 통해 런타임에 검색할 수 있습니다.

이는 에이전트가 수십 개의 도구가 포함된 다수의 MCP 서버에 액세스할 때 특히 유용합니다. 모든 도구를 로드하면 컨텍스트 윈도우의 상당 부분을 차지하여 응답 품질이 저하될 수 있기 때문입니다.

작동 방식:

  • "deferred"로 표시된 도구는 초기 LLM 컨텍스트에서 제외됩니다.
  • ToolSearch 도구가 자동으로 추가되어, LLM이 필요에 따라 지연 로드된(deferred) 도구를 검색하고 불러올 수 있게 합니다.
  • 일단 발견되면, 해당 도구는 남은 대화 동안 계속 사용할 수 있습니다.

지연된 도구(deferred tools) 구성:

  1. Agent Builder를 열고 MCP 도구를 추가하세요
  2. 모든 MCP 도구의 드롭다운을 클릭하세요
  3. "Defer Loading" 토글 — 지연된 도구는 시계 아이콘으로 표시됩니다

참고: deferred_tools 기능은 기본적으로 활성화되어 있습니다. 이 기능은 librechat.yaml 에이전트 구성을 통해 전환할 수 있습니다.

Programmatic Tool Calling

Programmatic Tool Calling (PTC)을 사용하면 에이전트가 모델에서 각 도구를 직접 호출하는 대신 Code Interpreter 샌드박스 내부에서 선택된 MCP 도구를 실행할 수 있습니다. 모델은 Code Interpreter 기반의 오케스트레이션 도구를 수신하고, 생성된 도구 함수를 호출하는 샌드박스 코드를 작성하며, 답변을 반환하기 전에 루프, 조건문, 재시도 및 결과 처리를 사용할 수 있습니다.

이는 여러 리소스를 쿼리하거나, 결과 페이지를 넘기거나, 출력을 비교하거나, 에이전트가 설명하기 전에 도구 응답을 변환하는 등 다단계 도구 워크플로우에 유용합니다.

프로그래밍 방식 도구 구성:

  1. librechat.yaml 에이전트 기능에서 programmatic_toolsexecute_code를 모두 활성화하세요.
  2. 에이전트에서 Code Interpreter를 활성화하세요.
  3. MCP 도구를 추가하고, MCP 서버를 확장하며, 개별 도구 또는 전체 서버에 대해 Programmatic을 토글합니다. Programmatic 도구는 코드 아이콘으로 표시됩니다.

참고: programmatic_tools는 옵트인(opt-in) 방식이며 기본 에이전트 기능 목록에 포함되어 있지 않습니다. PTC는 또한 Tool Call Server 구성 요소가 포함된 Code Interpreter 배포가 필요합니다. 에이전트에 등록된 도구만 샌드박스에서 호출할 수 있으며, 등록되지 않은 도구 호출은 거부됩니다.

Skills

Skills를 사용하면 에이전트가 SKILL.md 정의에서 재사용 가능한 지침을 로드할 수 있습니다. 이는 채팅에서 $를 사용하여 수동으로 선택하거나, 스킬 카탈로그를 통해 모델이 자동으로 검색하게 하거나, 모든 턴에 항상 적용되도록 설정할 수 있습니다.

작성, 호출 및 액세스 제어에 대한 자세한 내용은 Skills를 참조하세요.

Artifacts

Artifacts 기능은 에이전트가 대화형 콘텐츠를 생성하고 표시할 수 있도록 지원합니다:

  • React 컴포넌트, HTML 코드 및 Mermaid 다이어그램 생성
  • 명확성과 상호작용을 위해 별도의 UI 창에 콘텐츠를 표시합니다
  • 에이전트 수준에서 아티팩트별 지침을 구성하세요
  • Artifacts에 대한 추가 정보

활성화되면, 아티팩트(artifacts) 사용과 관련된 추가 지침이 기본적으로 추가됩니다. 옵션은 다음과 같습니다:

  • shadcn/ui 지침 활성화: shadcn/ui 컴포넌트(Radix UI와 Tailwind CSS를 사용하여 구축된 재사용 가능한 컴포넌트 모음)를 사용하기 위한 지침을 추가합니다.
  • Custom Prompt Mode: 활성화되면 기본 아티팩트 시스템 프롬프트가 포함되지 않으며, 사용자가 직접 정의한 사용자 지정 지침을 제공할 수 있습니다.

에이전트 수준에서 아티팩트를 구성하는 것이 권장되는 방식입니다. 이는 기존의 앱 전체 구성보다 더 세밀한 제어가 가능하기 때문입니다.

Custom Prompt Mode를 활성화하는 경우, 지침에 최소한 기본 아티팩트 형식을 포함해야 합니다.

다음은 필요한 최소한의 지침에 대한 간단한 예시입니다:

When creating content that should be displayed as an artifact, use the following format:

:::artifact{identifier="unique-identifier" type="mime-type" title="Artifact Title"}

```
Your artifact content here
```

:::

For the type attribute, use one of:

- "text/html" for HTML content
- "application/vnd.mermaid" for Mermaid diagrams
- "application/vnd.react" for React components
- "image/svg+xml" for SVG images

도구

Agents는 다양한 내장 도구로 강화할 수도 있습니다:

이미지 도구를 사용하여 에이전트 만들기

  1. .env 파일에 IMAGE_GEN_OAI_API_KEY(OpenAI Image Tools의 경우)와 같은 이미지 도구 자격 증명을 추가하세요.
  2. LibreChat을 재시작하여 새로운 환경 변수가 로드되도록 하세요.
  3. endpoint 메뉴에서 Agents를 선택하세요.
  4. 사이드 패널에서 Agent Builder를 열고 에이전트를 생성하거나 편집하세요.
  5. 에이전트의 Tools 목록을 열고 OpenAI Image Tools, Gemini Image Tools, DALL-E-3, Stable Diffusion 또는 Flux를 선택한 다음 에이전트를 저장하세요.
  6. 해당 에이전트와 채팅을 시작하고 이미지를 생성하거나 편집하도록 요청하세요.

IMAGE_GEN_OAI_MODEL과 같은 모델 변수를 포함한 전체 이미지 설정 가이드는 이미지 생성 및 편집을 참조하세요.

Actions

Actions 기능을 사용하면 OpenAPI specs에서 도구를 동적으로 생성하여 Agent에 추가할 수 있습니다.

Agents - Endpoints Menu

위 버튼을 클릭하면 OpenAPI 사양 URL을 입력하고 액션을 생성할 수 있는 양식이 열립니다:

Agents - Endpoints Menu

  • librechat.yaml 구성 파일을 사용하여 Actions를 비활성화할 수 있습니다:
  • 에이전트 작업에 대해 개별 도메인을 화이트리스트에 추가할 수 있습니다:
  • OpenAPI 사양의 작업(operation) 수준에서 'x-strict': true 플래그를 추가할 수 있다는 점을 참고하세요. 이를 지원하는 OpenAI 모델을 사용하는 경우, 'strict' 모드가 활성화된 함수 호출이 자동으로 생성됩니다.

Agent Chain

Agent Chain 기능은 Mixture-of-Agents (MoA) 접근 방식을 지원하여, 함께 작동하는 에이전트 시퀀스를 생성할 수 있게 합니다:

  • 복잡한 작업을 위한 전문 에이전트 체인 생성
  • 체인의 각 에이전트는 이전 에이전트의 출력에 접근할 수 있습니다.
  • 에이전트 체인의 최대 단계 수를 구성합니다
  • 참고: 이 기능은 Agent Builder의 고급 설정(Advanced Settings) 패널에서 액세스할 수 있습니다.
  • 참고: 이 기능은 현재 베타 버전이며 변경될 수 있습니다.
    • 현재 체이닝할 수 있는 에이전트의 최대 개수는 10개이지만, 향후 설정 가능하도록 변경될 수 있습니다.
에이전트 체인

이 기능은 LibreChat에 계층화된 Mixture-of-Agents 아키텍처를 도입합니다. 동명의 "Mixture-of-Agents" 논문에 설명된 바와 같이, 각 에이전트는 이전 계층에 있는 에이전트들의 모든 출력을 응답 생성 시 보조 정보로 활용합니다.

Subagents

Subagents를 사용하면 에이전트가 집중적인 작업을 격리된 하위 실행(child run)으로 위임할 수 있습니다. 하위 에이전트는 자체 컨텍스트 창과 도구 실행 흐름을 가지며, 모든 중간 단계를 부모 컨텍스트에 채우는 대신 간결한 결과만을 부모에게 반환합니다.

Subagents는 Agent Chain과 다릅니다. chain runs는 여러 에이전트를 그래프 참여자로 조정하는 반면, subagents는 에이전트가 범위가 지정된 위임을 위한 도구 호출(tool call)로서 생성합니다. 설정 및 제한 사항은 Subagents를 참조하세요.

고급 설정

"capabilities" 외에 에이전트에 대한 고급 설정(에이전트 양식의 고급 보기에서 찾을 수 있음)입니다.

최대 에이전트 단계 (Max Agent Steps)

이 설정은 에이전트가 "run" 내에서 수행할 수 있는 단계 수를 제한할 수 있게 해주며, 이는 최종 응답이 제공되기 전의 에이전트 루프를 의미합니다.

설정하지 않을 경우 기본값은 25단계이지만, 필요에 따라 조정할 수 있습니다. 관리자의 경우 librechat.yaml 파일에서 전역 기본값과 전역 최댓값을 설정할 수 있습니다.

"단계(step)"는 AI API 요청 또는 도구 사용 회차(LLM이 단일 요청에서 제공하는 도구 호출 수에 따라 1개 또는 다수의 도구)를 의미합니다.

단일 비도구 응답은 1단계입니다. 단일 도구 사용 라운드는 일반적으로 3단계로 구성됩니다:

  1. API 요청 -> 2. 도구 사용 (1개 또는 다수의 도구) -> 3. 후속 API 요청

파일 관리

Agents는 파일을 다루는 여러 가지 방법을 지원합니다:

채팅 인터페이스에서

에이전트와 대화할 때, 네 가지 업로드 옵션을 사용할 수 있습니다:

  1. 이미지 업로드

    • 네이티브 비전 모델 지원을 위해 이미지를 업로드합니다
    • 이미지를 모델 제공업체로 직접 전송합니다
  2. 텍스트로 업로드 (context 기능 필요)

    • 대화에 전체 문서 내용을 추출하고 포함합니다
    • 기본적으로 텍스트 파싱을 사용하며, 설정된 경우 OCR을 통해 향상됩니다.
    • 현재 대화에만 콘텐츠가 존재합니다
    • Upload as Text를 참조하세요.
  3. 파일 검색을 위한 업로드 (file_search 기능이 필요하며, ON으로 설정해야 함)

    • 벡터 저장소를 사용한 의미론적 검색(RAG)을 활용합니다
    • 도구 사용을 통해 관련 청크를 반환합니다
    • 대용량 문서/다중 파일에 최적화됨
    • 구조화된 데이터(CSV, Excel, JSON 등)에는 최적화되어 있지 않음
  4. 코드 인터프리터용 업로드 (execute_code 기능이 필요하며, ON으로 설정해야 함)

    • 코드 인터프리터 환경에 파일을 추가합니다
    • 구조화된 데이터(CSV, Excel, JSON 등)에 최적화되어 있습니다.
    • Code Interpreter에 대한 추가 정보

Agent Builder에서

에이전트를 구성할 때, 다양한 카테고리의 파일을 첨부할 수 있습니다:

  1. 이미지 업로드: 에이전트가 참조할 수 있는 시각적 콘텐츠용
  2. 파일 검색 업로드(File Search Upload): RAG 기능을 위한 문서
  3. Code Interpreter 업로드: 코드 처리를 위한 파일
  4. 파일 컨텍스트: 에이전트 지침을 보완하기 위해 텍스트가 추출된 문서

File Contextcontext 기능을 사용하며 "Upload as Text"와 동일하게 작동합니다. 기본적으로 텍스트 파싱을 사용하며, 설정 시 OCR을 통해 향상됩니다. 텍스트는 업로드 시점에 추출되어 에이전트의 지침(instructions)에 저장됩니다. 이는 문서, PDF, 코드 파일 또는 텍스트가 포함된 이미지로부터 에이전트에게 지속적인 지식을 제공하는 데 이상적입니다.

처리 우선순위: OCR > STT > 텍스트 파싱 (Upload as Text와 동일)

참고: 추출된 텍스트는 에이전트의 시스템 지침의 일부로 포함됩니다.

공유 및 권한

에이전트는 LibreChat의 세분화된 access control 시스템을 사용합니다. 각 에이전트에는 고유한 액세스 제어 목록(ACL)이 있으며, 선택한 권한 수준에 따라 특정 사용자, 그룹, 역할 또는 공개로 공유할 수 있습니다.

액세스 역할

에이전트를 공유할 때, 피공유자에게는 다음 세 가지 역할 중 하나가 할당됩니다:

역할권한 부여 대상이 할 수 있는 작업
Viewer대화에서 에이전트 사용; 빌더를 열거나 지침, 도구, 첨부 파일을 볼 수 없음
Editor보기 + 에이전트의 지침, 모델, 도구 및 파일 수정
Owner전체 제어: 에이전트 보기, 편집, 삭제 및 재공유

원작자와 관리자는 ACL과 관계없이 항상 모든 권한을 유지합니다.

에이전트 공유하기

  1. Agent Builder에서 에이전트를 엽니다.
  2. 바닥글에 있는 Share 버튼을 클릭하세요(작성자이거나, 관리자이거나, 해당 에이전트에 대한 SHARE 권한을 부여받은 경우에 표시됩니다).
  3. 사용자 선택기에서 사용자, 그룹 또는 역할을 검색하고 각각에 역할을 할당하세요.
  4. 선택적으로 Public을 토글하여 해당 인스턴스의 모든 사용자가 에이전트를 볼 수 있도록 설정할 수 있습니다(SHARE_PUBLIC 기능 권한이 필요합니다).

주체(principals), 권한 비트(permission bits), 그리고 ACL이 역할 기반 기능 권한과 어떻게 구성되는지에 대한 자세한 내용은 Access Control을 참조하세요.

관리자 제어

관리자는 에이전트 빌더 UI 내에서 전역 권한 설정에 액세스할 수 있습니다:

  • 모든 사용자 간의 에이전트 공유 활성화/비활성화
  • 에이전트 사용 권한 제어
  • 에이전트 생성 권한 관리
  • 플랫폼 전체 설정 구성

인스턴스에 대해 처음 생성된 계정은 관리자 계정입니다. 추가 관리자를 추가해야 하는 경우, MongoDB에 접속하여 사용자의 프로필을 업데이트할 수 있습니다:

db.users.updateOne(
  { email: 'USER_EMAIL_ADDRESS' },
  { $set: { role: 'ADMIN' } }
)

모든 사용자에 대한 에이전트 사용은 설정(config)을 통해 비활성화할 수도 있습니다. 자세한 정보.

기능 수준 권한(누가 에이전트를 사용, 생성, 공유 또는 _공개 공유_할 수 있는지)은 각 역할(사용자 지정 역할 포함)에 대해 LibreChat 관리자 패널에서 관리됩니다. librechat.yamlinterface.agents 블록을 통해 시작 시 기본 제공 USER 역할에 대한 기본값을 설정할 수는 있지만, 향후 수정 사항은 관리자 패널을 사용하는 것이 권장됩니다.

사용자 수준 공유

개별 사용자는 다음을 수행할 수 있습니다:

  • 특정 사용자, 그룹 또는 역할과 에이전트를 공유합니다(해당 역할에 대해 SHARE가 활성화된 경우).
  • 인스턴스의 모든 사용자에게 에이전트를 공개합니다 (SHARE_PUBLIC이 활성화된 경우)
  • 각 수신자에게 서로 다른 액세스 수준(Viewer / Editor / Owner)을 부여하세요.
  • 공유 대화 상자에서 언제든지 액세스 권한을 다시 공유하거나 취소할 수 있습니다.

참고 사항

  • 지침, 모델 매개변수, 첨부 파일 및 도구는 편집 권한이 있는 사용자에게만 노출됩니다.
    • 에이전트는 대화 과정에서 지침이나 파일을 포함하여 첨부된 모든 데이터를 유출할 수 있으므로, 편집자(Editor)/소유자(Owner) 권한을 부여하거나 에이전트를 공개하기 전에 지침이 이러한 위험에 대해 충분히 견고한지 확인하십시오.
  • 원작자, 관리자, 그리고 소유자 권한을 가진 피허가자만이 공유된 에이전트를 삭제할 수 있습니다.
  • 에이전트는 공유되지 않는 한 작성자만 볼 수 있습니다.

선택적 구성

LibreChat을 사용하면 관리자가 librechat.yaml 파일을 통해 에이전트 사용을 구성할 수 있습니다:

  • 모든 사용자(관리자 포함)에 대해 Agents 비활성화: 상세 정보
  • 다음 항목을 사용하여 에이전트 기능을 사용자 지정하세요: 추가 정보

모범 사례

  • 에이전트에 대한 명확하고 구체적인 지침을 제공하세요
  • 사용 사례에 어떤 도구가 필요한지 신중하게 고려하세요
  • 네 가지 업로드 범주에 따라 파일을 적절하게 구성하세요
  • 에이전트를 공유하기 전에 권한 설정을 검토하세요
  • 다른 사용자에게 배포하기 전에 에이전트를 철저히 테스트하세요.

요약

  1. endpoint 드롭다운 메뉴에서 "Agents"를 선택하세요
  2. Agent Builder 패널 열기
  3. 필수 에이전트 세부 정보를 입력하세요
  4. 원하는 기능(Code Interpreter, File Search, File Context 등)을 구성하세요.
  5. 필요한 도구 및 파일 추가
  6. 원하는 경우 공유 권한을 설정하세요
  7. 에이전트를 생성하고 사용하기 시작하세요

에이전트와 대화할 때 다음을 수행할 수 있습니다:

  • "Upload as Text"를 사용하여 대화에 전체 문서 내용을 포함하세요(기본적으로 텍스트 파싱이 수행되며, OCR을 통해 향상됩니다).
  • 문서에 대한 의미론적 검색을 수행하려면 "Upload for File Search"를 사용하세요 (RAG API 필요)
  • 에이전트의 "File Context"에 파일을 추가하여 파일의 전체 내용을 에이전트의 시스템 지침(system instructions) 일부로 포함하세요.

마이그레이션 필요 (v0.8.0-rc3+)

중요: 에이전트 권한 마이그레이션 필요

v0.8.0-rc3 버전부터 LibreChat은 에이전트를 위한 새로운 ACL(Access Control List) 기반 권한 시스템을 사용합니다. 이전 버전에서 업그레이드하는 경우, 기존 에이전트에 계속 액세스할 수 있도록 에이전트 권한 마이그레이션을 실행해야 합니다.

마이그레이션의 역할

에이전트 권한 마이그레이션은 에이전트를 단순한 소유권 모델에서 다음과 같은 다중 권한 수준을 갖춘 정교한 ACL 기반 시스템으로 전환합니다:

  • OWNER: 에이전트에 대한 전체 제어 권한
  • EDITOR: 에이전트를 보거나 수정할 수 있습니다
  • VIEWER: 에이전트에 대한 읽기 전용 액세스 권한

이 마이그레이션을 실행하지 않으면, 기존 에이전트는 새로운 권한 인식 API endpoint를 통해 액세스할 수 없게 됩니다.

마이그레이션 실행하기

배포 방식에 따라 적절한 명령어를 선택하세요:

1. 기본 docker-compose.yml의 경우 (docker compose up을 사용하여 앱을 시작하는 경우):

변경 사항 미리보기 (dry run):

docker compose exec api npm run migrate:agent-permissions:dry-run

마이그레이션 실행:

docker compose exec api npm run migrate:agent-permissions

사용자 지정 배치 크기 (대규모 데이터셋용):

docker compose exec api npm run migrate:agent-permissions:batch

2. deploy-compose.yml의 경우

Ubuntu Docker 가이드를 따랐다면:

변경 사항 미리보기 (dry run):

docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run migrate:agent-permissions:dry-run"

마이그레이션 실행:

docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run migrate:agent-permissions"

사용자 지정 배치 크기 (대규모 데이터셋용):

docker exec -it LibreChat-API /bin/sh -c "cd .. && npm run migrate:agent-permissions:batch"

3. 로컬 개발 환경 (프로젝트 루트에서):

변경 사항 미리보기 (dry run):

npm run migrate:agent-permissions:dry-run

마이그레이션 실행:

npm run migrate:agent-permissions

사용자 지정 배치 크기 (대규모 데이터셋용):

npm run migrate:agent-permissions:batch

마이그레이션 중 발생하는 일

  • Private Agents: 생성자에게만 액세스 권한이 유지됩니다(OWNER 권한을 받음)
  • 공유 에이전트(Shared Agents): 이전에 공유된 에이전트인 경우, 공개 에이전트(모든 사용자에게 공유됨)로서 적절한 ACL 항목이 부여됩니다.
  • 시스템 감지: LibreChat은 시작 시 마이그레이션되지 않은 에이전트를 자동으로 감지하여 경고를 표시합니다.

Agent Builder UI를 통해 결과로 생성된 에이전트 권한을 조정할 수 있습니다.

참고

동일한 마이그레이션 프로세스가 프롬프트에도 적용됩니다. 기존 프롬프트가 있는 경우, 동일한 명령어를 사용하되 명령어 이름에서 agentprompt로 변경하여 프롬프트 권한 마이그레이션을 실행하세요.

Agents API (베타)

LibreChat 에이전트는 API를 통해 프로그래밍 방식으로 액세스할 수도 있으며, 이를 통해 외부 애플리케이션과 스크립트가 OpenAI 호환 SDK 또는 Open Responses 형식을 사용하여 에이전트와 상호 작용할 수 있습니다.

설정 및 사용에 대한 자세한 내용은 Agents API 문서를 참조하세요.

다음 단계는 무엇인가요?

LibreChat Agents는 LibreChat 내의 경험 전반에 걸쳐 특정 작업 및 워크플로우를 위한 에이전트를 통해 향후 파이프라인을 간소화할 수 있는 앱의 새로운 시대를 열어줍니다.

향후 업데이트에는 다음이 포함될 예정입니다:

  • 현재 Agent 경험에 대한 일반적인 개선 사항
  • 복잡한 워크플로우를 위한 멀티 에이전트 오케스트레이션
  • 다양한 기능을 위한 에이전트 사용자 지정 기능: 제목 지정(채팅 스레드 이름 지정), 메모리 관리(사용자 컨텍스트/기록), 프롬프트 향상(입력 지원/예측)
  • 더 많은 도구, 구성 가능한 도구 매개변수, 동적 도구 생성.

또한, 이번 업데이트는 LibreChat의 새로운 패러다임을 제시합니다. 기본 아키텍처가 앱에 꼭 필요한 쇄신을 제공하여 사용자 경험과 전반적인 앱 성능을 모두 최적화하기 때문입니다.

주목할 만한 최적화 중 하나를 강조하자면, 약 1000 토큰의 AI 생성은 기존 endpoint(작성 시점 기준으로 Agents 및 AWS Bedrock을 제외한 모든 endpoint 옵션)를 사용할 경우 약 1MB의 데이터를 전송하게 됩니다.

에이전트를 사용하면 동일한 생성 작업에서 약 52kb의 데이터만 전송되므로 데이터 전송량이 95% 감소하며, 이는 서버와 사용자 기기의 부하를 그만큼 줄여줍니다.


LibreChat의 AI Agents는 코딩 지식 없이도 전문화된 어시스턴트를 생성할 수 있는 강력한 방법을 제공하며, 동시에 선호하는 AI 모델 및 제공업체와 유연하게 작업할 수 있도록 지원합니다.


#LibreChat #AIAssistants #NoCode #OpenSource

이 가이드는 어떤가요?