블로그
ChatGPT가 세일즈포스 개발자를 대체할까요?
ChatGPT는 Salesforce에 어떤 의미가 있을까요?
AI의 영향을 가장 크게 받을 수 있는 역할인 Salesforce 개발자와 관련하여 살펴보겠습니다.
Salesforce 개발자란?
Salesforce 개발자는 특정 비즈니스 요구 사항을 충족하기 위해 애플리케이션을 개발하고 Salesforce 플랫폼을 사용자 지정하는 데 특화된 전문가입니다. 개발자는 Salesforce 기술, 프로그래밍 언어 및 개발 방법론에 대한 전문 지식을 갖추고 있습니다.
주로 사용자 지정 및 구성, 이해 관계자 관리, Apex 개발, Visualforce 및 Lightning Component 개발 및 통합, 테스트 및 디버깅 등 업무를 수행합니다.
📌추천 아티클 : 30 Salesforce Developer Interview Questions & Answers
AI가 어떤 분야들에 어떠한 영향을 줄까요?
다음은 AI가 Salesforce에 영향을 미칠 만한 요소들입니다.
사용자 지정 및 구성
(Customization and Configuration)
이 영역은 일반적으로 Admin이 처리하지만 개발자도 가끔은 맡게 됩니다. 대부분의 경우 ChatGPT에게 특정 구성 작업을 수행하는 방법을 물어볼 수 있겠지만, 실제 작업은 여전히 관리자나 개발자가 해야 할 것입니다.
사실 물어보는 부분도 현재 Salesforce가 출시한 Einstein GPT 안에서 가능해졌습니다.
Apex 개발/ Visualforce 및 Lightning Component 개발
AI의 영향을 가장 크게 받을 수 있는 부분 중 나로 ChatGPT에서 코드를 작성할 수 있습니다.
예를 들어, 이미 사용자 지정 Apex 코드와 Visualforce/Lightning Component 사용자 지정이 있는 Org에서 작업을 한다고 가정합니다. 특정 작업을 수행하기 위해 ChatGPT에 Apex 클래스/Lightning Component를 생성하도록 요청할 수 있습니다. 그러나 Chat GPT가 만들어준 코드는 Org의 기존 코드들을 고려하지 않습니다.🥶
따라서 ChatGPT에서는 코드가 완벽하게 정상적으로 보이지만, Org에서 실제로 작동하는지 매우 다를 수 있으며 코드를 프로덕션에 푸시하는 것만으로도 문제가 발생할 수 있습니다.
(물론, 이 모델은 기존 코드 기반에서 학습되어 더 나은 코드를 작성할 수 있게 되므로 Salesforce의 Einstein GPT에서는 문제 없습니다)
한편 Chat GPT로 이미 작성된 코드를 개선할 수도 있습니다. 자체 Apex Class에 있어야 하는 일부 로직이 포함된 Apex 트리거가 있는 경우가 있을 수 있습니다. 이 코드를 재작성할 때 ChatGPT에 도움을 요청하여 Salesforce 베스트 케이스에 더 잘 부합하도록 할 수 있습니다. 또는 기존 Aura Component를 Lightning Web Component로 변환하려는 경우 ChatGPT가 도와줄 수 있습니다.
예를 들어 보겠습니다. (아래 예시 이미지를 봐주세요) Apex 트리거가 있는데 이 트리거에는 많은 로직이 내장되어 있습니다. 보통의 경우 트리거 안에 로직이 없어야 하며, 대신 로직은 Apex 클래스 내에 있어야 합니다. 이 부분에 대해서도 ChatGPT가 도움을 줄 수 있습니다.
(예시) Apex Trigger

ChatGPT에 다음과 같은 메시지를 입력하세요.
- 다음과 같은 Apex 트리거가 있는데, Salesforce 모범 사례에 따라 로직을 Apex 클래스로 옮기고 로직을 포함하지 않도록 Apex 트리거를 수정할 수 있나요?


