Využití ChatGPT pro Salesforce vývojáře

Co je ChatGPT

ChatGPT je velmi výkonný a inovativní nástroj umělé inteligence, který dokáže vygenerovat texty, odpovědi na dotazy, předpovědi a mnoho dalšího s ohromující přesností a kvalitou. Tento nástroj se ukázal jako velmi užitečný pro mnoho oblastí, včetně marketingu, obchodu,financí a mnoha dalších. V tomto článku se zaměříme na využití ChatGPT v oblasti Salesforce, kde může být velmi užitečný pro vývojáře a administrátory Salesforce.

Využití ChatGPT v Salesforce může mít mnoho výhod a přínosů. Může pomoci zefektivnit procesy a zvýšit produktivitu, umožnit automatizaci určitých úkolů a vytvořit nové funkce a možnosti pro uživatele Salesforce. Následující případy ukazují několik konkrétních příkladů, jak může být ChatGPT využit v různých situacích při implementaci Salesforce.

V článku najdete spoustu obrázků, které byly cíleně zkráceny, aby nezobrazovaly zbytečné části vstupu do ChatGPT. Proto jsou části textu vystřižené.

Generování složitějších regexů

Z historických důvodů jsme neměli uloženou jednu integrační permission set v GITu. Z tohoto důvodu se často stávalo, že jsme odstranili field, který nebyl nikde v repozitáři referencován, ale byl v tomto permission setu. Důsledkem bylo, že integrační uživatel, který tuto permission set používal, najednou začal dostávat errory o neznámém fieldu. Bylo rozhodnuto, že se tento permission set dá do GITu, ale nebylo to nakonec tak snadné, jak se zdálo.

Po přidání do GITu začal najednou náš CI/CD proces failovat s errory o nedefinovaných fieldech. Ukázalo se, že tento permission set referuje některé fieldy, které byly pouze v produkci a ne v integračním sandboxu, kam CI/CD deployoval. Bohužel sfdx deployment v tomto případě nenahlásí všechny fieldy, které nejsou v daném sandboxu, ale pouze první z nich. Tím pádem bychom museli vždy deploynout, retrievnout chybějící field, deploynout, retrievnout a tak dále, pořád dokola.

Řešením bylo udělat retrieval package se všemi fieldy, které byly referovány v permission setu. Ne ale všechny fieldy, pouze custom a ne s namespacem.

Chceme:

  • Custom_field__c

Nechceme:

  • sbbq__Custom_Field__c
  • AccountId

Jak ale napsat takhle složitý regex? String musí končit __c, může obsahovat písmena, čísla a _, ale nesmí obsahovat __. Právě poslední část o __ se ukazuje být nejsložitější.

Na pomoc přichází ChatGPT. Po chvíli vysvětlování problému a přesvědčování ChatGPT, že odpověď, kterou dal, nefunguje, jsme zdárně dorazili do cíle.

Operace s textem 

V rámci požadavku od businessu jsme museli zanalyzovat všechna použití jednoho picklist fieldu. Nastartovali jsme tedy v projektu full-text search, který nám vrátil asi 150 výskytů tohoto fieldu v různých metadatech jako jsou Apex, Flow, Layouts, Flexipage, Custom field a další. Samozřejmě, field mohl být vícekrát referován v daném metadata souboru, takže vrátil i hodně duplicit.

BrandedAssetPrinterControllerTest.cls

Partner_Company_Record_Page.flexipage-meta.xml

Partner_News_Generate_Email.flow-meta.xml

Partner_Portal_User_Company_View.flow-meta.xml

SUSE_Lead_On_Created_or_Edited.flow-meta.xml

partnerPortalListview.js

Image_Redirect_URL__c.field-meta.xml

Výsledek analýzy jsme měli zadat do Jira ticketu formátovaný jako seznam bullet-pointů pro větší přehlednost. Mohli jsme samozřejmě zkusit napsat nějaký custom script nebo s trochou práce použít Excel, ale obojí by trvalo příliš dlouho na to, že to byl jednorázový požadavek.

Na druhou stranu, ChatGPT stačilo jen dobře vysvětlit, co chceme, a výsledek jsme měli během několika vteřin.

Popis kódu/vysvětlení algoritmu

Jako správný developer kód spíš více čtete než píšete. Všichni bychom se měli snažit psát čistý a přehledný kód, ale ne vždy se to povede. Takže když čtete nějaký nepřehledný kód, není od věci poslat třeba rovnou celou třídu do ChatGPT, aby vám popsal, co se v dané metodě nebo celé classe děje.

Teď už i administrátor bude zhruba vědět, co se v kódu děje.

Automatická dokumentace

Dokumentace je něco, co by se mělo, ale z vlastní zkušenosti vím, že se do ní nikomu nechce. ChatGPT ale i tuto úlohu velmi zjednodušuje.

Není třeba ale zůstávat jen u textové dokumentace, můžeme si nechat vygenerovat ApexDoc k jednotlivým metodám.

S využitím jezyku Mermaid můžeme dokonce generovat celé diagramy.

Tady už se dostáváme na hranu toho, co ChatGPT zvládne sám. Několik prvních iterací nedokázal vygenerovat smysluplný kód. I po ručním opravení syntaktických chyb můžeme vidět, že generovaný diagram úplně neodpovídá realitě. Ale jako začátek diagramu je to celkem slušné.

Závěr

Využití ChatGPT pro Salesforce vývojáře může být velkým přínosem při řešení různých problémů a úkolů v této oblasti. Tento výkonný a inovativní nástroj umělé inteligence může pomoci zefektivnit procesy, umožnit automatizaci určitých úkolů a vytvořit nové funkce a možnosti pro uživatele Salesforce. V tomto článku jsme si ukázali několik konkrétních příkladů, jak může být ChatGPT využit při implementaci Salesforce, například při generování složitých regexů nebo při analýze a dokumentaci kódu. S pomocí ChatGPT mohou vývojáři Salesforce snadno řešit i složité problémy a ušetřit tak čas a náklady.

Pokud vás zajímá ChatGPT do hloubky, tak mohu doporučit tento velmi detailní článek od Stephena Wolframa: https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/

ChatGPT samozřejmě není nástroj jen pro vývoj, ale cokoliv vás napadne. Zde třeba můžete vidět, jak jsem ho použil na krátkou hru dračáku: https://www.linkedin.com/posts/adam-stepanek-cz_adventure-aicompanion-gaming-activity-7020485303555485696-C8Jp?utm_source=share&utm_medium=member_desktop

A tady dokonce na predikci voleb českého prezidenta: https://www.linkedin.com/posts/adam-stepanek-cz_ai-election-czech-activity-7025096204191461376-3Tw9?utm_source=share&utm_medium=member_desktop

Autor: Adam Štěpánek, https://www.linkedin.com/in/adam-stepanek-cz/ 

Spoluautor: ChatGPT, https://shareg.pt/HBLIJhH