Chapter 1: Einstein for Developers | Spring '24 Developer Preview: Release Readiness Live

Salesforce Developers
16 Feb 202407:46

Summary

TLDRAna, a Salesforce product manager, introduces Einstein for developers, an AI assistant in open Beta designed to enhance productivity within IDEs. She highlights new features like clear prompt guidelines, test case generation for Apex to simplify testing, and inline code completion for efficient coding. Ana demonstrates these features in Code Builder, Salesforce's web-based IDE, showcasing how Einstein can generate responses with syntax highlighting and assist in creating test files and code completions.

Takeaways

  • 🚀 Einstein for developers is an AI assistant tool by Salesforce that enhances productivity within the development environment.
  • 📝 The tool recently entered open Beta at Dreamforce, indicating a significant milestone in its development.
  • 📖 Clear guidelines have been provided to help users write more effective prompts for the AI, ensuring better task execution.
  • 🔍 Test case generation for Apex is a new feature that assists developers in starting with testing, a crucial aspect of development.
  • ✏️ Inline code completion is now available, allowing developers to see code suggestions within their editor, streamlining the coding process.
  • 🛠️ Code Builder is a web-based IDE by Salesforce that offers a comprehensive set of tools for coding, debugging, and testing.
  • 🔗 The Einstein sidebar in Code Builder allows users to input natural language prompts to interact with the AI assistant.
  • 💡 Including relevant metadata and schema information in prompts is crucial for the AI to generate accurate and context-aware responses.
  • 📝 Syntax highlighting in generated responses is a new feature that improves readability and understanding of the AI's output.
  • 🔧 The 'refresh s object definitions' command is essential for updating the AI's knowledge of custom or standard objects relevant to the task.
  • 🔄 The 'Einstein generate a test' command automates the creation of Apex unit tests, enhancing code coverage and test automation.

Q & A

  • What is the role of Ana in Salesforce?

    -Ana is a product manager at Salesforce, focusing on the IDE experience and Einstein for developers.

  • What is Einstein for developers?

    -Einstein for developers is an AI assistant tool designed to enhance productivity within the development environment.

  • When did Einstein for developers go into open Beta?

    -Einstein for developers went into open Beta at Dreamforce the previous year.

  • What are the three main areas of new feature releases for Einstein for developers?

    -The three main areas of new feature releases are clear guidelines for writing effective prompts, test case generation for Apex, and inline code completion.

  • Why are clear guidelines for writing prompts important?

    -Clear guidelines help users write more effective prompts by providing direction on structuring prompts and including relevant information.

  • How does the test case generation feature for Apex work?

    -The test case generation feature checks for an existing Apex test file and creates one if it doesn't exist, then auto-populates it with a new Apex unit test based on the method selected.

  • What is inline code completion and how does it benefit developers?

    -Inline code completion is a feature that allows developers to see lines of code completed while inside their editor, enhancing their existing development processes without leaving their workflow.

  • What is Code Builder and how does it relate to Einstein for developers?

    -Code Builder is a web-based IDE by Salesforce that provides access to tools like coding, debugging, and CLI commands within a browser. It is where Einstein for developers is used to demonstrate its features.

  • What is the significance of syntax highlighting in the generated responses by Einstein?

    -Syntax highlighting in generated responses makes the code easier to understand and read, improving the developer's experience when using Einstein for developers.

  • How does the Einstein sidebar assist in the development process?

    -The Einstein sidebar allows developers to write prompts with natural language instructions, which Einstein then uses to generate responses, aiding in tasks like generating test cases and inline code completion.

  • What is the purpose of the 'refresh s object definitions' command in Einstein for developers?

    -The 'refresh s object definitions' command pulls down all relevant custom or standard objects needed for the task, ensuring that the metadata schema is considered when generating responses.

Outlines

00:00

💡 Introduction to Einstein for Developers

Ana, a product manager at Salesforce, introduces Einstein for Developers, an AI assistant designed to enhance productivity within the development environment. She discusses the tool's recent open Beta release at Dreamforce and emphasizes the importance of user feedback in shaping future features. Ana outlines three main areas of new feature releases: clear guidelines for effective prompt writing, test case generation for Apex, and inline code completion. She also highlights the availability of documentation and guidelines to assist users in structuring prompts for optimal results.

05:03

🛠️ Demonstrating New Features in Code Builder

