파트 V AI 에이전트

이 장에서는 작업 영역에서 에이전트를 생성, 테스트, 배치 및 모니터하는 방법에 대한 정보를 제공합니다.

에이전트는 엔드투엔드 에이전트 응용 프로그램입니다. 에이전트는 다양한 유형(트리거, 에이전트, 난간 또는 도구)의 노드로 표시되는 단계 그래프를 통해 정의됩니다. 에이전트는 노코드 시각적 흐름 빌더 및 LangGraph와 같은 타사 라이브러리를 통해 코드를 통해 정의할 수 있습니다.

Oracle AI Data Platform Workbench는 데이터에 액세스하고 사용 사례에 맞게 구성할 수 있는 다양한 도구 템플릿을 제공합니다. 지원되는 도구는 다음과 같습니다.
  • 사용자 정의 도구: 사용자 정의 코드 도구를 사용하면 에이전트 개발자가 자체 Python 코드로 AI 데이터 플랫폼을 확장할 수 있습니다. 도구 구현을 ZIP 파일로 패키지화하고 작업 영역에 업로드한 다음 구성합니다. 에이전트는 런타임 시 LLM에서 제공하는 매개변수를 사용하여 코드를 도구로 호출합니다.
  • HTTP: HTTP 요청 도구를 사용하면 에이전트가 HTTPS REST API를 호출할 수 있습니다. 메소드, URL, 헤더, query 파라미터, 요청 본문, 인증 및 선택적으로 응답 최적화 단계를 포함한 요청을 구성합니다. 그러면 에이전트가 런타임 시 끝점을 호출합니다. HTTP 요청 도구는 시각적 빌더와 코드 빌더 모두에서 사용할 수 있습니다. 코드 빌더에서 이 도구는 aidpUtils Python 라이브러리를 통해 구성됩니다.
  • 프롬프트: 프롬프트 도구를 사용하면 AI 개발자가 선택한 LLM에 실행할 수 있는 매개변수화된 프롬프트를 정의할 수 있습니다. 프롬프트 도구의 일반적인 사용 사례에는 전자메일 제도 태스크, 번역 태스크, 스타일 변환, Git 커밋 메시지 및 코드 설명이 포함됩니다.
  • 원격 MCP 서버: 에이전트 개발자는 원격 MCP 서버 도구를 사용하여 에이전트를 원격 MCP(모델 컨텍스트 프로토콜) 서버에 연결할 수 있습니다.
  • RAG: 에이전트는 RAG 도구를 사용하여 응답을 생성하기 전에 관련 외부 지식을 가져올 수 있습니다. AI 데이터 플랫폼 워크벤치에서 RAG 도구는 지식 기반(23ai Vector Search)을 쿼리하고 의미상 관련된 문서 청크를 검색합니다. 그런 다음 이러한 청크는 응답 생성을 위해 에이전트로 전달됩니다.
  • SQL: 에이전트는 SQL 도구를 사용하여 Oracle Autonomous AI Lakehouse, Oracle Autonomous AI Transaction Processing, Oracle AI Database 등 외부 카탈로그를 통해 등록된 구조화된 데이터 소스에 대해 SQL 쿼리를 실행할 수 있습니다. 이 도구는 SQL query가 미리 정의되어 있고 파라메트화할 수 있는 시나리오를 위한 것입니다. 목표는 에이전트가 매개변수에 값을 할당하도록 하는 것입니다. 이 도구는 자연어 프롬프트를 기반으로 SQL query를 생성하는 NL2SQL 도구가 아닙니다.

    주:

    SQL 도구는 외부 카탈로그의 데이터에 대해서만 query를 수행합니다. 표준 카탈로그에 저장된 데이터는 지원하지 않습니다.

주:

시스템 툴을 테스트하려면 먼저 에이전트에 AI 컴퓨트를 연결해야 합니다. 연결된 컴퓨트가 없는 경우 Test(테스트) 탭이 사용 안함으로 설정됩니다.

AI 데이터 플랫폼 워크벤치에서 에이전트를 생성하면 선택한 작업영역 폴더에 에이전트 아티팩트 파일(.aflow)이 생성됩니다. 이 파일은 수정할 수 없습니다.

부품 V 에이전트 메모리

에이전트 메모리는 에이전트가 회전, 작업 또는 세션 간에 정보를 보존하고 재사용할 수 있게 해주는 AI 에이전트 시스템의 일부입니다.

