Loading

블로그

Home리소스블로그
Insight2024

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

스크린샷_2024-01-22_140109


ChatGPT에 다음과 같은 메시지를 입력하세요.


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

Picture1

Picture2 (1)


보시다시피 ChatGPT는 로직을 Apex Class로 옮기는 데 도움을 주었을 뿐만 아니라 어떻게 이를 수행했는지에 대한 설명도 제공합니다.


이해관계자 관리


많은 사람들이 이해관계자를 관리하고 소통하는 데 ChatGPT를 사용하고 싶겠지만, 이는 현실적으로 불가능합니다. 이해관계자로부터 일련의 요구사항을 전달받았을 때, 이해관계자가 원하는 바가 요구사항과 완전히 다른 경우가 몇 번이나 있는지 셀 수 없을 정도입니다. 이를 이해관계자에게 전달하고 이해시키는 것은 진정한 예술의 경지인데, ChatGPT는 이를 이해하지 못합니다.

반면에 다른 사람을 위해 요약해야 하는 잘 작성된 사용자 스토리가 있는 경우, ChatGPT가 절대적으로 도움이 될 수 있습니다. 예를 들어 다음과 같은 사용자 스토리가 있습니다.

사용자 스토리 :

"Salesforce 개발자로서 Account Object에서 실행되고, 관련 Contacts의 필드를 업데이트하는 Apex Class를 만들고 싶습니다. 이를 통해 특정 필드에 대한 Account 객체의 변경 사항을 연관된 Contacts에

자동으로 전파하는 프로세스를 자동화할 수 있습니다."

승인 기준:

  1. Account object의 특정 필드(예: 계정 이름 또는 계정 상태)가 변경되면 Apex Class는 관련 Contacts에 업데이트 프로세스를 트리거하고 시작해야 합니다.
  2. Apex Class는 실시간 또는 거의 실시간으로 실행되어 관련 Conracts를 즉시 업데이트되도록 해야 합니다.
  3. Apex Class는 업데이트된 Account 필드의 해당 값으로 관련 Contacts의 사용자 지정 필드(예: "Account_Status__c")를 업데이트해야 합니다.
  4. Apex Class는 대량 업데이트를 효율적으로 처리하고, 많은 수의 Account 레코드를 처리하고, 그에 따라 관련 Contacts를 업데이트해야 합니다.
  5. Apex Class는 구성 및 재사용이 가능해야 하며, Salesforce Admin이 Account Object에서 변경 사항을 모니터링할 필드와 Contacts에서 업데이트할 필드를 지정할 수 있어야 합니다.
  6. 업데이트 프로세스 중 발생할 수 있는 오류나 예외를 처리하기 위해 Apex Class에서 적절한 오류 처리를 구현해야 합니다.
  7. Apex Class는 정확성, 신뢰성 및 성능을 보장하기 위해 철저한 테스트를 거쳐야 합니다.
  8. Apex Class를 배포, 구성 및 사용하는 방법에 대한 명확한 지침을 포함한 자세한 설명서가 제공되어야 합니다.

추가 고려 사항:

  • Apex Class는 Salesforce 모범 사례 및 코딩 표준을 지켜야 합니다.
  • 리소스의 효율적인 사용을 보장하고 제한에 부딪히지 않도록 거버너 한도를 고려해야 합니다.
  • Apex Class는 변경 사항을 관리하고 개발자 간의 협업을 촉진하기 위해 버전 관리가 이루어져야 합니다.
  • 개발 및 배포 수명 주기를 간소화하기 위해 지속적인 통합 및 배포 프로세스를 구현해야 합니다.

그런 다음 ChatGPT에 다음과 같이 질문했습니다:

고위급 영업 책임자가 이해할 수 있도록 이 사용자 스토리를 요약해 주시겠습니까?

Picture3 (1)

ChatGPT의 최종 답변!


통합(Integrations)


ChatGPT나 심지어 Einstein GPT에 의해서도 통합은 영향을 받을 것으로 보이지 않습니다. 통합이란 두 개 이상의 시스템을 하나로 연동하는 작업 또는 프로세스를 말합니다. 따라서 통합은 설정 및 관리가 매우(극도로) 복잡할 수 있습니다. 통합을 설정하는 데 필요한 초기 코드와 같은 특정 사항은 ChatGPT가 도움을 줄 수 있지만, 통합의 요구 사항과 솔루션이 수행해야 하는 작업을 Chat GPT가 이해하려면 여전히 사람이 필요합니다.

현재 ChatGPT의 가장 큰 단점은 신뢰할 수 있는 단일 출처가 없다는 것입니다. 즉, 동일한 질문을 약간 다른 방식으로 하면 다른 답변을 얻을 수 있습니다.


테스팅 및 디버깅


ChatGPT(그리고, Einstein GPT)를 사용하면 개발자의 시간을 무수히 절약할 수 있습니다. ChatGPT는 사용자가 제공한 코드를 읽고 이해하는 데 매우 능숙합니다. 따라서 개발자가 Apex class나 트리거를 만들 때 이 코드를 챗봇에 넣고 이에 맞는 테스트 class를 생성하도록 요청할 수 있습니다.

현재의 모델은 Salesforce 모범 사례를 적용하도록 훈련되지 않았기 때문에 이 부분(테스팅)은 어느 정도의 질문과 답변 작업이 필요합니다. 하지만 디버깅은 개발자 콘솔의 문제 섹션에 나타나는 모든 오류 메시지와 마찬가지로 매우 간단하므로 복사하여 ChatGPT에 붙여넣기만 하면 됩니다. 그러면 다시 시도할 수 있도록 코드가 다시 작성됩니다.

우여곡절 끝에 이전 예제에서 작성한 에이펙스 클래스에 대한 테스트 클래스를 얻었습니다:

Picture4 (1)

Picture5 (3)


여기에서 코드를 반복할 때마다 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️⃣, 왜 슬랙인가? 다시보기

2026 아이투맥스 슬랙 웨비나 시리즈 1️⃣, 왜 슬랙인가? 다시보기

[스케치 영상] 서울대 슬랙 특강 후기, AI 협업 인사이트 한눈에 보기

[스케치 영상] 서울대 슬랙 특강 후기, AI 협업 인사이트 한눈에 보기

Slack + AI = 업무 혁신, 왜 기업들은 슬랙을 선택할까? 서울대 특강 후기

Slack + AI = 업무 혁신, 왜 기업들은 슬랙을 선택할까? 서울대 특강 후기

로드 중
ChatGPT가 세일즈포스 개발자를 대체할까요?