보시다시피 ChatGPT는 로직을 Apex Class로 옮기는 데 도움을 주었을 뿐만 아니라 어떻게 이를 수행했는지에 대한 설명도 제공합니다.
이해관계자 관리
많은 사람들이 이해관계자를 관리하고 소통하는 데 ChatGPT를 사용하고 싶겠지만, 이는 현실적으로 불가능합니다. 이해관계자로부터 일련의 요구사항을 전달받았을 때, 이해관계자가 원하는 바가 요구사항과 완전히 다른 경우가 몇 번이나 있는지 셀 수 없을 정도입니다. 이를 이해관계자에게 전달하고 이해시키는 것은 진정한 예술의 경지인데, ChatGPT는 이를 이해하지 못합니다.
반면에 다른 사람을 위해 요약해야 하는 잘 작성된 사용자 스토리가 있는 경우, ChatGPT가 절대적으로 도움이 될 수 있습니다. 예를 들어 다음과 같은 사용자 스토리가 있습니다.
사용자 스토리 :
"Salesforce 개발자로서 Account Object에서 실행되고, 관련 Contacts의 필드를 업데이트하는 Apex Class를 만들고 싶습니다. 이를 통해 특정 필드에 대한 Account 객체의 변경 사항을 연관된 Contacts에
자동으로 전파하는 프로세스를 자동화할 수 있습니다."
승인 기준:
- Account object의 특정 필드(예: 계정 이름 또는 계정 상태)가 변경되면 Apex Class는 관련 Contacts에 업데이트 프로세스를 트리거하고 시작해야 합니다.
- Apex Class는 실시간 또는 거의 실시간으로 실행되어 관련 Conracts를 즉시 업데이트되도록 해야 합니다.
- Apex Class는 업데이트된 Account 필드의 해당 값으로 관련 Contacts의 사용자 지정 필드(예: "Account_Status__c")를 업데이트해야 합니다.
- Apex Class는 대량 업데이트를 효율적으로 처리하고, 많은 수의 Account 레코드를 처리하고, 그에 따라 관련 Contacts를 업데이트해야 합니다.
- Apex Class는 구성 및 재사용이 가능해야 하며, Salesforce Admin이 Account Object에서 변경 사항을 모니터링할 필드와 Contacts에서 업데이트할 필드를 지정할 수 있어야 합니다.
- 업데이트 프로세스 중 발생할 수 있는 오류나 예외를 처리하기 위해 Apex Class에서 적절한 오류 처리를 구현해야 합니다.
- Apex Class는 정확성, 신뢰성 및 성능을 보장하기 위해 철저한 테스트를 거쳐야 합니다.
- Apex Class를 배포, 구성 및 사용하는 방법에 대한 명확한 지침을 포함한 자세한 설명서가 제공되어야 합니다.
추가 고려 사항:
- Apex Class는 Salesforce 모범 사례 및 코딩 표준을 지켜야 합니다.
- 리소스의 효율적인 사용을 보장하고 제한에 부딪히지 않도록 거버너 한도를 고려해야 합니다.
- Apex Class는 변경 사항을 관리하고 개발자 간의 협업을 촉진하기 위해 버전 관리가 이루어져야 합니다.
- 개발 및 배포 수명 주기를 간소화하기 위해 지속적인 통합 및 배포 프로세스를 구현해야 합니다.
그런 다음 ChatGPT에 다음과 같이 질문했습니다:
고위급 영업 책임자가 이해할 수 있도록 이 사용자 스토리를 요약해 주시겠습니까?