Ana provides a live demo inside Code Builder, Salesforce's web-based IDE, to showcase the new features of Einstein for Developers. She starts by ensuring the Einstein extension is installed and then uses the 'refresh s object definitions' command to sync with relevant custom and standard objects. Ana writes a descriptive prompt, including metadata and best practices, to generate a response from Einstein. She also demonstrates the new syntax highlighting feature in generated responses. Next, she uses the 'Einstein generate a test' command to automatically create and populate an Apex unit test file. Finally, Ana shows off inline code completion, which allows her to stay within her workflow while receiving AI-generated code suggestions, enhancing her development process.

Mindmap

Keywords

💡Product Manager

A product manager is a professional responsible for guiding a product from its inception to its market presence. In the context of the video, Ana, the product manager at Salesforce, is the one who introduces and discusses the features of Einstein for developers, an AI assistant tool. She is responsible for the product's development experience and ensuring that it meets the needs of its users.

💡Einstein for Developers

Einstein for Developers is an AI assistant tool designed to enhance productivity within a development environment. As mentioned in the script, it recently went into open Beta and is aimed at helping developers complete tasks more efficiently. The tool is a central theme of the video, with Ana demonstrating its capabilities and new features.

💡Open Beta

Open Beta refers to a phase in software development where a product is made available to the public for testing and feedback. The script mentions that Einstein for Developers went into open Beta at Dreamforce, indicating that it is in a phase where user feedback is actively being sought to refine the product before its official release.

💡IDE Experience

IDE stands for Integrated Development Environment, which is a software application that provides comprehensive facilities to computer programmers for software development. In the video, Ana focuses on enhancing the IDE experience for Salesforce developers by introducing new features in Einstein for Developers that are designed to assist within the development environment.

💡Test Case Generation

Test Case Generation is a process where test cases are automatically created to validate the functionality of a software application. In the context of the video, Ana introduces a new feature in Einstein for Developers that allows for the automatic generation of test cases for Apex code, which is a significant time-saver for developers and helps ensure thorough testing.

💡Apex

Apex is a proprietary programming language for the Salesforce.com platform. It is used to create custom applications for the Salesforce platform. The video script discusses the new test case generation feature for Apex, highlighting how Einstein for Developers can assist developers in writing test cases for their Apex code.

💡Inline Code Completion

Inline Code Completion is a feature that provides real-time suggestions for code as a developer types. It is designed to speed up the coding process and reduce errors. Ana demonstrates this feature in the video, showing how Einstein for Developers can suggest lines of code within the editor, allowing developers to stay in their workflow while benefiting from AI-assisted coding.

💡Code Builder

Code Builder is described in the script as a web-based IDE that went to GA (General Availability) around Dreamforce of the previous year. It is a tool that allows developers to code, debug, test, and work with CLI commands all within a browser, enhancing the accessibility and convenience of development tasks.

💡Einstein Sidebar

The Einstein Sidebar is a feature within the Salesforce IDE that allows developers to interact with Einstein for Developers. As mentioned in the script, it can be opened to write prompts with natural language instructions, which Einstein then uses to generate responses. This sidebar is a key interface for developers to leverage the AI capabilities of Einstein for Developers.

💡Metadata Schema

Metadata Schema refers to the structure that defines how data is organized and stored in a system. In the context of the video, Ana emphasizes the importance of including relevant metadata when writing prompts for Einstein for Developers. This ensures that the AI assistant takes into account the correct data structure when generating responses, which is crucial for accurate and relevant code generation.

💡Syntax Highlighting

Syntax Highlighting is a feature in code editors that displays source code in different colors and fonts according to the category of terms. It is used to enhance readability and to help programmers identify specific types of syntax. The script mentions that the generated responses in Einstein for Developers now include syntax highlighting, which improves the clarity and usability of the AI-generated code.

Highlights

Einstein for developers is an AI assistant tool designed to enhance productivity in the development environment.

The tool has recently entered open Beta, showcasing new innovations.

Feedback from users is highly valued and influences future development.

New features include clear guidelines for writing effective prompts within the product.

Test case generation for Apex is a new feature to support testing efforts.

Inline code completion is now available to supercharge development processes.

Code Builder is a web-based IDE that provides a full suite of development tools within a browser.

The Einstein sidebar in Code Builder allows for natural language prompts to generate code.

Including relevant metadata in prompts ensures accurate responses from the AI.

