파트 V AI 에이전트
이 장에서는 작업 영역에서 에이전트를 생성, 테스트, 배치 및 모니터하는 방법에 대한 정보를 제공합니다.
에이전트는 엔드투엔드 에이전트 응용 프로그램입니다. 에이전트는 다양한 유형(트리거, 에이전트, 난간 또는 도구)의 노드로 표시되는 단계 그래프를 통해 정의됩니다. 에이전트는 노코드 시각적 흐름 빌더 및 LangGraph와 같은 타사 라이브러리를 통해 코드를 통해 정의할 수 있습니다.
- 사용자 정의 도구: 사용자 정의 코드 도구를 사용하면 에이전트 개발자가 자체 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(메모리) 탭에서 메모리에 보관할 수 있는 항목을 구성할 수 있습니다.
단일 에이전트 메모리 구성
단일 에이전트 시스템의 메모리 구성은 에이전트 노드의 [메모리] 탭에서 찾을 수 있습니다.

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

다중 에이전트 시스템의 메모리는 강제 적용되며 사용 안함으로 설정할 수 없으며 상위자 에이전트 노드에 표시된 메모리 자르기 옵션은 상위자 에이전트 메모리에만 적용됩니다. 각 실행기 에이전트 메모리 자르기 정책은 전체 시스템에 대해 선택된 상태 격리 정책에 따라 실행기 노드 메모리 탭에서 구성할 수 있습니다.
또한 다중 에이전트 시스템 메모리 구성을 통해 실행기 에이전트의 메모리 공유 정책을 선택할 수 있습니다. Stateless, Private 및 Shared의 세 가지 옵션이 있습니다. 정책은 모든 실행기 에이전트에 적용됩니다.
| 실행기 에이전트에 대한 상태 격리 | 설명 |
|---|---|
| Stateless | 각 실행기 에이전트는 감독자가 할당한 작업만 표시합니다. 호출 사이에 전달된 내역이 없습니다. 실행기 에이전트가 감독자 에이전트에 후속 조치를 요청할 수 없습니다.
Stateless가 선택된 경우 각 실행기 에이전트의 메모리가 사용 안함으로 설정됩니다. |
| 프라이빗 | 각 실행기 에이전트는 자신의 과거 상호 작용만 봅니다.
다른 실행기 에이전트나 감독자 에이전트와의 원래 사용자 대화는 볼 수 없습니다. |
| 공유 | 실행기 에이전트는 에이전트 및 사용자 간의 전체 대화 내역을 볼 수 있습니다. 모든 에이전트는 하나의 공유 컨텍스트에서 작동합니다.
공유가 선택된 경우 각 에이전트 노드 메모리 탭에서 각 실행기 에이전트에 대해 별도로 메모리 자르기 정책을 구성할 수 있습니다. |