Search⌘ K

Writing Clear Objectives and Effective Roles

Learn how to craft precise objectives and assign effective roles to reliably control an AI’s content, tone, and style.

Imagine a project manager walking up to a junior software developer and saying, “Build a login page.” The developer might spend a week creating a perfectly functional page, only for the manager to realize it doesn’t support social media logins, lacks two-factor authentication, and doesn’t match the company’s branding, all critical requirements that were never stated. The project’s failure did not stem from a lack of skill but from a lack of clarity in the initial objective.

Interacting with an LLM is remarkably similar. We can have access to the most powerful AI in the world, but if our instructions are vague, the output will be, at best, a guess. The most advanced prompting techniques are all built upon a single, unshakable foundation: clarity of intent. Let’s explore how we can achieve it.

Writing clear and specific objectives

The objective is the core of any prompt. It is the what—the specific, non-negotiable task we need the model to perform. The difference between a vague request and a specific instruction is often the difference between a useless response and a production-ready one. Let’s consider a common business task: summarizing a meeting. A first-pass attempt at a prompt might be very direct.

Prompt: Summarize this meeting transcript:


"Sarah: Okay team, let's finalize the launch date for the 'Summer Splash' campaign. Tom, are we set with the budget?

Tom: Yes, the budget is approved. I suggest we launch on August 15th to give us enough time for final preparations.

Maria: August 15th works. That gives me a solid deadline for the ad creatives. Have we decided on the primary social media platform? I think Instagram is our best bet.

Sarah: I agree. Let's go with Instagram. So, to recap: Tom, please finalize the budget paperwork. Maria, you'll handle the Instagram ad creatives. Great work, everyone."

The model will certainly produce a summary. But what kind of summary? Will it be a dense paragraph? A list of topics? Will it focus on action items or general discussion points? Without constraints, the model uses its default summarization patterns, which may not match the intended format or focus. Now, let’s re-engineer this prompt with a specific objective.

Prompt: Summarize this meeting transcript into a three-bullet-point list. Each bullet point must identify a key decision that was made and name the person who is the owner of the resulting action item.


"Sarah: Okay team, let's finalize the launch date for the 'Summer Splash' campaign. Tom, are we set with the budget?

Tom: Yes, the budget is approved. I suggest we launch on August 15th to give us enough time for final preparations.

Maria: August 15th works. That gives me a solid deadline for the ad creatives. Have we decided on the primary social media platform? I think Instagram is our best bet.

Sarah: I agree. Let's go with Instagram. So, to recap: Tom, please finalize the budget paperwork. Maria, you'll handle the Instagram ad creatives. Great work, everyone."

The second version is exponentially more powerful. It is testable; we can immediately verify if the output has three bullet points and contains the required information. It is unambiguous, leaving no room for the model to guess what we find important. By clearly defining the structure and content of the desired output, we have moved from hoping for a good result to engineering one.

svg viewer

Defining success criteria: The key to measurable prompts

In prompt engineering, success criteria are the set of measurable attributes that an output must possess for the prompt to be considered successful. For example, the re-engineered prompt about the meeting transcript is more powerful not just because it is specific, but because it embeds clear success criteria.

By defining these criteria directly within the prompt, we transform a subjective request into an objective, testable one. Consider the criteria from our example:

  • The output must be a list. ...