소개
기존의 소프트웨어 개발에서 SDLC(소프트웨어 개발 수명 주기)는 구조화된 단계적 접근 방식을 제공합니다. 품질을 보장하고 위험을 줄이며 아이디어에서 릴리스까지의 명확한 로드맵을 제공합니다. 에이전트 개발 수명 주기(ADLC)는 독립 에이전트 구축의 고유한 복잡성을 해결하기 위해 고유하게 조정된 유사한 방법론입니다.
에이전트는 단순한 응용 프로그램이 아니라 동적 실행 환경 내에서 추론하고 행동하며 학습하는 시스템입니다. 에이전트의 비결정적 특성으로 인해 기존 QA 방식은 충분하지 않습니다. Agentforce와 같은 플랫폼이 주도하는 ADLC(에이전트 개발 수명 주기)는 다섯 단계에 걸쳐 이를 해결합니다. 아이디어 및 설계, 개발(“내부 루프”), 테스트 및 유효성 검사, 배포, 연속 모니터링 및 튜닝(“외부 루프”).
이 문서는 이미 SDLC(소프트웨어 개발 수명 주기)의 복잡성을 숙지하고 전문 지식을 에이전트 기반 시스템으로 확장하려는 개발자 및 엔터프라이즈 아키텍처를 위한 포괄적인 가이드입니다. 기본 목표는 기존 SDLC 메서드와의 주요 차이점을 강조하고 지능형 에이전트를 구축, 배포, 관리하는 전체 프로세스를 개념화하기 위한 구조화된 프레임워크를 제공하여 에이전트 개발 수명 주기(ADLC)를 빠르게 이해하는 것입니다.
문서는 각각 귀하의 지식과 실무 기술을 점진적으로 향상시킬 수 있도록 설계된 세 개의 명확한 장으로 구성되어 있습니다.
- 장 1: ADLC 프레임워크. 이 장에서는 ADLC(에이전트 개발 수명 주기)를 소개하며, 자율 에이전트 개발의 고유한 문제로 인해 SDLC와의 차이점을 자세히 설명합니다. 에이전트를 설계, 개발, 테스트, 배포하기 위한 프레임워크를 설정합니다.
- 장 2: Agentforce 플랫폼. 이 장에서는 전체 에이전트 개발 수명 주기를 간소화하고 가속화하는 통합 플랫폼인 Agentforce 살펴봅니다. Agentforce 에이전트 설계, 데이터 처리, 모델 교육, 배포, 지속적인 모니터링을 위한 도구를 제공하여 복잡한 과업을 간소화하고 효율성을 향상합니다.
- 장 3: 프로코드 구현. 이 가이드는 Agentforce 프로 코드 도구를 사용하여 에이전트 개발을 위한 실용적인 단계별 지침과 실제 예제를 제공합니다. 프로토타입 및 기능 엔지니어링부터 모델 배포, 성능 튜닝, 유지 관리에 이르기까지 전체 에이전트 개발 수명 주기를 다루며, 개발자가 프로덕션 환경에 적합한 에이전트를 구축할 수 있는 기술을 갖추게 합니다.
이 문서는 Agentforce의 프로코드 도구에 대한 이론 및 실무 지식을 제공합니다. 에이전트를 효율적으로, 안전하게, 신뢰할 수 있게 구축, 배포, 모니터링하는 방법을 학습하여 ADLC에 대한 포괄적인 이해를 얻고 지능형 에이전트 개발에서 Agentforce 잠재력을 극대화합니다.
AI 에이전트의 비결정적 특성에는 특수 개발 프레임워크가 필요합니다. 이 장에서는 ADLC(에이전트 개발 수명 주기)를 소개하여 해당 프레임워크를 간략하게 설명합니다. 이 장에서는 초기 아이디어 및 설계에서 연속 모니터링 및 튜닝에 이르기까지 ADLC의 5가지 핵심 단계에 대한 포괄적인 개요를 제공합니다. 이 장에서는 강력하고 신뢰할 수 있는 에이전트를 구축하는 데 필요한 기본 지식을 제공합니다.
이 섹션에서는 SDLC 개념을 ADLC의 5단계에 매핑합니다.
이는 에이전트의 전략적 목적 및 운영 범위를 정의하는 기본 단계입니다. 잘 구조화된 설계 단계는 비즈니스 요구를 기술적인 청사진으로 전환하기 때문에 성공을 위한 가장 중요한 단계입니다. 설계 프로세스를 통해 에이전트가 기능적일 뿐만 아니라 책임감 있고 사용자 기대에 부합하도록 보장합니다. 이는 코드를 작성하기 전에 “what”과 “why”가 결정되는 단계입니다.
- 에이전트 목표 및 역량 정의: 먼저 에이전트의 기본 목표와 에이전트가 수행할 측정 가능한 특정 과업을 명확하게 설명해야 합니다. 여기에는 역할(예: “고객 서비스 도우미”), 핵심 기능(예: “약속 예약”, “제품 질문에 답변”) 및 각각의 성공 지표를 정의해야 합니다.
- 페르소나 및 윤리적 가이드라인 설정: 이 단계에서는 에이전트의 개인성을 설계하고 윤리적 경계를 정의하여 신뢰할 수 있고 안전한 상태를 유지합니다. 에이전트의 어조(예: “공식적”, “친근한”)를 설정하고, 유해하거나 편향적이거나 부적절한 응답을 방지하기 위해 엄격한 규칙을 구현합니다.
- 컨텍스트와 이해 매핑: 에이전트가 효율적으로 이해하고 기억해야 하는 정보를 결정해야 합니다. 여기에는 지식 기반의 범위와 대화 메모리를 정의하는 것이 포함되며, 이를 통해 일관된 다중 턴 대화를 할 수 있습니다.
- 도구 및 시스템 통합 식별: 여기에는 과업을 실행하기 위해 에이전트가 연결해야 하는 외부 시스템, API, 데이터 소스의 재고가 포함됩니다. 각 도구(예: 예약 API, 고객 데이터베이스)가 식별되고 기능이 특정 에이전트 기능에 매핑됩니다.
- 인간 개입 에스컬레이션 계획: 에이전트가 사람에게 에스컬레이션하는 조건을 정의하는 것이 중요합니다. 이는 에이전트가 사람 운영자에게 에스컬레이션해야 하는 시점을 결정하기 위해 잠재적인 실패 지점과 대화의 “막다른 길”을 검토하는 작업을 포함합니다. 설계에는 이 핸드오프가 어떻게 수행되어 충분한 컨텍스트가 전달되고, 이를 통해 원활한 고객 경험을 빠르게 제공할 수 있는지가 설명되어야 합니다.
이 단계는 설계 청사진이 실제로 동작하는 에이전트로 전환되는 구축 단계입니다. 개발자는 에이전트를 구축하고, 도구에 연결하며, 업무를 수행하는 데 필요한 데이터를 제공합니다. 이 반복적인 “내부 루프”를 통해 에이전트가 진정으로 살아나게 됩니다.
- 에이전트의 논리 및 의사 결정 구성: 이 단계는 컨텍스트, 도구 및 데이터 소스에 의사 결정 프레임워크를 연결하여 에이전트의 추론을 구축하는 과정입니다. 개발자의 역할은 API를 만들거나 기존 API를 재사용하고, 운영 가드 레일을 설정하고, 에이전트가 복잡한 다단계 과업을 완료하기 위해 사용 가능한 도구를 선택하고 사용하는 방법을 지정하여 에이전트의 동작을 정의하는 것입니다.
- 엔지니어 프롬프트 및 미세 조정 모델: 에이전트의 페르소나, 지침 및 제약 조건은 세심한 프롬프트 설계를 통해 체계화됩니다. 이 프로세스는 대규모 언어 모델(LLM)을 안내하는 마스터 프롬프트를 만들고, 더 고급 사용 사례의 경우 도메인별 데이터에서 모델을 미세 조정하여 성능을 향상시키는 과정입니다.
- AI 도구 통합 및 보안: 설계 단계에서 식별된 함수 및 API가 에이전트에 연결됩니다. 개발자는 SDK를 사용하여 기존 함수를 감싸거나 새 함수를 만들어 에이전트가 안전하게 호출할 수 있도록 하며, 적절한 인증 및 오류 처리를 보장합니다.
- 데이터 및 RAG 파이프라인 구축: 에이전트에게 외부 지식을 제공하기 위해 개발자는 검색 기반 생성(RAG) 데이터 파이프라인을 구축합니다. 이는 벡터 저장소, 관계형 데이터베이스, 그래프 데이터베이스 또는 내부 문서와 같은 소스의 데이터를 연결하고 색인화하여 에이전트가 정확하고 상황에 맞는 응답을 제공하기 위해 해당 정보를 액세스할 수 있게 합니다.
AI 에이전트 테스트는 기존 소프트웨어의 결정론적 유효성 검사와는 다른 패러다임 전환을 요구합니다. 전통적인 응용 프로그램은 특정 입력에 대해 하나의 예상 출력만이 나와야 한다는 정확성 테스트를 거치는 반면, 에이전트의 비결정론적 특성은 보다 정교한 접근 방식을 요구합니다. 목표는 단일 정답의 유효성을 검사하는 것이 아니라, 에이전트의 동작이 의도한 목적에 부합하며 예기치 않은 입력에도 견고하고 허용 가능한 결과 범위 내에서 신뢰할 수 있는지를 확인하는 데 있습니다.
- 단위 테스트: 이 계층은 결정적이고 AI가 아닌 에이전트의 구성 요소에 초점을 맞춥니다. 일반적인 단위 테스트를 통해 각 개별 도구 및 기능이 격리된 상태에서 올바르게 작동하는지 확인하여 에이전트의 복잡한 추론을 적용하기 전에 신뢰할 수 있는 기반을 확보합니다.
- 종단간(E2E) 테스트: 이 단계는 비결정적 특성으로 인해 중요한 현실적인 시나리오에서 목표를 달성하는 에이전트의 능력을 평가합니다. 정확한 출력을 확인하는 대신, 이러한 엔드 투 엔드 테스트는 에이전트가 과업을 성공적으로 완료하고, 변경 사항이 이루어져도 성능이 저하되지 않는지 검증합니다.
- 적대적 및 견고성 테스트: 이는 에이전트를 의도적으로 망가뜨려 그 약점을 사전에 발견하기 위한 테스트 방식입니다. 테스터는 모호한 요청, 악성 프롬프트, 기타 경계 사례를 사용하여 취약성을 노출하고 에이전트가 압박을 받는 상태에서 복원력과 안전성을 유지합니다.
- HITL(Human-in-the-Loop) 평가: 자동화된 테스트는 어조나 대화 흐름과 같은 미묘한 특성을 측정할 수 없으므로 이 단계는 사람의 피드백에 의존합니다. 테스터가 에이전트와 상호 작용하여 응답에 도움이 되고 전반적인 사용자 환경에 대한 점수를 매겨 동작을 미세 조정하기 위한 필수 데이터를 제공합니다.
- 성능 및 규모 테스트: 이는 사용자에게 영향을 미치기 전에 성능 병목 현상을 방지하는 중요한 단계입니다. 이 프로세스는 현실적인 최대 사용 시나리오를 시뮬레이션하여 에이전트 및 응용 프로그램이 대용량을 원활하고 예측 가능한 방식으로 처리할 수 있도록 합니다. 솔루션이 단순히 올바르기만 한 것이 아니라, 확장성도 갖추고 있음을 검증합니다.
AI 에이전트 배포는 사용자가 신뢰할 수 있고 반복 가능한 방식으로 상호 작용하는 검증된 에이전트를 보장하는 데 중점을 둔 관리 프로세스입니다. 이를 위해 에이전트를 버전 관리 자산에서 실시간 모니터링 서비스로 이동하는 구조화된 접근 방식이 필요합니다.
- 포장 및 버전 관리: 에이전트의 전체 정의(프롬프트 및 도구 포함)는 파일의 메타데이터로 수집되고 Git와 같은 소스 제어 시스템에 저장됩니다. 이렇게 하면 신뢰할 수 있는 단일 소스와 모든 변경 사항에 대한 감사 가능한 내역이 생성됩니다.
- CI/CD 파이프라인: 프로덕션 경로는 자동화되어 인적 오류를 없애고 일관성을 보장합니다. 이러한 파이프라인은 개발, 테스트, 프로덕션 환경을 통해 에이전트를 자동으로 승격하고 각 단계에서 테스트를 종단간 실행하여 품질 게이트 역할을 수행합니다.
- 단계별 롤아웃 전략: 위험을 최소화하기 위해 새 에이전트 버전은 먼저 Canary Releases와 같은 전략을 사용하여 소규모 사용자 하위 집합에 릴리스됩니다. 이를 통해 전체 롤아웃 전에 실시간으로 성능을 모니터링할 수 있으며 문제가 발생할 경우 신속하게 되돌릴 수 있습니다.
- 활성화 및 거버넌스: 에이전트를 롤아웃하는 중요한 단계는 올바른 권한을 가진 에이전트를 안전하게 활성화하고 모니터링 도구에 연결되어 있는지 확인하는 것입니다. 이렇게 하면 새로 배포된 에이전트의 상태 및 성과가 적용되는 순간부터 즉시 확인할 수 있습니다.
배포는 에이전트 개발 수명 주기의 끝이 아니라 연속적인 “외부 루프”의 시작입니다. 에이전트는 예측할 수 없는 실제 환경에서 작동하는 동적 시스템입니다. 이 단계는 에이전트의 실시간 성과를 관찰하고, 상호 작용에서 인사이트를 수집하고, 해당 데이터를 사용하여 시간에 따른 효율성, 안전성, 효율성을 체계적으로 구체화하고 개선하는 데 전념합니다.
- 실시간 성능 모니터링: 이는 사용자와 상호 작용할 때 에이전트의 핵심 운영 메트릭을 추적하는 방법입니다. 대시보드는 대기 시간, 토큰 소비량(비용), API 오류 비율을 모니터링하는 데 사용되며, 에이전트의 상태와 효율성을 즉각적이고 전체적으로 파악할 수 있게 해줍니다.
- 행동 및 성공 분석: 이는 대화 로그를 분석하여 에이전트가 실제로 업무를 수행하는 방식을 이해합니다. 과업 완료율을 추적하고, 일반적인 실패 지점이나 대화의 ‘막다른 길’을 식별하며, 사용자 만족도를 측정하여 에이전트가 목표를 성공적으로 달성하고 있는지 판단하는 데 중점을 두고 있습니다. 서비스 에이전트의 예로 에이전트가 사람에게 에스컬레이션하는 빈도 및 이유에 대한 메트릭을 제공할 수 있습니다.
- 인텔리전트 튜닝 및 정제: 이는 모니터링의 인사이트를 사용하여 에이전트를 개선하는 활성 프로세스입니다. 프롬프트 엔지니어링에서 도구 최적화까지 다양합니다.
- 데이터 중심 RAG 향상 기능: 에이전트의 지식 베이스의 품질은 실제 쿼리를 기반으로 지속적으로 향상됩니다. 모니터링을 통해 에이전트가 특정 주제에 대해 어려움을 겪고 있다는 사실이 드러나면, 데이터 소스나 검색 프로세스(RAG 개선)를 개선하여 응답의 정확성을 높일 수 있습니다.
- 계속 학습 및 적응: 이는 에이전트를 더 스마트하게 만들기 위해 프로덕션 데이터를 사용하는 피드백 루프를 만드는 것을 포함합니다. 사람 감독 또는 LLM 기반 레이블을 사용하여 대화형 로그에 레이블을 지정하여 기본 모델을 미세 조정하고 추가 개선 사항을 권장하는 데 사용할 수 있는 선별된 데이터 집합을 구축합니다.
Agentforce는 설계, 개발, 테스트, 배포, 모니터링, 분석을 위한 통합 도구를 제공하여, 강력한 에이전트를 빠르게 구축하고 테스트할 수 있는 단일 통합 플랫폼 내에서 모든 ADLC 단계를 지원합니다.
Agentforce ADLC는 다음 지침을 기반으로 합니다.
- 로우코드와 프로코드 모두를 위해 구축: 구성 기반 배포(하위 코드) 및 프로그래밍 확장성(프로 코드) 지원
- 연속적인 AI 기반 지원 및 피드백 루프: 대화 데이터를 수집하고 분석하여 지속적인 AI 중심 개선을 위해 에이전트 튜닝에 활용합니다.
- 모든 수준의 테스트 기반 개발: 모든 단계에서 엄격한 테스트를 수행하고, 기존 단위 테스트를 통해 결정적 구성 요소를 검증하며, 에이전트 추론 및 비결정적 동작을 테스트하기 위한 새로운 접근 방식을 제공합니다.
- 경영진 및 LOB(라인 오브 비즈니스) 가시성: 운영 및 경영진에게 비용, 사용량, 성과 지표를 제공합니다.
이 장에서는 Agentforce가 단일 통합 플랫폼 내에서 모든 단계의 ADLC를 지원하는 방법을 설명합니다.
아이디어
아이디어 단계는 에이전트에 대한 초기 비전 및 요구 사항이 수립되는 ADLC의 기본 단계입니다. 이는 문제를 깊이 이해하고, 잠재적 해결책을 식별하며, 에이전트의 핵심 기능을 개략적으로 제시하는 과정을 포함합니다.
핵심 특성을 정의하여 에이전트의 아이디어 프로세스를 시작하세요:
- 목적/목표: 에이전트의 기본 목표를 명확하게 정의합니다. 해결할 특정 문제 또는 수행할 과업은 무엇입니까? 에이전트가 담당해야 하는 사람은 누구입니까? 이는 전체 개발 프로세스를 안내하는 간결하고 측정 가능한 설명이어야 합니다.
- Persona: 에이전트에 대한 상세 페르소나를 개발합니다. 여기에는 ID, 커뮤니케이션 스타일, 사용자 또는 다른 시스템과의 상호 작용에서 수행할 역할 정의가 포함됩니다. 톤, 형식성 수준, 그리고 해당 맥락에서 효과적으로 작동할 수 있는 특정 특성을 고려하세요.
- 패턴: 관련 에이전트 패턴 및 구현 전략을 식별하고 연결합니다. 여기에는 에이전트의 구조와 행동에 정보를 제공할 수 있는 아키텍처 설계 또는 모범 사례가 포함됩니다. “Agentic 패턴 및 Salesforce Agentforce 구현:” A Technical Whitepaper(기술 백서))는 이 단계에서 중요한 자료로서 Salesforce 플랫폼 및 Agentforce에서 효과적인 에이전트 설계에 대한 인사이트를 제공합니다.
설계
설계 단계는 아이디어의 개념을 에이전트의 구축을 위한 자세한 청사진으로 변환합니다. 여기에는 에이전트의 아키텍처, 사용자 플로, 상호 작용 모델, 주제, 도구, 가드 레일과 같은 기술 사양 정의가 포함됩니다.
설계 단계 동안 다음을 포함하는 에이전트의 구축에 대한 세부 청사진을 만듭니다.
- 에이전트 디자인: 구성 요소, 모듈, 상호 작용 방식 등 에이전트의 내부 구조를 간략하게 설명합니다. 이는 에이전트의 동작을 제어하는 지식 기반, 구성 및 논리, 자연어 처리(NLP) 구성 요소, 그리고 다른 시스템과의 통합 지점 정의가 포함될 수 있습니다.
- 사용자 플로우/상호작용 설계: 전체 사용자 여정 및 에이전트의 상호 작용을 매핑합니다. 대화 플로, 결정 트리, 오류 처리, 사용자 의견 메커니즘을 정의하여 직관적이고 효과적인 환경을 만듭니다.
- 기술 사양: 성능 메트릭, 확장성 고려 사항, 보안 프로토콜, 통합 사양 등 에이전트에 대한 기능이 아닌 기술 요구 사항을 문서화합니다.
- 프로토타이핑 & 모형 제작: 에이전트의 인터페이스 및 상호 작용에 대한 시각적 표현 또는 대화형 프로토타입을 만듭니다. 이를 통해 조기에 테스트 및 사용자 의견을 제공하여 전체 규모 개발을 시작하기 전에 설계를 구체화할 수 있습니다.
- 데이터: 에이전트에게 필요한 데이터 유형 및 소스를 결정할 때 에이전트가 액세스해야 하는 데이터 집합, API, 데이터베이스, 리포지토리를 식별합니다. Agentforce의 경우, 컨텍스트로 제공되는 데이터가 구조화된 것인지 비정형인지, 실시간인지 배치인지에 초점을 맞춥니다. Agentforce 플랫폼은 Data 360과 깊이 통합되므로 Salesforce CRM 및 기타 소스의 구조화된 데이터와 비정형 데이터를 모두 사용할 수 있습니다. 구조화되지 않은 콘텐츠는 RAG에 대해 기본적으로 청크 및 색인화할 수 있습니다. MuleSoft를 사용하면 외부 시스템에 연결할 수 있습니다.
- 도구: 에이전트가 수행해야 하는 작업을 식별합니다. Agentforce Actions를 사용하여 비즈니스 목표를 달성하는 도구를 노출합니다. 이러한 작업은 기존 Salesforce 자산(예: Prompt Builder, MuleSoft, Apex, Flows 및 OpenAPI 사양을 사용하는 API를 통해 Prompts)을 활용합니다. 호출 가능한 작업은 Agentforce에 통합되어 에이전트가 활용할 수 있으며, 이를 통해 익숙한 모든 Salesforce 개발 도구를 Agentforce Actions로 쉽게 사용할 수 있습니다.
- 에이전트의 입력 데이터: 기존 SDLC에서는 입력이 정확하게 지정됩니다. ADLC에서 입력은 자연스럽고 결정적이지 않은 자유 형식의 발화인 경우가 많습니다. 적절한 응답을 생성할 것으로 예상되는 발화의 대표 코퍼스를 수집합니다.
개발 단계에서는 아이디어 및 설계 단계에서 결정한 정의된 에이전트의 목적, 기능 및 운영 범위를 새로운 Agentforce 에이전트로 전환하는 데 중점을 둡니다.
개발자가 에이전트를 만들 수 있도록 Agentforce는 에이전트 빌더 및 Aventforce Developer Experience(AFDX)를 모두 제공합니다. 이러한 기본 도구는 에이전트를 구축하고 구성하는 기본 환경으로 사용됩니다.
- 에이전트 빌더는 에이전트의 핵심 기능을 정의할 수 있는 UI 환경을 제공합니다.
- AFDX는 맞춤화 및 다른 시스템과의 통합을 위한 프로그래밍 인터페이스를 제공합니다.
에이전트 개발 및 구축에는 에이전트 빌더 또는 AFDX를 사용하여 수행할 수 있는 다음 단계가 포함됩니다.
- 페르소나 정의: 에이전트 설계의 중요한 측면은 고유한 개인 정보를 설정하는 것입니다. 이는 다음을 구성하는 것을 포함합니다.
- 에이전트 설명: 처리하도록 설계된 에이전트의 역할, 목표, 특정 고객 서비스 과업에 대한 자세한 설명입니다.
- 어조: 에이전트의 커뮤니케이션 스타일, 공감 수준 및 준수해야 하는 특정 브랜드 지침입니다.
- 에이전트 주제 및 작업 정의: 에이전트가 정교하고 다양한 과업을 처리할 수 있으려면, 그 기능을 각각의 주제와 해당 주제에 맞는 작업으로 세분화하는 것이 필수적입니다.
- 주제: 각 주제는 고유한 지침과 도구 세트를 가진 자체 전문 에이전트로 개념화할 수 있습니다.
- 모듈식 아키텍처. 주제에 대한 모듈식 접근 방식을 통해 더 나은 구성 및 확장성을 제공할 수 있습니다. 에이전트는 여러 주제를 정의하여 더 광범위한 복잡한 시나리오를 처리할 수 있습니다. 예를 들어, 에이전트는 “주문 관리”, “자주 묻는 질문 (FAQ)”, “기술 지원”, 그리고 “청구 문의”와 같은 별도의 주제를 가질 수 있습니다.
- 주제 지침(가드레일): 각 주제에는 에이전트가 해당 주제 내에서 논의하거나 수행할 수 있는 작업 범위를 정의하는 가드 레일 역할을 하는 특정 지침이 포함되어 있습니다. 이 지침들은 에이전트가 주제에서 벗어나거나 관련 없는 정보를 제공하지 않도록 방지합니다. 또한 응답의 일관성과 정확성을 유지하는 데 도움이 됩니다.
- 작업: 주제에는 에이전트가 수행할 수 있는 작업을 나타내는 “도구”도 있습니다. 다음 도구가 될 수 있습니다.
- 정보 조치: Knowledge 데이터베이스 또는 외부 시스템에서 데이터를 검색하여 질의에 응답합니다.
- 거래 조치: 주문하기, 고객 레코드 업데이트 또는 환불 프로세스 시작과 같은 사용자를 대신하여 작업 수행 이러한 작업은 다른 시스템(예: CRM, ERP)과 통합되는 경우가 많습니다.
- 주제: 각 주제는 고유한 지침과 도구 세트를 가진 자체 전문 에이전트로 개념화할 수 있습니다.
테스터는 AI 에이전트의 성능 및 신뢰도를 평가할 때 사용자 환경이 저하될 수 있는 다양한 문제에 직면하게 됩니다. 이러한 문제는 사용자의 의도를 잘못 해석하는 것부터 과업을 올바르게 수행하지 못하는 경우까지 다양합니다.
일반적인 에이전트 실패 시나리오
강력한 에이전트를 구축하려면 실패할 수 있는 방법과 위치를 이해해야 합니다. 다음 표는 결함 있는 추론부터 부정확한 지식 검색까지, 에이전트 수명 주기 동안 발생하는 일반적인 문제들을 범주화합니다. 이를 개발 시 전략 가이드로, 테스트 시 체크리스트로 사용하여 에이전트가 기능적일 뿐만 아니라 최종 사용자에게 신뢰할 수 있고 직관적인지 확인하세요. 다음 실패 시나리오는 테스트 사례를 정의하는 데 도움이 됩니다.
| 범주 | 설명 | 실패 예제 |
|---|---|---|
| 주제 분류 | 에이전트가 사용자의 의도 또는 목표를 올바르게 식별하지 못합니다. |
|
| 응답 품질 | 에이전트의 응답 내용, 정확성, 형식에 문제가 있습니다. |
|
| 작업 실행 | 특정 기능 또는 과업을 수행하려고 할 때 에이전트가 실패합니다. |
|
| 가드레일 및 지침 | 에이전트가 사전 정의된 규칙, 제약 또는 대화 경계를 위반합니다. |
|
| 지식 검색 | 에이전트는 지식 베이스에서 정보를 가져오고 표시하는 데 문제가 있습니다. |
|
| 구조화된 지침 | 에이전트는 다단계 프로세스를 통해 사용자를 안내하는 데 어려움을 겪고 있습니다. |
|
AI 에이전트 테스트 모범 사례
다음은 Agentforce 에이전트를 테스트할 때 유의해야 할 모범 사례입니다.
-
테스트 데이터 강화
효과적인 테스트의 기반은 포괄적이고 현실적인 테스트 데이터입니다. 다음 원칙에 따라 에이전트를 테스트할 수 있는 효과적인 테스트 데이터를 확보합니다.- 충분한 범위: 모든 중요 주제 및 사용자 페르소나를 다루기 충분한 테스트 데이터를 보유하십시오.
- 현실적인 시나리오: 테스트 데이터가 실제 사용자 상호 작용을 정확하게 나타내는지 확인합니다.
- 부정 및 경계 사례: 부정 테스트 사례(에이전트가 하지 않아야 하는 작업)와 경계 사례를 포함합니다.
- 가드레일 테스트: 에이전트의 가드레일이 올바르게 작동하는지 확인하기 위해 고안된 특정 테스트 사례를 추가합니다.
-
테스트 실행 최적화
테스트 자원을 최대한 활용하려면 테스트 실행 방법을 최적화합니다. 다음은 Agentforce 에이전트를 테스트할 때 고려해야 할 사항입니다.- 테스트 케이스 볼륨: 최대 1,000개의 테스트 사례를 활용할 수 있습니다.
- 동시 테스트 실행: 10시간 이내에 최대 10개의 테스트 사례를 한 번에 실행할 수 있습니다.
- 자원 관리: 테스트를 실행하면 크레딧이 소비됩니다. 불필요한 비용을 피하려면 실행을 시작하기 전에 테스트 데이터에 만족하는지 확인하십시오.
-
결과 검토
테스트 결과를 주의 깊게 분석하여 개선 사항을 파악합니다.- 실패 분석: 실패한 각 테스트 사례를 개별적으로 검사합니다. 예상 결과와 실제 결과 간의 차이점을 주의 깊게 읽고 이해하여 문제를 파악합니다.
- Sandbox 환경 사용: 테스트 에이전트가 CRM 데이터를 수정할 수 있습니다. 실시간 데이터에 의도치 않은 변경을 방지하려면 항상 Sandbox 또는 스크래치 조직과 같은 비프로덕션 환경에서 테스트를 수행하십시오.
-
조정 및 재테스트
테스트는 에이전트가 발전함에 따라 계속 진행되는 반복 프로세스입니다.- 지속적으로 테스트: 에이전트의 주제 또는 작업을 수정한 후 테스트를 수행합니다. 이렇게 하면 변경 사항이 확인되고 품질이 유지됩니다.
- 테스트 범위 확장: 새로운 테스트 사례로 데이터셋을 지속적으로 관리 및 확장하여 에이전트의 전반적인 테스트 커버리지와 견고성을 향상시킵니다.
테스트 접근 방식
에이전트의 복잡성에 따라 단일 테스트 방법이 충분하지 않습니다. 예측 가능한 결정적 작업부터 비결정적이고 대화형인 특성에 이르기까지 다양한 접근 방식을 결합한 계층적이고 포괄적인 검증 전략이 필요합니다. 이러한 접근 방식은 에이전트의 모든 구성 요소를 체계적으로 평가하여 강력하고 신뢰할 수 있으며 안전한지 확인하는 프레임워크를 제공합니다.
-
Agent Simulator 및 Plan Tracer를 사용한 수동 테스트
- 목적: 이는 에이전트를 테스트하는 최초의 간단한 방법입니다. 소수의 샘플 사용 사례에 적합하며 에이전트의 행동에 대한 기본적인 이해를 얻을 수 있습니다.
- 메커니즘: 에이전트 시뮬레이터는 개발자 및 관리자가 에이전트와 직접 상호 작용할 수 있는 제어 환경을 제공합니다. 이 시뮬레이터를 사용하면 관리자/개발자가 제공하는 정보를 자세히 추적하여 에이전트가 입력을 처리하고 출력을 생성하는 방법에 대한 인사이트를 제공할 수 있습니다.
- 혜택:
- 빠른 피드백
- 즉각적인 문제를 쉽게 식별할 수 있습니다.
- 에이전트의 논리 흐름을 이해하는 데 도움이 됩니다.
-
Testing Center 또는 AFDX Test Suite를 통한 자동화된 테스트
- 목적: 수동 테스트가 기능 기준선을 설정하면 자동 테스트가 확장성, 철저성, 회귀 테스트에 매우 중요해집니다.
- 메커니즘: 테스트 센터 또는 AFDX 테스트 도구를 사용하면 사전 정의된 샘플 사용 사례를 기반으로 자동 테스트를 생성할 수 있습니다. 해당 테스트는 에이전트의 지침 및 하위 에이전트 분류가 광범위한 시나리오에서 올바르게 작동하는지 여부를 확인하기 위해 고안되었습니다.
- 혜택:
- 일관된 성능 보장
- 섬세한 버그 식별
- 연속 통합/연속 배포(CI/CD) 파이프라인 지원
- 포괄적인 적용 범위 제공
-
Apex 및 플로우를 사용한 작업별 단위 테스트
- 목적: 에이전트 작업 내에서 캡슐화된 결정적 비즈니스 논리를 확인합니다. 에이전트의 전반적인 동작은 결정적이지 않지만, 에이전트 작업은 표준 개발 관행이 적용되는 플로우 및 Apex 같은 기술을 기반으로 합니다.
- 메커니즘: 개발자는 에이전트 작업이 호출하는 특정 플로 또는 Apex 클래스에 대한 단위 테스트를 작성합니다. 해당 테스트는 에이전트 논리의 개별 구성 요소를 확인하여 주어진 입력 집합에 대해 예상 출력을 생성하는지 확인합니다.
- 혜택:
- DevOps 파이프라인에 해당 단위 테스트를 통합하면 자동화된 안전망이 제공됩니다.
- 작업 논리에 대한 변경 사항 또는 개선 사항이 회귀를 유도하지 않는지 확인합니다.
- 프로덕션에 배포하기 전에 에이전트의 기능의 신뢰성을 보장합니다.
-
적대적 테스트 - 보안 및 가드레일 집행:
- 목적: 다양한 유형의 에이전트를 구축하려면 보안에 강력히 주의를 기울이고, 에이전트가 정의된 매개변수 및 가드레일 내에서 작동하도록 보장해야 합니다. 이는 의도하지 않은 작업, 데이터 침해 또는 오용을 방지하는 데 매우 중요합니다. 따라서 적대적 테스트의 목적은 안전 메커니즘을 우회하도록 설계된 입력을 통해 에이전트를 의도적으로 도전시켜, 이러한 잠재적 취약점을 사전에 식별하고 보완함으로써 에이전트의 견고성과 조작 저항성을 검증하는 것입니다.
- 메커니즘: 적대적 테스트는 에이전트의 의도된 동작 범위를 넘는 도전적이고 모호하며 악의적인 입력을 생성함으로써 수행됩니다. 에이전트 빌더의 “가드레일” 기능과 같은 플랫폼 도구는 지침 준수를 확인할 수 있는 인사이트를 제공하지만, 개발자는 제어된 환경에서 에이전트가 실패하도록 유도하는 사용자 정의 적대적 테스트 사례도 만들어야 합니다.
- 혜택: 이 접근 방식은 배포 전에 보안 및 규정 준수 위험을 체계적으로 완화합니다. 잠재적 실패 지점을 식별함으로써, 적대적 테스트는 에이전트의 신뢰성을 향상시키며 사용자가 상호작용할 때 에이전트가 안정적이고 의도한 대로 작동하는지를 보장합니다.
스크래치 조직 및 샌드박스에서 반복 테스트
“내부 루프”는 에이전트가 배포할 준비가 된 컨셉에서 확인된 구성 요소로 이동하는 중요하고 반복적인 주기입니다. 이 지속적인 세분화 프로세스를 수행하려면 개발 및 테스트를 위한 환경이 필요합니다. Agentforce는 이 프레임워크를, 공유 환경에 영향을 미치지 않는 빠른 프로토타입용 분리된 임시 환경인 스크래치 조직과, 실제 데이터를 사용해 철저한 테스트를 진행하여 프로덕션으로의 전환을 가속화하는 샌드박스를 통해 제공합니다.
- 스크래치 조직에서의 개발: 초기 개발은 스크래치 조직에서 수행해야 합니다. 에이전트 빌더 및 AFDX와 같은 개발 환경 내에 제공되는 도구가 여기에서 완전히 활용됩니다. 스크래치 조직은 단위 테스트를 실행하고 코드 분석을 수행하거나 고급 환경으로 변경 사항을 승격할 수 있는 CI/CD 파이프라인에 적합한 후보입니다.
- 실제 데이터 테스트를 위한 Sandbox 구축: 에이전트의 핵심 기능이 스크래치 조직에서 개발되면 샌드박스에 배포합니다. Sandbox는 프로덕션 환경의 복사본으로 보다 현실적인 테스트 공간을 제공합니다.
- 실제 데이터 vs. 모의 데이터: 일부 개발자는 초기 테스트를 위해 스크래치 조직의 데이터를 모의할 수 있지만, 샌드박스에 배포하면 “실제 데이터”를 사용하여 테스트할 수 있습니다. 이는 실제 고객 상호 작용을 밀접하게 반영하는 시나리오에서 에이전트의 성과를 평가하는 데 중요합니다. 샌드박스에서 보다 대표성 있는 데이터를 사용하면 개발 및 개선 프로세스가 크게 가속화됩니다.
- 핵심 CRM 데이터용 전체 또는 부분 샌드박스: 데이터 용량 및 특정 테스트 요구 사항에 따라 전체 또는 부분 Sandbox를 활용할 수 있습니다.
- 전체 샌드박스: 모든 메타데이터 및 데이터를 포함하여 프로덕션 환경의 전체 복제본을 제공합니다. 대규모 데이터 집합을 사용하여 광범위한 테스트 및 성능 튜닝에 적합합니다.
- 부분 샌드박스: 전체 데이터 집합이 엄격하게 필요하지 않은 특정 기능 또는 기능을 테스트하기에 충분한 프로덕션 데이터의 하위 집합을 포함합니다.
- Knowledge 및 RAG 관리: 에이전트가 Knowledge 자료 또는 RAG(Retrieval-Augmented Generation) 모델을 사용하는 경우 모든 관련 콘텐츠를 샌드박스에 수집하고 다시 색인화합니다. 이렇게 하면 에이전트가 테스트하는 동안 현재 정보를 사용하고 콘텐츠를 정확하게 검색하고 합성할 수 있습니다.
Agentforce 메타데이터를 통해 에이전트를 정의하므로 변경 집합 또는 AFDX와 같은 표준 Salesforce 절차를 사용하여 배포할 수 있습니다. 이 단계에서는 에이전트 버전 관리 및 별도의 활성화 단계와 같은 중요 기능을 통해 안전하고 통제된 롤아웃을 강조합니다. 이는 시스템의 안정성을 보장하고 문제를 신속하게 복구할 수 있습니다.
다음 단계를 수행하여 새 에이전트를 배포하고 릴리스합니다.
- Change Set/Metadata API 또는 AFDX를 통해 배포: 에이전트에 대한 배포 프로세스는 표준 Salesforce 절차를 활용하여 에이전트를 메타데이터로 처리합니다. Salesforce 개발 및 배포에 익숙한 사람이라면 누구에게나 친숙한 프로세스여야 합니다. 변경 집합 또는 AFDX를 활용하면 Sandbox에서 프로덕션으로 등 환경 간에 에이전트 구성을 마이그레이션하는 구조화되고 일관된 접근 방식을 사용할 수 있습니다. 이 방법을 사용하면 버전 관리 및 적절한 변경 관리를 쉽게 수행할 수 있으며, 이는 시스템 안정성과 신뢰성을 유지하는 데 매우 중요합니다.
- 배포 후 에이전트 활성화: 배포에 성공한 후에는 시스템 관리자가 에이전트를 적극적으로 “활성화”해야 합니다. 배포는 에이전트의 코드와 메타데이터를 대상 환경에 단순히 배치하는 것에 불과합니다. 활성화는 에이전트를 실제로 운영 가능하고 사용할 수 있게 만드는 단계입니다. 이 구분을 통해 에이전트가 실제로 운영되거나 최종 사용자 또는 다른 시스템 구성 요소와 상호 작용하기 전에 제어된 롤아웃과 테스트를 수행할 수 있습니다.
- 안전한 에이전트 관리를 위한 버전 관리 사용: 에이전트 버전 관리는 에이전트 개발 및 서비스 점검의 안전성과 유연성을 크게 향상하는 중요 기능입니다.
- 새 버전 만들기, 테스트 및 게시: 권장 사항은 변경 또는 개선이 필요한 경우 새 버전의 에이전트를 만드는 것입니다. 새 버전은 활성화된 라이브 에이전트에 영향을 미치지 않고 샌드박스 환경에서 철저하게 테스트할 수 있습니다. 새 버전이 검증되어 준비되면 이를 배포하고 활성화하여 이전 운영 버전을 대체할 수 있습니다. 이 반복 프로세스를 통해 중단을 최소화하면서 지속적으로 개선하고 혁신할 수 있습니다.
- 이전 버전으로 돌아가기: 버전 관리의 주요 장점은 새로 배포되거나 활성화된 에이전트에 문제가 발생할 경우 빠르고 쉽게 안정적인 이전 버전으로 되돌릴 수 있다는 것입니다. 오류가 발생할 경우(예: 에이전트가 잘못 동작하거나 예상치 못한 오류가 발생할 경우) 관리자는 마지막으로 알려진 정상적인 버전으로 롤백하고 활성화하기만 하면 됩니다. 이 기능은 중요한 안전망을 제공하여 신속한 복구를 수행하고 가동 중지 시간을 최소화하여 비즈니스 연속성 및 사용자 만족도를 보장합니다.
에이전트 모니터링
Agentforce 세션 추적은 엔드 투 엔드 에이전트 상호 작용을 캡처하는 Data 360에 구축된 확장 가능한 개방형 모델입니다. Agentforce 세션 추적은 다양한 소스의 데이터를 수집하고(추론 엔진 로그부터 시작) 세션 ID 아래 모든 정보를 결합합니다.
세션 추적 데이터 모델(STDM)은 다음을 포함하여 에이전트 세션 동안 발생한 상황에 대한 자세한 정보를 제공합니다.
- 턴별 상호작용
- 추론 엔진 실행
- 작업, 프롬프트 및 게이트웨이 입력/출력
- 오류 메시지
- 최종 응답
STDM은 개발자에게 중요한 도구입니다:
- 구축 시간 동안 에이전트 설정 및 구성 문제를 디버그합니다.
- 배치 테스트 동안 특정 테스트 사례가 실패한 이유를 알아봅니다.
- 에이전트가 사용자 질문 집합을 처리할 수 없거나 주제를 벗어나는 이유를 설명합니다.
개발자는 이 세션 추적 데이터를 사용하여 에이전트 이벤트, 사고, 동작 패턴을 관찰, 모니터링, 조사, 문제 해결해야 합니다.
STDM은 에이전트의 자세한 동작 로그를 저장하는 데이터 레이크 개체(DLO) 및 데이터 모델 개체(DMO)로 구성됩니다. 추론 엔진에서 이루어진 각 LLM 호출에 대한 메타데이터를 피드백 또는 가드 레일 메트릭과 결합할 수 있습니다. 데이터는 Data 360의 DLO로 스트리밍되고 해당 DMO에 매핑됩니다.
개발자는 이 데이터에 액세스하고 STDM에 대한 쿼리 및 보고서를 실행하여 인사이트를 얻을 수 있습니다. STDM의 구성 요소는 아래에 설명되어 있습니다.
Agentforce 세션 추적 데이터 모델 ERD
| 데이터 레이크 개체/데이터 모델 개체 | 설명 |
|---|---|
| AIAgentSession | 하나 이상의 AI 에이전트와 연속 상호 작용을 수집하는 전체 컨테이너입니다. |
| AIAgentSessionParticipant | AIAgentSession에 참여하는 엔티티(사람 또는 AI). |
| AIAgentInteraction | 세션 내의 세그먼트입니다. 일반적으로 사용자의 요청으로 시작하고 AI 에이전트가 해당 요청에 대한 응답을 제공하면 끝납니다. |
| AIAgentInteractionStep | 상호 작용 중에 사용자의 요청을 충족하기 위해 수행되는 개별 작업 또는 동작입니다. |
| AIAgentInteractionMessage | 세션 중에 사용자가 제공하거나 AI 에이전트가 생성한 단일 커뮤니케이션입니다. |
Agentforce 최적화
Agentforce Optimization은 사용자 상호 작용에 대한 심층적인 인사이트를 제공하여 AI 에이전트의 성능을 향상하도록 설계된 강력한 기능입니다. 세션 추적 데이터 모델(STDM)의 분석 기능을 기반으로 구축되어 관리자 및 개발자가 사용자 주제, 참여 패턴, 에이전트 해결의 효과를 이해할 수 있습니다.
Agentforce 최적화의 주요 측면은 다음과 같습니다.
- 지점별 데이터: Agentforce Optimization은 세션 중 특정 사용자 의도 또는 요청에 초점을 맞춘 상호 작용을 나타내는 “Moments”를 도입하여 STDM을 확장합니다. 이 세분화된 데이터를 사용하면 초기 사용자 요청에서 에이전트의 해결에 이르기까지 상호 작용의 모든 측면을 자세히 검사할 수 있습니다.
- 자동 모멘트 처리: 모멘트는 매일 생성되며, 모든 활성 에이전트에 대해 고급 대규모 언어 모델(LLM)을 사용하여 매주 클러스터링되고 태그가 지정됩니다. 이 세분화는 쿼리를 간소화하고 다양한 에이전트 세션의 측면에 대한 인사이트를 제공합니다.
- 쿼리 및 분석: 사용자는 태그, 품질 점수 및 기타 기준을 기반으로 모멘트를 쿼리할 수 있습니다. 이를 통해 모멘트 지속 시간 및 관련성 품질 점수와 같은 메트릭을 활용하여 사용자 참여를 평가하고 개선할 영역을 파악할 수 있습니다.
- 통합 데이터 모델: Agentforce 최적화는 통합 세션 추적 데이터 모델(STDM)을 활용하여 세션 내에서 로그된 모든 이벤트를 캡처합니다(개별 대화 순환 포함). 설정에서 STDM을 활성화하면 모든 관련 엔티티가 프로비저닝됩니다.
AI 에이전트 상호 작용을 분석함으로써 Agentforce 최적화는 사용자가 개선할 영역을 식별하고 구성을 세분화하여 사용자의 요구를 더 잘 충족시킬 수 있도록 지원합니다.
자세한 내용은 Agentforce 최적화의 데이터 모델을 참조하십시오.
이 장은 프로 코드 개발자를 위한 실용적인 가이드입니다. 빠르고 안전하게 Agentforce DX(AFDX) 및 Python SDK를 사용하여 에이전트를 구축, 테스트 및 배포하는 방법을 보여줍니다. AFDX와 Python SDK의 강력한 조합을 사용하여 초기 설계에서 버전 관리 에이전트까지 전체 수명 주기를 살펴볼 것입니다.
다음 예에서는 Agentforce 플랫폼에서 에이전트를 구축하고 관리하기 위해 설계된 두 가지 핵심 도구 집합을 활용합니다. 이 가이드를 최대한 활용하기 위해서는 이러한 도구들에 대한 기초적인 이해가 권장됩니다.
1. Agentforce DX(AFDX): 수명 주기 관리
Agentforce DX는 Salesforce CLI 및 VS Code 확장을 비롯한 친숙한 Salesforce Developer Experience(SFDX) 도구 집합을 확장하여 전체 에이전트 개발 수명 주기를 지원합니다. 에이전트를 버전 제어 메타데이터로 관리하고 명령줄에서 테스트를 자동화하거나 개발 Sandbox와 프로덕션 간 배포를 오케스트레이션하는 데 사용됩니다.
자세히 알아보려면 다음을 참조하십시오. Agentforce DX 개발 시작
2. Agentforce Python SDK: 에이전트 구축
Python SDK는 개발의 “내부 루프”를 위한 프로그래밍 인터페이스를 제공합니다. 익숙한 Python 환경 내에서 에이전트의 추론 논리를 정의하고, 도구를 연결하고, 프롬프트 템플릿을 직접 관리하여 ADLC의 핵심 구축 단계를 간소화할 수 있습니다.
SDK는 PyPI: https://pypi.org/project/Agentforce-sdk/에서 사용할 수 있습니다.
전체 프로젝트는 다음에서 사용할 수 있습니다.
https://github.com/akshatasawant9699/ADLC_Whitepaper.
이 기본 단계는 에이전트의 목적, 개인 정보, 핵심 기능을 정의합니다. 코드를 작성하기 전에, 중요한 질문에 답하여 에이전트의 ‘두뇌’를 설계합니다. 이 예에서는 _Coral Cloud Resorts_을 위한 에이전트를 설계합니다.
- 임무: 에이전트는 리조트 관리자 역할을 하며 고객 컴플레인을 처리하고 직원 일정을 관리하며 원활한 리조트 운영을 보장합니다.
- Persona: 에이전트는 친절하고 전문적이며 대화식인 어조를 가지고 있습니다.
- 도구 및 기능: 에이전트는 예약 시스템, 직원 예약 소프트웨어, 리조트 정책에 액세스해야 합니다.
- 결정 논리: 에이전트는 AI 생성 주제를 사용하여 사용자 의도를 결정하고 적절한 작업을 생성합니다.
_Agentforce DX_를 사용하면 설계 단계가 구체적인 사양 파일로 전환됩니다. Agentforce DX: 에이전트 사양 생성. 프로 코드 여정의 첫 단계는 agentSpec.yaml 파일을 생성하는 것입니다. YAML 파일은 에이전트의 역할, 관련 회사 세부 사항, 처리할 수 있는 작업을 정의하는 AI 생성 주제 목록 등 에이전트의 핵심 디자인을 담고 있습니다.
Salesforce CLI를 사용하여 대화형 프롬프트를 통해 이 사양을 생성합니다. Agentforce DX로 에이전트 만들기를 시작하려면 다음을 실행합니다.
아이디어 단계에서 정의된 특정 세부 사항을 제공해야 합니다.
- 에이전트 유형: 고객
- 회사 이름: Coral Cloud Resorts
- 회사 설명: Coral Cloud 리조트는 고객에게 탁월한 목적지 활동, 잊을 수 없는 경험, 예약 서비스를 제공하며, 탁월한 고객 서비스를 제공하기 위한 약속을 바탕으로 제공합니다.
- 에이전트 역할: 리조트 관리자는 고객 불만 사항을 해결하고 직원 일정을 관리하며 모든 프로세스가 원활하게 실행되는지 확인합니다.
이 명령을 실행하면 DX 프로젝트의 사양 디렉토리에 agentSpec.yaml 파일이 생성됩니다. 파일에는 각 주제의 이름 및 설명을 포함하는 AI 생성 주제 목록과 함께 제공된 정보가 포함됩니다. 필요에 따라 파일을 검토하고 편집하여 에이전트의 기능을 구체화합니다.
마찬가지로, Python SDK 구현은 대화형 사양 컬렉션을 사용하여 SDK 호환에 필요한 적절한 범위 필드가 포함된 에이전트 주제를 자동으로 생성합니다.
또한 2단계에서 에이전트를 만드는 데 사용되는 전체 에이전트 사양 JSON 파일을 만듭니다.
개발 단계는 에이전트의 핵심 구성 요소인 추론 엔진, 사용할 수 있는 도구, 그리고 지식 기반 구축에 중점을 둡니다. Agentforce는 복잡성의 대부분을 추상화하여 개발자가 비즈니스 논리에 집중할 수 있도록 합니다.
이 섹션에서는 Agentforce 개발 단계에 대한 두 가지 프로 코드 접근 방식을 공유합니다. 첫째, Agentforce DX를 사용하고, 둘째, Python을 사용합니다.
Agentforce DX: 사양에서 에이전트 만들기
agentSpec.yaml 파일이 준비되면 Salesforce 조직에서 에이전트를 만듭니다. 이 명령을 실행하여 에이전트를 만들고 관련 메타데이터를 로컬 DX 프로젝트에 다시 동기화합니다.
메시지가 표시되면 기본 API 이름인 Resort_Manager를 수락합니다. 명령은 사양을 구문 분석하고 에이전트를 만들고 메타데이터를 검색합니다. 메타데이터에는 Bot, BotVersion 및 GenAiPlannerBundle이 포함되어 에이전트의 주제와 작업에 AI 인텔리전스와 참조를 추가합니다.
–preview 플래그를 추가하여 생성 전에 에이전트의 구조를 미리 보고, LLM이 생성할 에이전트 유형과 제안된 작업을 설명하는 로컬 JSON 파일을 생성합니다. 예:
자세한 내용은 Trailhead에서 DX 프로젝트에서 에이전트 만들기를 참조하십시오.
Agentforce Python SDK: 특정 도구 정의
에이전트 SDK를 통해 모의 작업을 생성하여 에이전트 테스트를 용이하게 수행할 수 있습니다. 결국 모의 작업을 Salesforce 내의 실제 작업으로 교체해야 합니다. Salesforce는 플로, Apex, 프롬프트 템플릿 및 API를 비롯한 다양한 플랫폼 기능을 제공하며, 모두 Agentforce 작업으로 캡슐화할 수 있습니다.
다음은 Agentforce 작업이 어떻게 보일 수 있는지 보여주는 모의 작업 코드 조각입니다.
이 구현은 Salesforce에 대한 연결을 설정하고, 에이전트 인스턴스를 만들고, 에이전트가 외부 시스템과 상호 작용하고 특정 비즈니스 기능을 수행하는 데 사용할 수 있는 사용자 정의 도구 및 작업을 정의합니다.
위에서 설명한 바와 같이 에이전트 테스트는 기존 소프트웨어 테스트보다 복잡합니다. 다양한 시나리오 전반에서 동작, 추론, 견고성을 확인해야 합니다. 여기에는 개별 도구에 대한 단위 테스트, 대화에 대한 종단간 테스트, 취약점을 찾기 위한 적대적 테스트가 포함됩니다.
테스트 센터 및 직접 테스트 API 외에도 _Agentforce DX_는 테스트 생성, 배포 및 실행을 위한 고급 워크플로를 제공합니다. 이 섹션에서는 Agentforce DX로 테스트 실행을 설명합니다.
Agentforce DX: 에이전트 테스트 실행
_Agentforce DX_를 사용하여 명령줄에서 직접 사전 정의된 에이전트 테스트를 실행합니다. 이는 에이전트 테스트를 최신 DevOps 프로세스에 통합하는 경우에 이상적입니다.
Agentforce Python SDK: E2E 및 적대적 테스트 시뮬레이션
개념적으로, _Python SDK_는 엔드 투 엔드(E2E) 테스트를 시뮬레이션하고 에이전트 추론을 검증하는 스크립트 대화를 허용합니다.
Agentforce Python SDK 및 Salesforce 테스트 API
Python SDK 구현은 Salesforce Testing API 및 AiEvaluationDefinition 메타데이터를 사용하여 포괄적인 테스트를 사용하여 주제 순서, 작업 순서, 문자열 일치, 품질 메트릭에 대한 기대치가 포함된 구조화된 테스트 사례를 만듭니다. 자동 에이전트 테스트 및 유효성 검사를 위해 Salesforce에 배포할 수 있는 XML 메타데이터 정의를 생성합니다.
확인되면 에이전트가 프로덕션 환경에 배포됩니다. 이 단계에서 _Agentforce DX_는 서로 다른 조직(예: Sandbox 및 프로덕션) 간에 에이전트 메타데이터를 관리하고 이동하는 데 매우 중요합니다. 에이전트 배포 시 새 버전의 에이전트가 생성되며, 명시적으로 활성화하기 전까지는 에이전트가 실제로 운영되지 않습니다. 이를 통해 새 버전의 에이전트를 릴리스할 시기를 완벽하게 제어할 수 있습니다.
Agentforce DX: 에이전트 메타데이터 배포
표준 Salesforce DX 프로젝트 구조는 force-app 디렉터리 아래에 있는 에이전트 메타데이터를 구성합니다. 표준 sf project deploy 명령을 사용하여 대상 조직에 에이전트 및 관련 테스트를 배포합니다.
에이전트가 생성되거나 배포된 후 다음을 실행하여 구성 확인을 위해 _Agentforce Builder UI_에서 바로 열 수 있습니다.
에이전트가 배포되었는지 확인한 후 에이전트를 활성화할 수 있습니다. 예기치 않은 문제가 발생할 경우 이전 작업 버전의 에이전트로 롤백합니다.
Agentforce Python SDK: 에이전트 배포
구현은 확인된 에이전트 사양을 가져와 Salesforce 조직에 배포하여 에이전트를 사용할 수 있도록 합니다. 배포 프로세스에는 에이전트 생성, 메타데이터 동기화, 성공적인 배포 확인이 포함됩니다.
ADLC는 연속적인 주기이며, 배포는 끝이 아닙니다. 에이전트는 대기 시간, 비용, 성공률과 같은 메트릭을 추적하기 위해 지속적인 모니터링이 필요합니다. 모니터링에서 얻은 인사이트는 프롬프트 엔지니어링, 툴 최적화 및 지식 베이스 개선을 통해 에이전트 성능을 조정하고 개선하는 데 사용됩니다.
Agentforce 플랫폼은 이 중요한 단계를 지원하는 포괄적인 대시보드와 분석을 제공하므로 에이전트가 시간이 지남에 따라 계속해서 진화하고 개선될 수 있습니다.
Agentforce Analytics
Agentforce(기본값) 폴더에 있는 Agentforce Analytics는 Data 360을 사용하여 에이전트 성능에 대한 인사이트를 제공합니다. 사용자 정의 가능한 대시보드 및 보고서는 채택, 사용자 의견, 사용량에 대한 데이터를 제공하므로 주제 및 작업을 세분화하여 사용자 만족도를 향상할 수 있습니다. 차트 또는 링크된 보고서를 클릭하여 결과를 자세히 살펴볼 수 있습니다. 사용자 정의하려면 기존 보고서를 복제하고 복제본을 수정하여 분석 프로세스 중단을 방지합니다.
발화 분석
발화 분석은 Agentforce(기본) 사용자가 에이전트를 사용하는 방식, 요청한 내용 및 에이전트가 이러한 요청을 처리할 수 있는지 여부를 보여줍니다. 이러한 사용자 정의 가능한 보고서는 에이전트가 보다 효과적이고 정확하게 응답할 수 있도록 주제 및 작업을 구체화하는 데 도움이 됩니다.
Agentforce Python SDK: Data 360 통합을 통한 모니터링
에이전트 SDK 구현은 Data 360 Python 커넥터와 함께 고급 모니터링 및 분석을 사용하여 Salesforce Data 360에 연결하고, 에이전트 성과 메트릭을 쿼리하고, 포괄적인 모니터링 대시보드를 만듭니다.
시스템은 응답 시간, 성공률, 사용자 만족도, 비용 메트릭을 추적하여 에이전트 최적화를 위한 실천 가능한 인사이트를 제공합니다.
Agentforce DX: 에이전트 모니터링
구현은 CLI 기반 에이전트 관리와 함께 표준 AFDX 명령을 사용하여 에이전트가 플랫폼 변경 사항에 대해 최신 상태를 유지하고 사용자 피드백을 통합하여 지속적으로 개선합니다.
Agent SDK 및 AFDX를 사용한 ADLC 구현에 대한 자세한 내용은 여기의 GitHub 저장소를 참조하십시오.
에이전트 개발 수명 주기를 관리하려면 효율성, 신뢰성, 전략적 조율을 보장하는 핵심 원칙 집합을 준수해야 합니다. 다음 지침은 각 ADLC 단계의 핵심 과정을 설계자 및 개발자를 위한 전략적 프레임워크로 통합합니다.
1. 계획 및 아이디어 작성
이 초기 단계는 에이전트의 목적을 비즈니스 목표에 맞추고 견고한 기반에 구축하는 데 중점을 둡니다.
- 비즈니스 영향에 따라 우선순위 지정: 먼저 잠재적인 사용 사례를 전략적 비즈니스 목표에 직접 매핑합니다. 우선 순위 매트릭스를 사용하여 잠재적인 영향에 대한 점수를 매기고 명확한 KPI를 사용하여 집중적인 단일 사용 사례로 시작합니다.
- 이해관계자 조기 참여: 문제점에 대한 인사이트를 수집하고 목표와의 정렬을 보장합니다.
- 기타 데이터 인사이트: 에이전트의 품질은 데이터에 달려 있습니다. Data 360을 사용하여 사용 가능한 구조화된 데이터와 구조화되지 않은 데이터를 탐색하여 에이전트의 컨텍스트 및 기능에 정보를 제공합니다. 기존 보고서 및 대시보드를 검토하여 사용 사례 선택 항목에 정보를 제공할 수 있는 현재 추세를 식별합니다.
- 아이디어 도출 프레임워크 활용: 구조화된 아이디어 메서드를 적용하여 설계 사고 또는 SWOT 분석과 같은 잠재적인 애플리케이션을 브레인스토밍하고 구체화합니다.
2. 에이전트 구축
이 단계에서는 성과가 높은 효율적인 에이전트를 구성하기 위한 모범 사례를 다룹니다.
- 너무 많은 주제 피하기: 주제 수를 제한하여 에이전트를 혼동시킬 수 있는 유사하거나 중복되는 주제의 발생 위험을 줄입니다.
- 명령 및 프롬프트를 간결하게 유지: 직접적이고 간단한 언어를 사용하고 예제 발화를 제공하여 에이전트를 효과적으로 안내합니다.
- 기타 변수 및 결정적 동작: 이러한 도구를 사용하여 에이전트의 동작을 안내하고 예측 가능한 결과를 위해 성능을 최적화합니다.
- 작고 간결하게 작업 출력 유지: 에이전트의 응답이 간단하고 정확한지 확인합니다. 더 긴 출력은 더 많은 컨텍스트를 사용하며 생성 속도가 느려집니다.
- 작업을 속도에 맞게 최적화: 플로우 및 Apex 클래스를 설계하여 필요한 최소한의 데이터를 반환합니다. 가능한 경우 사전 처리를 통해 응답을 생성하는 데 필요한 작업을 줄이십시오.
- 명확한 범위 정의: 적절한 작업 설명, 지침 및 범위를 작성하여 에이전트가 범위 외 질문에 대해 RAG(검색 증강 생성)을 호출하지 않도록 합니다.
- 하이브리드 검색은 꼭 필요한 경우에만 사용하십시오.: 대기 시간에 부정적인 영향을 미칠 수 있으므로 절대적으로 필요한 경우에만 하이브리드 검색을 사용하십시오.
3. 테스트, 모니터링 및 튜닝
이 반복 단계는 에이전트의 정확성과 성능을 세분화하는 데 매우 중요합니다.
- 테스트 흐름 설정: 일관된 테스트 주기를 따르십시오.
- 배치 테스트 실행: 포괄적인 테스트 집합을 실행합니다.
- 점수/오류 보기: 성능 메트릭을 분석하고 실패를 식별합니다.
- 실패 항목 검사: 각 실패 행을 검사하여 불일치를 이해합니다.
- 에이전트 업데이트: 에이전트 또는 평가 데이터에 필요한 조정을 합니다.
- 세션 추적 정보 검토: 세션 추적 데이터 모델 및 Agentforce Interaction Explorer를 사용하여 문제 또는 예기치 않은 동작이 식별되면 근본 원인을 분석합니다. 정보를 바탕으로 에이전트를 조정하고 에이전트를 반복적으로 개선하십시오.
_에이전트 개발 수명 주기_는 지능형 자율 시스템의 시대를 위해 설계된 기존 소프트웨어 개발 원칙의 중요한 진화입니다.
- 진화, 대체가 아님: 에이전트 개발 수명 주기는 대체하지 않고 기존 응용 프로그램 수명 주기 관리를 확장하고 향상합니다.
- Data as a First-Class Citizen: 데이터는 에이전트 개발에서 훨씬 더 동적이고 중앙적인 역할을 합니다.
- 특수 도구 및 기술: 데이터 과학, ML 엔지니어링, 에이전트 개발 전반에 걸친 새로운 도구와 광범위한 전문 기술이 필요합니다.
- 연속 학습: 에이전트 개발은 시스템 자체의 지속적인 _학습_과 _조정_을 추가합니다.
- 미래 영향: Agentic AI는 복잡한 IT 운영 및 소프트웨어 개발 워크플로우를 더욱 자동화하고 최적화할 것을 약속합니다.