Syntax highlighting in generated responses improves code readability.

Security enforced mode is a feature that ensures code generation adheres to security standards.

The 'refresh s object definitions' command updates the relevant custom or standard objects for task completion.

AI-generated test cases can be created and populated automatically for Apex classes.

Inline code completion suggests lines of code while editing, streamlining the development workflow.

The demo showcases the practical application of Einstein for developers within the Dreamhouse project.

The Einstein for developers extension is available in the Marketplace for easy installation and updates.

The tool's capabilities are designed to work seamlessly within the existing development environment.

Transcripts

play00:00

hi everyone my name is Ana and I'm a

play00:02

product manager here at Salesforce

play00:04

focusing on your IDE experience and

play00:06

Einstein 4 developers today I am so

play00:09

excited to be here talking to y'all

play00:11

about Einstein 4 developers which

play00:13

recently went into open Beta at

play00:15

dreamforce this past year for those of

play00:17

you who aren't familiar Einstein for

play00:19

developers is an AI assistant tool

play00:21

designed to help you be more productive

play00:24

while you're completing tasks within

play00:25

your development environment and we have

play00:28

a ton of new Innovations here to show

play00:31

y'all today now as always we really

play00:34

value the feedback that you provide us

play00:36

whether through release Readiness live

play00:37

or elsewhere and these are really the

play00:39

key pieces of info that we use to decide

play00:42

what to build next so to start off with

play00:46

we have three main areas that we are

play00:48

releasing new features for for E Ford so

play00:52

first up we have clear guidelines to

play00:54

help you write more effective prompts

play00:57

within the product so for many of y'all

play00:59

your you're often looking for a little

play01:01

bit more Direction in how you should go

play01:03

about structuring your prompts and

play01:05

including the relevant pieces of

play01:07

information with our recent releases

play01:09

we've put out clear documentation and

play01:11

guidelines showing you exactly what type

play01:14

of info to include within your prompts

play01:16

to get the desired responses you want

play01:18

from Einstein 4

play01:19

developers the next two pieces are items

play01:23

that I'm super excited about that you'll

play01:24

have been asking for for a while now so

play01:27

first up we have test case generation

play01:29

for Apex we've heard from many of you

play01:31

all that testing is a first class

play01:33

citizen you want to support it but often

play01:36

times it's hard to get started with so

play01:39

we've given you a new AI enabled feature

play01:41

allowing you to get started with writing

play01:43

test cases for your Apex code next we

play01:47

have inline code completion so now you

play01:49

can supercharge your existing

play01:51

development processes by seeing lines of

play01:54

code completed while you're inside of

play01:56

your editor going about your day so why

play01:59

don't we take a look look at all of this

play02:00

in action with a

play02:04

demo so today I'm inside of code builder

play02:08

for those of you who aren't familiar

play02:09

code Builder is our web-based IDE this

play02:12

went to GA around uh dreamforce of last

play02:16

year and the great thing about code

play02:17

Builder is that you have access to all

play02:19

of those great tools you expect from

play02:21

your desktop including the ability to

play02:23

code debug test work with those CLI

play02:26

commands from right here within your

play02:28

browser so now that I'm inside of code

play02:30

Builder I will be working inside of my

play02:32

Dreamhouse project today and this is an

play02:35

open-source sample app that is

play02:37

maintained by our wonderful developer

play02:39

advocacy team here at Salesforce so the

play02:42

first step to working with Einstein for

play02:44

developers is going to be making sure

play02:46

that you have the extension installed so

play02:48

I'll head over to my Marketplace and I

play02:50

can see here that I've not only got

play02:52

Einstein for developers installed but I

play02:54

could even update it to the latest

play02:55

version if I

play02:56

wanted once you've checked that you have

play02:59

the extension installed you want to hit

play03:01

this Einstein sidebar sidebar icon this

play03:05

goes ahead and opens up the sidebar for

play03:07

you here you can go ahead and write in

play03:11

prompts with natural language

play03:13

instructions describing the tasks that

play03:15

you're looking to complete today now one

play03:18

thing that's really important about

play03:19

writing these prompts is that you want

play03:22

to include all of the relevant

play03:24

information about the task you're

play03:26

looking to complete and this also

play03:28

includes any medic data that you happen

play03:30

to be working with behind the scenes

play03:33

what we're doing is ensuring that all of

play03:35

that relevant metadata schema is taken