ChatGPT의 최종 답변!
통합(Integrations)
ChatGPT나 심지어 Einstein GPT에 의해서도 통합은 영향을 받을 것으로 보이지 않습니다. 통합이란 두 개 이상의 시스템을 하나로 연동하는 작업 또는 프로세스를 말합니다. 따라서 통합은 설정 및 관리가 매우(극도로) 복잡할 수 있습니다. 통합을 설정하는 데 필요한 초기 코드와 같은 특정 사항은 ChatGPT가 도움을 줄 수 있지만, 통합의 요구 사항과 솔루션이 수행해야 하는 작업을 Chat GPT가 이해하려면 여전히 사람이 필요합니다.
현재 ChatGPT의 가장 큰 단점은 신뢰할 수 있는 단일 출처가 없다는 것입니다. 즉, 동일한 질문을 약간 다른 방식으로 하면 다른 답변을 얻을 수 있습니다.
테스팅 및 디버깅
ChatGPT(그리고, Einstein GPT)를 사용하면 개발자의 시간을 무수히 절약할 수 있습니다. ChatGPT는 사용자가 제공한 코드를 읽고 이해하는 데 매우 능숙합니다. 따라서 개발자가 Apex class나 트리거를 만들 때 이 코드를 챗봇에 넣고 이에 맞는 테스트 class를 생성하도록 요청할 수 있습니다.
현재의 모델은 Salesforce 모범 사례를 적용하도록 훈련되지 않았기 때문에 이 부분(테스팅)은 어느 정도의 질문과 답변 작업이 필요합니다. 하지만 디버깅은 개발자 콘솔의 문제 섹션에 나타나는 모든 오류 메시지와 마찬가지로 매우 간단하므로 복사하여 ChatGPT에 붙여넣기만 하면 됩니다. 그러면 다시 시도할 수 있도록 코드가 다시 작성됩니다.
우여곡절 끝에 이전 예제에서 작성한 에이펙스 클래스에 대한 테스트 클래스를 얻었습니다:


여기에서 코드를 반복할 때마다 ChatGPT가 변경된 내용과 그 이유에 대한 설명을 제공하는 것을 볼 수 있습니다.
여기서 한 가지 주목해야 할 점은 ChatGPT와의 주고받기를 통해 모델이 Apex 모범 사례를 학습하는 데 도움이 되고 있으며, 이는 향후 릴리스에서 더욱 안정적인 코드가 작성될 것이라는 의미입니다.
Salesforce 개발 라이프사이클
ChatGPT의 영향을 받지 않을 것으로 보이는 또 한 가지는 Salesforce 개발 라이프사이클이 이 도구(Chat GPT)와 완전히 분리될 가능성이 높다는 점입니다. Salesforce 개발 라이프사이클은 변경 세트에서 DevOps 센터까지, 각 조직마다 완전히 별개일 가능성이 높습니다. (어떤 것은 개인이나 팀에 의해 완전히 소유되며, 다른 경우에는 자동화가 일부 포함되어 있습니다.)
물론 AI가 이 모든 것을 완전히 대체할 수는 없을 것입니다. 이 과정에는 항상 사람이 참여해야 합니다.
ChatGPT 사용 시 고려할 사항
현재 OpenAI의 ChatGPT에는 무시하기 어려운 한 가지 결함이 있는데, 바로 신뢰할 수 있는 단일 소스가 없다는 점입니다. 그 결과, 동일한 질문을 약간씩 다른 방식으로 던져도 완전히 다른 답변을 얻게 됩니다.
신뢰할 수 있는 단일 소스가 없다면 어떤 상황에서 아무리 유용한 도구라 할지라도 그 도구가 제공하는 정보를 전적으로 신뢰할 수는 없습니다.
📌추천 아티클 : Breaking News: Salesforce Einstein GPT Officially Announced
출처 : By Andrew Cook, June 19, 2023
Can ChatGPT Replace a Salesforce Developer? | Salesforce Ben
Just for you
2026 아이투맥스 슬랙 웨비나 시리즈 1️⃣, 왜 슬랙인가? 다시보기
[스케치 영상] 서울대 슬랙 특강 후기, AI 협업 인사이트 한눈에 보기
Slack + AI = 업무 혁신, 왜 기업들은 슬랙을 선택할까? 서울대 특강 후기