임시이며 현재 프롬프트로 제한되는 모델의 컨텍스트 창과 달리 메모리는 팩트, 기본 설정, 이전 결정, 도구 출력, 중간 계획 또는 환경에 대한 관찰을 지속할 수 있습니다.

AI 데이터 플랫폼의 에이전트 메모리

AI 데이터 플랫폼은 세션 기간으로 제한되는 단기 메모리를 제공합니다. 에이전트의 Memory(메모리) 탭에서 메모리에 보관할 수 있는 항목을 구성할 수 있습니다.

단일 에이전트 메모리 구성

단일 에이전트 시스템의 메모리 구성은 에이전트 노드의 [메모리] 탭에서 찾을 수 있습니다.


시각적 빌더 캔버스가 단일 에이전트 노드 InvoiceAnalyst와 함께 표시됩니다. 노드가 선택되고 Memory 탭이 강조 표시됩니다.

메모리 구성 설명
에이전트 메모리 사용 이 설정은 에이전트 메모리를 사용으로 설정합니다. 사용 안함으로 설정된 경우 에이전트는 기본적으로 Stateless 시스템입니다. 각 회전은 독립적으로 처리되며 후속 질문을 할 수 없습니다. 메모리를 사용으로 설정하는 것이 좋습니다.
대화 내역 제한 이 선택이 사용 안함으로 설정되면 이전 회전은 모델이 컨텍스트가 부족하고 오류가 반환될 때까지 메모리를 채웁니다. 짧은 세션이 예상되는 경우 이 설정을 사용 안함으로 설정하는 것이 좋습니다. 그러나 대부분의 사용 사례에서는 대화 내역을 제한하는 것이 좋습니다.
자르기 구성 대화 내역을 제한하도록 선택한 경우 다음을 수행하여 내역을 잘라내도록 결정할 수 있습니다.
  • 마지막 N개 메시지만 유지(사용자 + 에이전트)
  • 전체 토큰 예산 설정(선입선출)
  • 또는 둘 다, 어느 쪽이 먼저 나오든 에이전트 메모리의 자르기를 트리거합니다.
최대 메시지 제한 마지막 N개의 메시지를 유지하도록 선택한 경우 N의 값을 설정할 수 있습니다.
토큰 예산 또는 전체 토큰 예산을 설정할 수 있습니다. 가장 최근의 토큰을 메모리에 보관하기 위해 첫 번째 토큰이 제거됩니다.

다중 에이전트 시스템 메모리 구성(감독자 패턴)

다중 에이전트 시스템의 메모리는 상위자 에이전트의 Memory(메모리) 탭에서 구성됩니다.


Visual Builder 캔버스가 다중 에이전트를 표시했습니다. AccountsManager 노드가 선택되고 Memory 탭이 표시됩니다.

다중 에이전트 시스템의 메모리는 강제 적용되며 사용 안함으로 설정할 수 없으며 상위자 에이전트 노드에 표시된 메모리 자르기 옵션은 상위자 에이전트 메모리에만 적용됩니다. 각 실행기 에이전트 메모리 자르기 정책은 전체 시스템에 대해 선택된 상태 격리 정책에 따라 실행기 노드 메모리 탭에서 구성할 수 있습니다.

또한 다중 에이전트 시스템 메모리 구성을 통해 실행기 에이전트의 메모리 공유 정책을 선택할 수 있습니다. Stateless, Private 및 Shared의 세 가지 옵션이 있습니다. 정책은 모든 실행기 에이전트에 적용됩니다.

실행기 에이전트에 대한 상태 격리 설명
Stateless 각 실행기 에이전트는 감독자가 할당한 작업만 표시합니다. 호출 사이에 전달된 내역이 없습니다. 실행기 에이전트가 감독자 에이전트에 후속 조치를 요청할 수 없습니다.

Stateless가 선택된 경우 각 실행기 에이전트의 메모리가 사용 안함으로 설정됩니다.

프라이빗 각 실행기 에이전트는 자신의 과거 상호 작용만 봅니다.

다른 실행기 에이전트나 감독자 에이전트와의 원래 사용자 대화는 볼 수 없습니다.

공유 실행기 에이전트는 에이전트 및 사용자 간의 전체 대화 내역을 볼 수 있습니다. 모든 에이전트는 하나의 공유 컨텍스트에서 작동합니다.

공유가 선택된 경우 각 에이전트 노드 메모리 탭에서 각 실행기 에이전트에 대해 별도로 메모리 자르기 정책을 구성할 수 있습니다.