play03:37

into account when we're working with our

play03:39

llm to generate those responses for you

play03:42

so to help us on this task the first

play03:45

step that you'll need to take as a

play03:46

developer is to first first run a

play03:49

command called refresh s object

play03:52

definitions and essentially what this

play03:54

does is it pulls down all of the re

play03:57

relevant custom objects or standard

play03:59

objects that you need to be working with

play04:01

for your task today so once I've run

play04:04

that I can go ahead and add in my prompt

play04:06

here and you can see here that my prompt

play04:09

is quite descriptive it's explicitly

play04:12

calling out the API name for the objects

play04:14

that I'm working with and it's telling

play04:17

the model exactly how I want to use the

play04:19

class and what types of best practices

play04:22

I'd like to see followed so now that

play04:24

I've got my prompt here and I've run run

play04:26

refresh s object definitions I can go

play04:29

ahead and hit ask behind the scenes

play04:31

Einstein is hard at work coming up with

play04:33

the response now the first thing that I

play04:36

notice here is one of the newest

play04:38

features that our team has put out which

play04:41

has given us the ability to have syntax

play04:44

highlighting in the generated responses

play04:46

so this makes it way easier for me to

play04:49

understand and read the code coming out

play04:51

and you can see that in the response

play04:53

we've even correctly identified the

play04:56

different fields that I happen to be

play04:57

working with for the objects that I

play05:00

specified that's great and we even have

play05:02

with security enforced

play05:04

mode okay so now that I've gone ahead

play05:07

and I've worked on my latest

play05:10

functionality for the Einstein sidebar I

play05:13

want to showcase our test case

play05:14

generation feature so let's say that

play05:17

you're working inside of a class today

play05:19

I'm working on property controller and

play05:22

I've already got this method that I've

play05:24

gone through written everything out for

play05:26

but now I need to generate a test so the

play05:28

way that you'll go about doing this is

play05:30

by going ahead right clicking and

play05:33

hitting this Einstein generate a test

play05:35

command behind the scenes what this is

play05:38

doing is it'll check to see if you have

play05:40

an existing Apex test file associated

play05:43

with the class that we were just looking

play05:45

at and if you don't it'll go ahead and

play05:47

create it for you this is a live demo so

play05:50

occasionally we don't get the full

play05:52

response in there but we'll go ahead

play05:54

here and again just run that same

play05:57

command and we'll choose that same me

play05:59

method that I was working with earlier

play06:01

and now that we have the test file

play06:03

created it'll just go ahead and autop

play06:05

populate that new Apex unit test for me

play06:09

now this test looks good so I'm going to

play06:10

go ahead and hit accept and just like

play06:13

that I've got a little bit more Apex

play06:15

code

play06:17

coverage okay now last but not least I

play06:20

want to show off our inline code

play06:22

completion

play06:23

capabilities this one is one of my

play06:25

personal favorites because I get to stay

play06:27

in my existing workflow

play06:30

while taking advantage of these new AI

play06:32

functionalities so here I'm going about

play06:35

what I typically do with my or enabled

play06:37

annotation I'm going to create my new

play06:40

method

play06:41

here I'll add in the parameters that

play06:45

we're working

play06:49

with

play06:51

and from here I can go ahead and start

play06:56

seeing completions generated for me from

play06:59

right there inside of the method body

play07:01

now if you want to go ahead and hit

play07:02

accept you can Tab and see those

play07:04

completions being accepted and it'll

play07:06

continue to give you more completions

play07:08

based off of the tasks that you're

play07:10

looking to complete in this case I'm

play07:13

pretty okay with what we have so far I

play07:15

might go in later add in a little bit

play07:17

more but for now I've gotten in that

play07:19

initial scaffold of the method that I

play07:21

was working with using our new inline

play07:23

code completion

play07:25

capabilities so I know we talked about a

play07:28

lot of different things today we got a

play07:30

chance to see those more effective

play07:32

prompt writing guidelines in action we

play07:35

got to see our test case generation

play07:36

feature and inline code completion so

play07:40

now I think is a great time for us to go

play07:43

back to mohi thanks y'all

Rate This

5.0 / 5 (0 votes)

Etiquetas Relacionadas
AI AssistantProductivityIDE ToolsEinstein BetaDevelopersSalesforceCode BuilderTest CasesCode CompletionAI Innovations
¿Necesitas un resumen en inglés?