Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: edit messages for agent create and agent generte spec #41

Merged
merged 2 commits into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions messages/agent.create.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
# summary

Create an Agent from an agent spec.
Create an agent in your org from a local agent spec file.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is going to change with the v2 agent creator APIs that will allow "agent preview" behavior, meaning the metadata will not be created in the org but sent back in the response to be previewed by the customer.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha. I was writing this with the Dec milestone in mind, so I will change it when you implement v2. Okay?


# description

Create an Agent from an agent spec. Agent metadata is created in the target org and retrieved to the local project.
To generate an agent spec file, run the "agent generate spec" CLI command, which outputs a JSON file with the list of jobs and descriptions that the new agent can perform. Then specify this generated spec file to the --job-spec flag of this command, along with the name of the new agent.

# flags.job-spec.summary
When this command finishes, your org contains the new agent, which you can then edit in the Agent Builder UI. The new agent already has a list of topics and actions that were automatically created from the list of jobs in the provided agent spec file. This command also retrieves all the metadata files associated with the new agent to your local DX project.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is true with the current implementation but not necessarily with the v2 implementation.

Copy link
Contributor Author

@jshackell-sfdc jshackell-sfdc Dec 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my previous comment.


The path to an agent spec file.
To open the new agent in your org's Agent Builder UI, run this command: "sf org open agent --name <api-name-of-your-agent>".

# flags.job-spec.description
# flags.job-spec.summary

The agent spec file defines job titles and descriptions for the agent and can be created using the `sf agent create spec` command.
Path to an agent spec file.

# flags.name.summary

The name of the agent.
API name of the new agent.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is actually the label, not the API name (aka developer name).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@WillieRuemmele said it was the API name. I originally thought it was the label.


# examples

- Create an Agent:
- Create an agent called "CustomerSupportAgent" in an org with alias "my-org" using the specified agent spec file:

<%= config.bin %> <%= command.id %> --spec ./agent-spec.json
<%= config.bin %> <%= command.id %> --name CustomerSupportAgent --job-spec ./config/agentSpec.json --target-org my-org
30 changes: 19 additions & 11 deletions messages/agent.generate.spec.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,49 @@
# summary

Create an Agent spec.
Generate an agent spec, which is the list of jobs that the agent performs.

# description

Create an Agent spec, which is a list of job titles and descriptions that the agent performs.
When using Salesforce CLI to create an agent in your org, the first step is to generate the local JSON-formatted agent spec file with this command.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is true for the existing commands but not necessarily true with v2. The v2 APIs allow agent creation from the fields used to generate a spec and not only from a spec.

Copy link
Contributor Author

@jshackell-sfdc jshackell-sfdc Dec 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

see my previous comment.


An agent spec is a list of jobs and descriptions that capture what the agent can do. Use flags such as --role and --company-description to provide details about your company and the role that the agent plays in your company; you can also enter the information interactively if you prefer. When you then execute this command, the large language model (LLM) associated with your org uses the information to generate the list of jobs that the agent most likely performs. We recommend that you provide good details for --role, --company-description, etc, so that the LLM can generate the best and most relevant list of jobs and descriptions. Once generated, you can edit the spec file; for example, you can remove jobs that don't apply to your agent.

When your agent spec is ready, you then create the agent in your org by specifying the agent spec file to the --job-spec flag of the "agent create" CLI command.

# flags.type.summary

The type of agent to create.
Type of agent to create.

# flags.role.summary

The role of the agent.
Role of the agent.

# flags.company-name.summary

The name of the company.
Name of your company.

# flags.company-description.summary

The description of the company, containing details to be used when generating agent job descriptions.
Description of your company.

# flags.company-website.summary

The website URL for the company.
Website URL of your company.

# flags.output-dir.summary

The location within the project where the agent spec will be written.
Directory where the agent spec file is written; can be an absolute or relative path.

# flags.file-name.summary

The name of the file to write the agent spec to.
Name of the generated agent spec file.

# examples

- Create an Agent spec in the default location:
- Create an agent spec for your default org in the default location and use flags to specify the agent's role and your company details:

<%= config.bin %> <%= command.id %> --type customer --role "Assist users in navigating and managing bookings" --company-name "Coral Cloud" --company-description "Resort that manages guests and their reservations and experiences"

- Create an agent spec by being prompted for role and company details interactively; write the generated file to the "specs" directory and use the org with alias "my-org":

<%= config.bin %> <%= command.id %> --type customer_facing --role Support --company-name "Coral Cloud" --company-description "A meaningful description"
<%= config.bin %> <%= command.id %> --output-dir specs --target-org my-org
1 change: 0 additions & 1 deletion src/commands/agent/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ export default class AgentCreate extends SfCommand<AgentCreateResult> {
char: 'f',
required: true,
summary: messages.getMessage('flags.job-spec.summary'),
description: messages.getMessage('flags.job-spec.description'),
}),
name: Flags.string({
char: 'n',
Expand Down
Loading