이 텍스트는 Salesforce의 자동 번역 시스템을 사용하여 번역되었습니다. 이 콘텐츠에 대한 피드백을 제공하고 다음에 원하는 내용을 알려주려면 저희의 설문 조사을 참조하십시오.
기존의 소프트웨어 개발에서 SDLC(소프트웨어 개발 수명 주기)는 구조화된 단계적 접근 방식을 제공합니다. 품질을 설정하고 위험을 줄이고 아이디어에서 릴리스까지 명확한 로드맵을 제공합니다. 에이전트 개발 수명 주기(ADLC)는 독립 에이전트 구축의 고유한 복잡성을 해결하기 위해 고유하게 조정된 유사한 방법론입니다.
에이전트는 패시브 응용 프로그램이 아니라 동적 실행 환경 내에서 이유를 지정하고 조치를 취하고 학습하는 시스템입니다. 결정적이지 않은 동작으로 인해 기존 QA가 부족합니다. Agentforce 같은 플랫폼이 옹호하는 ADLC(에이전트 개발 수명 주기)는 다음 5단계에 걸쳐 이를 해결합니다. 아이디어 및 설계, 개발("내부 루프"), 테스트 및 유효성 검사, 배포, 연속 모니터링 및 튜닝("외부 루프").
이 문서는 이미 SDLC(소프트웨어 개발 수명 주기)의 복잡성을 숙지하고 전문 지식을 에이전트 기반 시스템으로 확장하려는 개발자 및 엔터프라이즈 아키텍처를 위한 포괄적인 가이드입니다. 기본 목표는 기존 SDLC 메서드와의 주요 차이점을 강조하고 지능형 에이전트를 구축, 배포, 관리하는 전체 프로세스를 개념화하기 위한 구조화된 프레임워크를 제공하여 에이전트 개발 수명 주기(ADLC)를 빠르게 이해하는 것입니다.
문서는 각각 Knowledge 및 실습 기술을 점진적으로 구축하도록 설계된 3가지 고유한 장으로 구성되어 있습니다.
- 장 1: ADLC 프레임워크. 이 장에서는 ADLC(에이전트 개발 수명 주기)를 소개하며, 자율 에이전트 개발의 고유한 문제로 인해 SDLC와의 차이점을 자세히 설명합니다. 에이전트를 설계, 개발, 테스트, 배포하기 위한 프레임워크를 설정합니다.
- 장 2: Agentforce Platform. 이 장에서는 전체 에이전트 개발 수명 주기를 간소화하고 가속화하는 통합 플랫폼인 Agentforce 살펴봅니다. Agentforce 에이전트 설계, 데이터 처리, 모델 교육, 배포, 지속적인 모니터링을 위한 도구를 제공하여 복잡한 과업을 간소화하고 효율성을 향상합니다.
- 장 3: Pro-Code 구현. 이 가이드는 Agentforce 프로 코드 도구를 사용하여 에이전트 개발을 위한 실용적인 단계별 지침과 실제 예제를 제공합니다. 프로토타입 생성 및 기능 엔지니어링에서 모델 배포, 성능 조정, 서비스 점검에 이르기까지 전체 에이전트 개발 수명 주기를 다루며 개발자에게 프로덕션 지원 에이전트를 구축할 수 있는 기술을 제공합니다.
이 문서는 Agentforce 프로 코드 도구에 대한 이론 및 실무 Knowledge 제공합니다. 에이전트를 효율적으로, 안전하게, 신뢰할 수 있게 구축, 배포, 모니터링하는 방법을 학습하여 ADLC에 대한 포괄적인 이해를 얻고 지능형 에이전트 개발에서 Agentforce 잠재력을 극대화합니다.
AI 에이전트의 비결정적 특성에는 특수 개발 프레임워크가 필요합니다. 이 장에서는 ADLC(에이전트 개발 수명 주기)를 소개하여 해당 프레임워크를 간략하게 설명합니다. 이 장에서는 초기 아이디어 및 설계에서 연속 모니터링 및 튜닝에 이르기까지 ADLC의 5가지 핵심 단계에 대한 포괄적인 개요를 제공합니다. 이 장에서는 강력하고 신뢰할 수 있는 에이전트를 구축하는 데 필요한 기본 Knowledge 설정합니다.
이 섹션에서는 SDLC 개념을 ADLC의 5단계에 매핑합니다.
이는 에이전트의 전략적 목적 및 운영 범위를 정의하는 기본 단계입니다. 잘 구조화된 설계 단계는 비즈니스 요구를 기술적인 청사진으로 전환하기 때문에 성공을 위한 가장 중요한 단계입니다. 설계 프로세스를 통해 에이전트가 기능뿐만 아니라 책임 있고 사용자 기대에 부합할 수 있습니다. 이는 코드를 작성하기 전에 "what" 및 "why"가 설정되는 위치입니다.
- 에이전트 목표 및 역량 정의: 먼저 에이전트의 기본 목표와 에이전트가 수행할 측정 가능한 특정 과업을 명확하게 설명해야 합니다. 여기에는 역할(예: "고객 서비스 도우미"), 핵심 기능(예: "약속 예약", "제품 질문에 답변") 및 각각의 성공 메트릭이 정의됩니다.
- Persona 및 Ethical Guardrails 구축: 이 단계에서는 에이전트의 개인성을 설계하고 윤리적 경계를 정의하여 신뢰할 수 있고 안전한 상태를 유지합니다. 에이전트의 어조(예: "formal", "friendly")를 설정하고 유해한, 편향 또는 부적절한 응답을 방지하기 위해 엄격한 규칙을 구현합니다.
- 지도 컨텍스트 및 이해: 에이전트가 효율적으로 이해하고 기억해야 하는 정보를 결정해야 합니다. 여기에는 Knowledge 자료의 범위와 대화 메모리를 정의하는 것이 포함되며, 이를 통해 일관된 다중 회전을 할 수 있습니다.
- 도구 및 시스템 통합 식별: 여기에는 과업을 실행하기 위해 에이전트가 연결해야 하는 외부 시스템, API, 데이터 소스의 재고가 포함됩니다. 각 도구(예: 예약 API, 고객 데이터베이스)가 식별되고 기능이 특정 에이전트 기능에 매핑됩니다.
- 사람의 순환 에스컬레이션 계획: 에이전트가 사람에게 에스컬레이션하는 조건을 정의하는 것이 중요합니다. 이는 에이전트가 사람 연산자에게 에스컬레이션해야 하는 시점을 결정하기 위해 잠재적인 실패 지점 및 대화형 "종료"을 검토하는 작업을 포함합니다. 설계에 이 핸드오프가 수행되는 방법을 설명하여 충분한 컨텍스트가 전송되도록 하여 원활한 고객 경험을 보장하기 위해 빠르게 사용할 수 있어야 합니다.
이 단계는 설계 청사진이 기능 에이전트로 전환되는 구축 단계입니다. 개발자는 에이전트를 구축하고, 해당 에이전트를 도구에 연결하고, 과업을 수행하는 데 필요한 데이터를 제공합니다. 이 반복적인 "내부 루프"는 구축 및 세분화로 에이전트가 실제로 생생하게 됩니다.
- 에이전트의 논리 및 의사 결정 구성: 이 단계는 컨텍스트, 도구 및 데이터 소스에 의사 결정 프레임워크를 연결하여 에이전트의 추론을 구축하는 과정입니다. 개발자의 역할은 API를 만들거나 기존 API를 재사용하고, 운영 가드 레일을 설정하고, 에이전트가 복잡한 다단계 과업을 완료하기 위해 사용 가능한 도구를 선택하고 사용하는 방법을 지정하여 에이전트의 동작을 정의하는 것입니다.
- 엔지니어 프롬프트 및 미세 조정 모델: 에이전트의 개인 정보, 지침 및 제약은 철저한 프롬프트 엔지니어링을 통해 코딩됩니다. 이 프로세스는 대규모 언어 모델(LLM)을 안내하는 마스터 프롬프트를 만들고, 더 고급 사용 사례의 경우 도메인별 데이터에서 모델을 미세 조정하여 성능을 향상하는 과정입니다.
- AI 도구 통합 및 보안: 설계 단계에서 식별된 함수 및 API가 에이전트에 연결됩니다. 개발자는 SDK를 사용하여 기존 기능을 래핑하거나 새 기능을 만들어 에이전트가 안전하게 호출할 수 있도록 하며 적절한 인증 및 오류 처리를 보장합니다.
- 데이터 및 RAG 파이프라인 구축: 에이전트에게 외부 Knowledge 제공하기 위해 개발자는 검색 증가 생성(RAG) 데이터 파이프라인을 구축합니다. 이는 벡터 저장소, 관계형 데이터베이스, 그래프 데이터베이스 또는 내부 문서와 같은 소스의 데이터를 연결하고 색인화하여 에이전트가 정확하고 상황에 맞는 응답을 제공하기 위해 해당 정보를 액세스할 수 있게 합니다.
AI 에이전트 테스트는 기존 소프트웨어의 결정적 유효성 검사에서 패러다임 변경을 도입합니다. 기존 응용 프로그램이 정확성에 대해 테스트되는 동안(특정 입력은 단일 예상 출력을 생성해야 함) 에이전트의 결정적이지 않은 특성은 보다 정교한 접근 방식을 필요로 합니다. 단일 오른쪽 답변의 유효성을 검사하는 것이 아니라 에이전트의 동작이 의도한 목적에 부합하고 예기치 않은 입력에 견고하며 허용 가능한 결과의 범위 전체에서 신뢰할 수 있는지 확인하는 것이 목표입니다.
- 유닛 테스트: 이 계층은 결정적이고 AI가 아닌 에이전트의 구성 요소에 초점을 맞춥니다. 일반적인 단위 테스트를 통해 각 개별 도구 및 기능이 격리된 상태에서 올바르게 작동하는지 확인하여 에이전트의 복잡한 추론을 적용하기 전에 신뢰할 수 있는 기반을 확보합니다.
- End-to-End(E2E) 테스트: 이 단계는 비결정적 특성으로 인해 중요한 현실적인 시나리오에서 목표를 달성하는 에이전트의 능력을 평가합니다. 정확한 출력을 확인하는 대신 이러한 종단간 테스트를 통해 에이전트가 과업을 성공적으로 완료하고 변경 사항이 적용되면 성능이 저하되지 않는지 확인합니다.
- 경쟁 및 견고도 테스트: 이는 약점을 사전에 발견하기 위해 의도적으로 에이전트를 중단시키는 작업입니다. 테스터는 모호한 요청, 악성 프롬프트, 기타 가장자리 사례를 사용하여 취약성을 노출하고 에이전트가 압박을 받는 상태에서 복원력과 안전성을 유지합니다.
- HITL(Human-in-the-Loop) 평가: 자동화된 테스트는 어조 또는 대화 플로와 같은 정교한 특성을 측정할 수 없으므로 이 단계는 사람의 피드백에 의존합니다. 테스터가 에이전트와 상호 작용하여 응답에 도움이 되고 전반적인 사용자 환경에 대한 점수를 매겨 동작을 미세 조정하기 위한 필수 데이터를 제공합니다.
- 성능 및 규모 테스트: 이는 사용자에게 영향을 미치기 전에 성능 지체 지점을 방지하는 중요한 단계입니다. 이 프로세스는 실질적인 최대 사용 시나리오를 시뮬레이션하여 에이전트 및 응용 프로그램이 대용량을 원활하고 예측 가능한 방식으로 처리할 수 있도록 합니다. 솔루션이 올바르고 확장성이 있는지 확인합니다.
AI 에이전트 배포는 사용자가 신뢰할 수 있고 반복 가능한 방식으로 상호 작용하는 유효성 검사된 에이전트를 보장하는 데 중점을 둔 관리 프로세스입니다. 이를 위해 에이전트를 버전 관리 자산에서 실시간 모니터링 서비스로 이동하는 구조화된 접근 방식이 필요합니다.
- 포장 및 버전 관리: 에이전트의 전체 정의(프롬프트 및 도구 포함)는 파일의 메타데이터로 수집되고 Git와 같은 소스 제어 시스템에 저장됩니다. 이렇게 하면 신뢰할 수 있는 단일 소스와 모든 변경 사항에 대한 감사 가능한 내역이 생성됩니다.
- CI/CD 파이프라인: 프로덕션 경로는 자동화되어 인적 오류를 없애고 일관성을 보장합니다. 이러한 파이프라인은 개발, 테스트, 프로덕션 환경을 통해 에이전트를 자동으로 승격하고 각 단계에서 테스트를 종단간 실행하여 품질 게이트 역할을 수행합니다.
- 단계별 롤아웃 전략: 위험을 최소화하기 위해 새 에이전트 버전은 먼저 Canary Releases와 같은 전략을 사용하여 소규모 사용자 하위 집합에 릴리스됩니다. 이를 통해 전체 롤아웃 전에 실시간으로 성능을 모니터링할 수 있으며 문제가 발생할 경우 신속하게 되돌릴 수 있습니다.
- 활성화 및 거버넌스: 에이전트를 롤아웃하는 중요한 단계는 올바른 권한을 가진 에이전트를 안전하게 활성화하고 모니터링 도구에 연결되어 있는지 확인하는 것입니다. 이렇게 하면 새로 배포된 에이전트의 상태 및 성과가 적용되는 순간부터 즉시 확인할 수 있습니다.
배포는 에이전트 개발 수명 주기의 끝이 아니라 연속적인 "외부 루프"의 시작입니다. 에이전트는 예측할 수 없는 실제 환경에서 작동하는 동적 시스템입니다. 이 단계는 에이전트의 실시간 성과를 관찰하고, 상호 작용에서 인사이트를 수집하고, 해당 데이터를 사용하여 시간에 따른 효율성, 안전성, 효율성을 체계적으로 구체화하고 개선하는 데 전념합니다.
- 실시간 성능 모니터링: 이는 사용자와 상호 작용할 때 에이전트의 핵심 운영 메트릭을 추적하는 방법입니다. 대시보드는 대기 시간, 토큰 소비량(비용), API 오류 비율을 모니터링하는 데 사용되므로 에이전트의 상태 및 효율성을 즉시 상세하게 파악할 수 있습니다.
- 행동 및 성공 분석: 이는 대화 로그를 분석하여 에이전트가 실제로 업무를 수행하는 방식을 이해합니다. 과업 완료율 추적, 일반적인 실패 지점 또는 대화형 "종료"를 식별하고 사용자 만족도를 측정하여 에이전트가 목표를 달성하고 있는지 여부를 판단하는 데 중점을 두고 있습니다. 서비스 에이전트의 예로 에이전트가 사람에게 에스컬레이션하는 빈도 및 이유에 대한 메트릭을 제공할 수 있습니다.
- 인텔리전트 튜닝 및 세분화: 이는 모니터링의 인사이트를 사용하여 에이전트를 개선하는 활성 프로세스입니다. 프롬프트 엔지니어링에서 도구 최적화까지 다양합니다.
- 데이터 중심 RAG 향상 기능: 에이전트의 Knowledge 자료의 품질은 실제 쿼리를 기반으로 지속적으로 향상됩니다. 모니터링 시 에이전트가 특정 주제에 대해 어려움을 겪고 있다는 사실을 알 수 있으므로 데이터 소스 또는 검색 프로세스(RAG 세분화)가 세분화되어 응답의 정확성을 향상할 수 있습니다.
- 계속 학습 및 적응: 이는 에이전트를 더 스마트하게 만들기 위해 프로덕션 데이터를 사용하는 사용자 의견 루프를 만드는 것을 포함합니다. 사람 감독 또는 LLM 기반 레이블을 사용하여 대화형 로그에 레이블을 지정하여 기본 모델을 미세 조정하고 추가 개선 사항을 권장하는 데 사용할 수 있는 선별된 데이터 집합을 구축합니다.
Agentforce 강력한 에이전트를 빠르게 구축하고 테스트할 수 있는 단일 통합 플랫폼 내에서 설계, 개발, 테스트, 배포, 모니터링, 분석을 위한 통합 도구를 사용하여 모든 ADLC 단계를 지원합니다.
Agentforce ADLC는 다음 지침을 기반으로 합니다.
- 저코드와 프로코드 모두를 위해 구축: 구성 기반 배포(하위 코드) 및 프로그래밍 확장성(프로 코드) 지원
- 연속적인 AI 기반 지원 및 피드백 루프: 대화 데이터를 수집하고 분석하여 지속적인 AI 중심 개선을 위해 에이전트 튜닝을 알립니다.
- 모든 수준의 테스트 기반 개발: 모든 스테이지에서 엄격한 테스트를 수행하고, 기존 단위 테스트를 통해 결정적 구성 요소를 확인하고, 에이전트 추론 및 결정적이지 않은 동작을 테스트하기 위한 새로운 접근 방식을 제공합니다.
- Executive 및 LOB Observability: 운영 및 경영진 이해당사자에게 비용, 사용량, 성과 메트릭을 제공합니다.
이 장에서는 Agentforce가 단일 통합 플랫폼 내에서 모든 단계의 ADLC를 지원하는 방법을 설명합니다.
아이디어
아이디어 단계는 에이전트에 대한 초기 비전 및 요구 사항이 수립되는 ADLC의 기본 단계입니다. 이를 통해 문제를 이해하고 잠재적인 솔루션을 식별하고 에이전트의 핵심 기능을 간략하게 설명합니다.
핵심 특성을 정의하여 에이전트의 아이디어 프로세스를 시작합니다.
- 목표/목표: 에이전트의 기본 목표를 명확하게 정의합니다. 해결할 특정 문제 또는 수행할 과업은 무엇입니까? 에이전트가 담당해야 하는 사람은 누구입니까? 이는 전체 개발 프로세스를 안내하는 간결하고 측정 가능한 설명이어야 합니다.
- Persona: 에이전트에 대한 자세한 개인 정보를 개발합니다. 여기에는 ID, 커뮤니케이션 스타일, 사용자 또는 다른 시스템과의 상호 작용에서 수행할 역할 정의가 포함됩니다. 톤, 형식성 수준, 의도한 컨텍스트에서 효과적으로 사용할 수 있는 특정 특성을 고려하십시오.
- 패턴: 관련 에이전트 패턴 및 구현 전략을 식별하고 연결합니다. 여기에는 에이전트의 구조와 행동에 정보를 제공할 수 있는 아키텍처 설계 또는 모범 사례가 포함됩니다. "Salesforce Agentforce의 에이전트 패턴 및 구현: A Technical Whitepaper(기술 백서))는 이 단계에서 중요한 자료로서 Salesforce 플랫폼 및 Agentforce에서 효과적인 에이전트 설계에 대한 인사이트를 제공합니다.
설계
설계 단계는 아이디어의 개념을 에이전트의 구축을 위한 자세한 청사진으로 변환합니다. 여기에는 에이전트의 아키텍처, 사용자 플로, 상호 작용 모델, 주제, 도구, 가드 레일과 같은 기술 사양 정의가 포함됩니다.
설계 단계 동안 다음을 포함하는 에이전트의 구축에 대한 세부 청사진 만들기를 만듭니다.
- 에이전트 디자인: 구성 요소, 모듈, 상호 작용 방식 등 에이전트의 내부 구조를 간략하게 설명합니다. 이는 에이전트 동작, 자연어 처리(NLP) 구성 요소 및 다른 시스템과의 통합 지점을 제어하는 Knowledge 기반, 구성 및 논리를 정의해야 할 수 있습니다.
- 사용자 플로/상호 작용 설계: 전체 사용자 여정 및 에이전트의 상호 작용을 매핑합니다. 대화 플로, 결정 트리, 오류 처리, 사용자 의견 메커니즘을 정의하여 직관적이고 효과적인 환경을 만듭니다.
- 기술 사양: 성능 메트릭, 확장성 고려 사항, 보안 프로토콜, 통합 사양 등 에이전트에 대한 기능이 아닌 기술 요구 사항을 문서화합니다.
- 프로토타이핑 & 모형 제작: 에이전트의 인터페이스 및 상호 작용에 대한 시각적 표현 또는 대화형 프로토타입을 만듭니다. 이를 통해 조기에 테스트 및 사용자 의견을 제공하여 전체 규모 개발을 시작하기 전에 설계를 구체화할 수 있습니다.
- 데이터: 에이전트에게 필요한 데이터 유형 및 소스를 결정할 때 에이전트가 액세스해야 하는 데이터 집합, API, 데이터베이스, 리포지토리를 식별합니다. Agentforce 경우 컨텍스트로 제공되는 데이터, 구조화 또는 비정형인지, 실시간 또는 배치인지에 초점을 맞춥니다. Agentforce 플랫폼은 Data 360과 깊이 통합되므로 Salesforce CRM 및 기타 소스의 구조화된 데이터와 비정형 데이터를 모두 사용할 수 있습니다. 구조화되지 않은 콘텐츠는 RAG에 대해 기본적으로 청크 및 색인화할 수 있습니다. MuleSoft를 사용하면 외부 시스템에 연결할 수 있습니다.
- 도구: 에이전트가 수행해야 하는 작업을 식별합니다. Agentforce 작업을 사용하여 비즈니스 목표를 달성하는 도구를 표시합니다. 이러한 작업은 기존 Salesforce 자산(예: 프롬프트 빌더, MuleSoft, Apex, 플로 및 OpenAPI 사양을 사용하는 API를 통해 프롬프트)을 활용합니다. 호출 가능한 작업을 Agentforce 통합하고 에이전트가 사용할 수 있으므로 모든 익숙한 Salesforce 개발 도구를 Agentforce 작업으로 쉽게 사용할 수 있습니다.
- 에이전트의 입력 데이터: 기존 SDLC에서는 입력이 정확하게 지정됩니다. ADLC에서 입력은 자연스럽고 결정적이지 않은 자유 형식의 발화인 경우가 많습니다. 적절한 응답을 생성할 것으로 예상되는 발화의 대표 코퍼스를 수집합니다.
개발 단계에서는 아이디어 및 설계 단계에서 결정한 정의된 에이전트의 목적, 기능 및 운영 범위를 새로운 Agentforce 에이전트로 전환하는 데 중점을 둡니다.
개발자가 에이전트를 만들 수 있도록 Agentforce는 에이전트 빌더 및 Aventforce Developer Experience(AFDX)를 모두 제공합니다. 이러한 기본 도구는 에이전트를 구성하고 구성하기 위한 기본 환경으로 사용됩니다.
- 에이전트 빌더는 에이전트의 핵심 기능을 정의할 수 있는 UI 환경을 제공합니다.
- AFDX는 맞춤화 및 다른 시스템과의 통합을 위한 프로그래밍 인터페이스를 제공합니다.
에이전트 개발 및 구축에는 에이전트 빌더 또는 AFDX를 사용하여 수행할 수 있는 다음 단계가 포함됩니다.
- Persona 정의: 에이전트 설계의 중요한 측면은 고유한 개인 정보를 설정하는 것입니다. 다음 구성이 포함됩니다.
- 에이전트 설명: 처리하도록 설계된 에이전트의 역할, 목표, 특정 고객 서비스 과업에 대한 자세한 설명입니다.
- 어조: 에이전트의 커뮤니케이션 스타일, 공감 수준 및 준수해야 하는 특정 브랜드 지침입니다.
- 에이전트 주제 및 작업 정의: 에이전트가 정교하고 다양한 과업을 처리할 수 있도록 하려면 해당 작업을 통해 해당 기능을 고유한 주제로 분류해야 합니다.
- 주제: 각 주제를 고유한 지침 및 도구 집합을 통해 자체 전문 에이전트로 개념화할 수 있습니다.
- 모듈식 아키텍처. 주제에 대한 모듈식 접근 방식을 통해 더 나은 구성 및 확장성을 제공할 수 있습니다. 에이전트는 여러 주제를 정의하여 더 광범위한 복잡한 시나리오를 처리할 수 있습니다. 예를 들어, 에이전트에게 "주문 관리", "자주 묻는 질문(FAQ),"기술 지원", "청구"에 대한 별도의 주제가 있을 수 있습니다.
- 주제 지침(가드레일): 각 주제에는 에이전트가 해당 주제 내에서 논의하거나 수행할 수 있는 작업 범위를 정의하는 가드 레일 역할을 하는 특정 지침이 포함되어 있습니다. 해당 지침은 에이전트가 주제 외에 이동하거나 관련이 없는 정보를 제공하지 못하도록 방지합니다. 또한 응답의 일관성과 정확성을 유지하는 데 도움이 됩니다.
- 작업: 주제에는 에이전트가 수행할 수 있는 작업을 나타내는 "도구"도 있습니다. 다음 도구가 될 수 있습니다.
- 정보 활동: Knowledge 데이터베이스 또는 외부 시스템에서 데이터를 검색하여 질의에 응답합니다.
- 거래 조치: 주문하기, 고객 레코드 업데이트 또는 환불 프로세스 시작과 같은 사용자를 대신하여 작업 수행 이러한 작업은 다른 시스템(예: CRM, ERP)과 통합되는 경우가 많습니다.
- 주제: 각 주제를 고유한 지침 및 도구 집합을 통해 자체 전문 에이전트로 개념화할 수 있습니다.
테스터는 AI 에이전트의 성능 및 신뢰도를 평가할 때 사용자 환경이 저하될 수 있는 다양한 문제에 직면하게 됩니다. 이러한 문제는 사용자 의도 잘못 해석에서 과업을 올바르게 실행하지 못할 때까지 다양합니다.
일반적인 에이전트 실패 시나리오
강력한 에이전트를 구축하려면 실패할 수 있는 방법과 위치를 이해해야 합니다. 다음 표는 에이전트 수명 주기 동안 발생하는 일반적인 문제를 범주화합니다. 결함이 있는 추론에서 나쁜 Knowledge 검색에 이르기까지. 이를 개발 도중 전략 가이드 및 테스트 도중 체크리스트로 사용하여 에이전트가 기능뿐만 아니라 최종 사용자에 대해 신뢰할 수 있고 직관적인지 확인합니다. 다음 실패 시나리오는 테스트 사례를 정의하는 데 도움이 됩니다.
| 범주 | 설명 | 실패 예제 |
|---|---|---|
| 주제 분류 | 에이전트가 사용자의 의도 또는 목표를 올바르게 식별하지 못합니다. |
|
| 응답 품질 | 에이전트의 회신 내용, 정확성 및 형식에 실패했습니다. |
|
| 작업 실행 | 특정 기능 또는 과업을 수행하려고 할 때 에이전트가 실패합니다. |
|
| 가드 레일 및 지침 | 에이전트가 사전 정의된 규칙, 제약 또는 대화 경계를 위반합니다. |
|
| Knowledge 검색 | 에이전트는 Knowledge 자료에서 정보를 가져오고 표시하는 데 문제가 있습니다. |
|
| 구조화된 지침 | 에이전트는 다단계 프로세스를 통해 사용자를 안내하는 데 어려움을 겪고 있습니다. |
|
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 파이프라인에 해당 단위 테스트를 통합하면 자동화된 안전망이 제공됩니다.
- 작업 논리에 대한 변경 사항 또는 개선 사항이 회귀를 유도하지 않는지 확인합니다.
- 프로덕션에 배포하기 전에 에이전트의 기능의 신뢰성을 보장합니다.
-
경쟁 시험 - 보안 및 가드레일 집행:
- 목적: 다양한 유형의 에이전트를 구축하려면 보안에 중점을 두고 정의된 매개 변수 및 가드 레일 내에서 작업해야 합니다. 이는 의도하지 않은 작업, 데이터 침해 또는 오용을 방지하는 데 매우 중요합니다. 따라서 반대 테스트의 목적은 안전 메커니즘을 우회하도록 설계된 입력으로 에이전트를 의도적으로 도전하여 이러한 잠재적인 취약점을 사전에 식별하고 수정하여 강력한 성능과 조작 저항성을 테스트하는 것입니다.
- 기법: 반대 테스트는 에이전트의 의도한 동작 경계를 푸시하는 도전, 모호 또는 악의적인 입력을 작성하여 구현됩니다. 에이전트 빌더의 "가드레일" 기능과 같은 플랫폼 도구는 지침 준수에 대한 인사이트를 제공하지만 개발자는 제어 환경에서 에이전트가 실패하도록 적극적으로 시도하는 사용자 정의 반대 테스트 사례도 만들어야 합니다.
- 혜택: 이 접근 방식은 배포 전에 보안 및 규정 준수 위험을 체계적으로 완화합니다. 잠재적인 실패 지점을 식별함으로써 대비 테스트는 에이전트의 신뢰성을 향상하고 사용자와 상호 작용할 때 안전하고 의도한 대로 작동합니다.
스크래치 조직 및 Sandbox에서 반복 테스트
"내부 루프"는 에이전트가 배포할 준비가 된 컨셉에서 확인된 구성 요소로 이동하는 중요하고 반복적인 주기입니다. 이 지속적인 세분화 프로세스를 수행하려면 개발 및 테스트를 위한 환경이 필요합니다. Agentforce 분리된 스크래치 조직, 공유 환경에 영향을 미치지 않는 빠른 프로토타입을 위한 임시 환경, 실제 데이터로 철저한 테스트를 수행하여 프로덕션 경로를 가속화하는 Sandbox를 통해 이 프레임워크를 제공합니다.
- 스크래치 조직의 개발: 초기 개발은 스크래치 조직에서 수행해야 합니다. 에이전트 빌더 및 AFDX와 같은 개발 환경 내에 제공되는 도구가 여기에서 완전히 활용됩니다. 스크래치 조직은 단위 테스트를 실행하고 코드 분석을 수행하거나 고급 환경으로 변경 사항을 승격할 수 있는 CI/CD 파이프라인에 적합한 후보입니다.
- 실제 데이터 테스트를 위한 Sandbox 구축: 에이전트의 핵심 기능이 스크래치 조직에서 개발되면 Sandbox에 배포합니다. Sandbox는 프로덕션 환경의 복사본으로 보다 현실적인 테스트 공간을 제공합니다.
- 실제 데이터 vs. 모의 데이터: 일부 개발자는 초기 테스트를 위해 스크래치 조직의 데이터를 모의할 수 있지만, Sandbox에 배포하면 "실제 데이터"를 사용하여 테스트할 수 있습니다. 이는 실제 고객 상호 작용을 밀접하게 반영하는 시나리오에서 에이전트의 성과를 평가하는 데 중요합니다. Sandbox에서 더 대표적인 데이터를 사용하면 개발 및 세분화 프로세스가 현저하게 가속화됩니다.
- 핵심 CRM 데이터용 전체 또는 부분 Sandbox: 데이터 용량 및 특정 테스트 요구 사항에 따라 전체 또는 부분 Sandbox를 활용할 수 있습니다.
- 전체 Sandbox: 모든 메타데이터 및 데이터를 포함하여 프로덕션 환경의 전체 복제본을 제공합니다. 대규모 데이터 집합을 사용하여 광범위한 테스트 및 성능 튜닝에 적합합니다.
- 일부 Sandbox: 전체 데이터 집합이 엄격하게 필요하지 않은 특정 기능 또는 기능을 테스트하기에 충분한 프로덕션 데이터의 하위 집합을 포함합니다.
- Knowledge 및 RAG 관리: 에이전트가 Knowledge 자료 또는 RAG(Retrieval-Augmented Generation) 모델을 사용하는 경우 모든 관련 콘텐츠를 Sandbox에 수집하고 다시 색인화합니다. 이렇게 하면 에이전트가 테스트하는 동안 현재 정보를 사용하고 콘텐츠를 정확하게 검색하고 합성할 수 있습니다.
Agentforce 메타데이터를 통해 에이전트를 정의하므로 변경 집합 또는 AFDX와 같은 표준 Salesforce 절차를 사용하여 배포할 수 있습니다. 이 단계에서는 에이전트 버전 관리 및 별도의 활성화 단계와 같은 중요 기능을 통해 안전하고 제어적인 롤아웃을 강조합니다. 이는 시스템의 안정성을 보장하고 문제를 신속하게 복구할 수 있습니다.
다음 단계를 수행하여 새 에이전트를 배포하고 릴리스합니다.
- Change Set/Metadata API 또는 AFDX를 통해 배포: 에이전트에 대한 배포 프로세스는 표준 Salesforce 절차를 활용하여 에이전트를 메타데이터로 처리합니다. Salesforce 개발 및 배포에 익숙한 모든 사람이 익숙한 프로세스여야 합니다. 변경 집합 또는 AFDX를 활용하면 Sandbox에서 프로덕션으로 등 환경 간에 에이전트 구성을 마이그레이션하는 구조화되고 일관된 접근 방식을 사용할 수 있습니다. 이 방법을 사용하면 버전 관리 및 적절한 변경 관리를 쉽게 수행할 수 있으며, 이는 시스템 안정성과 신뢰성을 유지하는 데 매우 중요합니다.
- 배포 후 에이전트 활성화: 배포에 성공한 후에는 시스템 관리자가 에이전트를 적극적으로 "활성화"해야 합니다. 배포는 에이전트의 코드 및 메타데이터를 대상 환경에 배치하기만 하면 됩니다. 활성화는 에이전트를 운영하고 사용할 수 있는 단계입니다. 이 구분을 통해 에이전트가 활성화되고 최종 사용자 또는 기타 시스템 구성 요소와 상호 작용하기 전에 제어된 롤아웃 및 테스트를 수행할 수 있습니다.
- 보안 에이전트 관리를 위한 버전 관리 사용: 에이전트 버전 관리는 에이전트 개발 및 서비스 점검의 안전성과 유연성을 크게 향상하는 중요 기능입니다.
- 새 버전 만들기, 테스트 및 게시: 권장 사항은 변경 또는 개선이 필요한 경우 새 버전의 에이전트를 만드는 것입니다. 새 버전은 활성화된 라이브 에이전트에 영향을 미치지 않고 Sandbox 환경에서 철저하게 테스트할 수 있습니다. 새 버전이 확인되고 준비된 것으로 간주되면 게시하고 이후에 활성화하여 이전 운영 버전을 대체할 수 있습니다. 이 반복 프로세스를 통해 중단을 최소화하면서 지속적으로 개선하고 혁신할 수 있습니다.
- 이전 버전으로 돌아가기: 버전 관리의 주요 장점은 새로 배포되거나 활성화된 에이전트에 문제가 발생할 경우 빠르고 쉽게 안정적인 이전 버전으로 되돌릴 수 있다는 것입니다. 오류가 발생할 경우(예: 에이전트가 잘못 동작하거나 예상치 못한 오류가 발생할 경우) 관리자는 마지막으로 알려진 정상적인 버전으로 롤백하고 활성화하기만 하면 됩니다. 이 기능은 중요한 안전망을 제공하여 신속한 복구를 수행하고 가동 중지 시간을 최소화하여 비즈니스 연속성 및 사용자 만족도를 보장합니다.
에이전트 모니터링
Agentforce 세션 추적은 End-to-End 에이전트 상호 작용을 캡처하는 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 리조트
- 회사 설명: Coral Cloud 리조트는 고객에게 탁월한 목적지 활동, 잊을 수 없는 경험, 예약 서비스를 제공하며, 탁월한 고객 서비스를 제공하기 위한 약속을 바탕으로 제공합니다.
- 에이전트 역할: 리조트 관리자는 고객 불만 사항을 해결하고 직원 일정을 관리하며 모든 프로세스가 원활하게 실행되는지 확인합니다.
이 명령을 실행하면 DX 프로젝트의 사양 디렉토리에 agentSpec.yaml 파일이 생성됩니다. 파일에는 각 주제의 이름 및 설명을 포함하는 AI 생성 주제 목록과 함께 제공된 정보가 포함됩니다. 필요에 따라 파일을 검토하고 편집하여 에이전트의 기능을 구체화합니다.
마찬가지로, Python SDK 구현은 대화형 사양 컬렉션을 사용하여 SDK 호환에 필요한 적절한 범위 필드가 포함된 에이전트 주제를 자동으로 생성합니다.
또한 2단계에서 에이전트를 만드는 데 사용되는 전체 에이전트 사양 JSON 파일을 만듭니다.
개발 단계는 에이전트의 핵심 구성 요소를 구축하는 데 중점을 둡니다: 추론 엔진, 사용할 수 있는 도구 및 Knowledge 기반. Agentforce는 복잡성의 대부분을 추상화하여 개발자가 비즈니스 논리에 집중할 수 있도록 합니다.
이 섹션에서는 Agentforce 개발 단계에 대한 두 가지 프로 코드 접근 방식을 공유합니다. 먼저 Agentforce DX를 사용하고 두 번째로 Python을 사용합니다.
Agentforce DX: 사양에서 에이전트 만들기
agentSpec.yaml 파일이 준비되면 Salesforce 조직에서 에이전트를 만듭니다. 이 명령을 실행하여 에이전트를 만들고 관련 메타데이터를 로컬 DX 프로젝트에 다시 동기화합니다.
메시지가 표시되면 기본 API 이름인 Resort_Manager를 수락합니다. 명령은 사양을 구문 분석하고 에이전트를 만들고 메타데이터를 검색합니다. 메타데이터에는 Bot, BotVersion 및 GenAiPlannerBundle이 포함되어 에이전트의 주제와 작업에 AI 인텔리전스와 참조를 추가합니다.
--미리 보기 플래그를 추가하여 작성하기 전에 에이전트의 구조를 미리 보고 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는 연속적인 주기이며, 배포는 끝이 아닙니다. 에이전트는 대기 시간, 비용, 성공률과 같은 메트릭을 추적하기 위해 지속적인 모니터링이 필요합니다. 모니터링에서 얻은 인사이트는 신속한 엔지니어링, 툴 최적화 및 Knowledge 자료 개선을 통해 에이전트 성능을 조정하고 개선하는 데 사용됩니다.
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을 사용하여 사용 가능한 구조화된 데이터와 구조화되지 않은 데이터를 탐색하여 에이전트의 컨텍스트 및 기능에 정보를 제공합니다. 기존 보고서 및 대시보드를 검토하여 사용 사례 선택 항목에 정보를 제공할 수 있는 현재 추세를 식별합니다.
- Ideation Framework 사용: 구조화된 아이디어 메서드를 적용하여 설계 사고 또는 SWOT 분석과 같은 잠재적인 애플리케이션을 브레인스토밍하고 구체화합니다.
2. 빌딩 에이전트
이 단계에서는 성과가 높은 효율적인 에이전트를 구성하기 위한 모범 사례를 다룹니다.
- Too Many Topics 피하기: 주제 수를 제한하여 에이전트를 혼동시킬 수 있는 유사하거나 중첩되는 주제를 만드는 위험을 줄입니다.
- 명령 및 프롬프트를 간결하게 유지: 직접적이고 간단한 언어를 사용하고 예제 발화를 제공하여 에이전트를 효과적으로 안내합니다.
- 기타 변수 및 결정적 동작: 이러한 도구를 사용하여 에이전트의 동작을 안내하고 예측 가능한 결과를 위해 성능을 최적화합니다.
- 작고 간결한 작업 출력 유지: 에이전트의 응답이 간단하고 정확한지 확인합니다. 더 긴 출력은 더 많은 컨텍스트를 사용하며 생성 속도가 느려집니다.
- 속도에 대한 작업 최적화: 필요한 최소한의 데이터를 반환하도록 플로 및 Apex 클래스를 설계합니다. 가능한 경우 사전 처리를 통해 응답을 생성하는 데 필요한 작업을 줄이십시오.
- 확인 범위 정의: 적절한 작업 설명, 지침 및 범위를 작성하여 에이전트가 범위 외 질문에 대해 RAG(검색 증가 생성)을 호출하지 못하도록 합니다.
- 해결한 하이브리드 검색 사용: 대기 시간에 부정적인 영향을 미칠 수 있으므로 절대적으로 필요한 경우에만 하이브리드 검색을 사용하십시오.
3. 테스트, 모니터링 및 튜닝
이 반복 단계는 에이전트의 정확성과 성능을 세분화하는 데 매우 중요합니다.
- 테스트 흐름 설정: 일관된 테스트 주기를 따르십시오.
- 실행 배치 테스트: 포괄적인 테스트 집합을 실행합니다.
- 점수/오류 보기: 성능 메트릭을 분석하고 실패를 식별합니다.
- 검사 실패: 각 실패 행을 검사하여 불일치를 이해합니다.
- Agent 업데이트: 에이전트 또는 평가 데이터를 필요한 조정합니다.
- 세션 추적 정보 검토: 세션 추적 데이터 모델 및 Agentforce Interaction Explorer를 사용하여 문제 또는 예기치 않은 동작이 식별되면 근본 원인을 분석합니다. 정보를 기반으로 에이전트를 조정하고 계속해서 에이전트를 반복합니다.
에이전트 개발 수명 주기는 지능형 자율 시스템의 시대를 위해 설계된 기존 소프트웨어 개발 원칙의 중요한 진화입니다.
- 진화, 대체가 아니라: 에이전트 개발 수명 주기는 대체하지 않고 기존 응용 프로그램 수명 주기 관리를 확장하고 향상합니다.
- 1등급 시민으로서의 데이터: 데이터는 에이전트 개발에서 훨씬 더 동적이고 중앙적인 역할을 합니다.
- 특수 도구 및 기술: 데이터 과학, ML 엔지니어링, 에이전트 개발 전반에 걸친 새로운 도구와 광범위한 전문 기술이 필요합니다.
- 연속 학습: 에이전트 개발은 시스템 자체의 지속적인 학습과 조정을 추가합니다.
- 미래 영향: 에이전트 AI는 복잡한 IT 운영 및 소프트웨어 개발 워크플로를 추가로 자동화하고 최적화할 수 있습니다.