6 min readLumina Software

Advanced AI Prompting Techniques

  • AI
  • Prompt engineering
  • Machine learning
  • Best practices

Beyond basic prompts lie advanced techniques that dramatically improve AI outputs. These methods leverage model capabilities, structure reasoning, and guide AI toward better results.

Chain-of-Thought Prompting

Basic Chain-of-Thought

Encourage step-by-step reasoning:

Solve this problem step by step:

Problem: A store has 15 apples. They sell 3 apples each day. 
How many days until they have 6 apples left?

Step 1: Calculate how many apples need to be sold
Step 2: Calculate how many days that takes
Step 3: Provide the final answer

Zero-Shot Chain-of-Thought

Add "Let's think step by step" to prompts:

Question: What is 25 * 17?

Let's think step by step:

Few-Shot Chain-of-Thought

Provide examples with reasoning:

Example 1:
Question: Jane has 5 apples. She gives 2 to Bob. How many does she have?
Reasoning: Jane starts with 5 apples. She gives away 2, so 5 - 2 = 3.
Answer: 3

Example 2:
Question: There are 10 birds. 3 fly away. How many remain?
Reasoning: Start with 10 birds. 3 leave, so 10 - 3 = 7.
Answer: 7

Question: A store has 15 apples. They sell 3 each day. How many days until 6 remain?

Self-Consistency

Generate multiple solutions and pick the best:

Generate 5 different solutions to this problem. 
Then evaluate each and select the best one.

Problem: [Your problem]

Solution 1:
Solution 2:
Solution 3:
Solution 4:
Solution 5:

Evaluation:
Best Solution:

Tree of Thoughts

Explore multiple reasoning paths:

Solve this problem by exploring multiple approaches:

Problem: [Your problem]

Approach 1: [First approach]
  Reasoning:
  Result:

Approach 2: [Second approach]
  Reasoning:
  Result:

Approach 3: [Third approach]
  Reasoning:
  Result:

Compare approaches and select the best:

ReAct Pattern

Reasoning + Acting:

You are an AI agent solving problems. Use this format:

Thought: [Your reasoning about what to do]
Action: [Action to take]
Observation: [Result of action]
... (repeat Thought/Action/Observation)
Thought: [Final reasoning]
Answer: [Final answer]

Problem: [Your problem]

Few-Shot Learning

Provide examples in your prompt:

Classification Example

Classify these emails as spam or not spam:

Email: "Win $1000 now! Click here!"
Classification: spam

Email: "Meeting tomorrow at 3pm"
Classification: not spam

Email: "Your order has shipped"
Classification: not spam

Email: "Free money! Limited time offer!"
Classification: ?

Code Generation Example

Generate React components following these patterns:

Example 1:
Input: Button component with primary variant
Output:
```typescript
function Button({ children, variant = 'primary' }) {
  return (
    <button className={`btn btn-${variant}`}>
      {children}
    </button>
  );
}

Example 2: Input: Input component with label Output:

function Input({ label, ...props }) {
  return (
    <div>
      <label>{label}</label>
      <input {...props} />
    </div>
  );
}

Input: Card component with title and content Output:


## Role-Playing

Assign specific roles:

You are a senior software architect with 20 years of experience reviewing code for a React Native mobile app.

Your expertise includes:

  • Performance optimization
  • Security best practices
  • Code maintainability
  • React Native patterns

Review this code and provide feedback:

[Code here]


## Prompt Chaining

Break complex tasks into steps:

### Step 1: Planning

Analyze this task and create a step-by-step plan:

Task: [Your task]

Plan: 1. 2. 3.


### Step 2: Execution

Execute this step from the plan:

Step: [Step from plan] Context: [Previous results]

Execution:


### Step 3: Synthesis

Combine these results into a final answer:

Results:

  • [Result 1]
  • [Result 2]
  • [Result 3]

Synthesis:


## Constraint-Based Prompting

Set explicit constraints:

Generate a function with these constraints:

Requirements:

  • Function name: calculateTotal
  • Parameters: items (array of {price: number, quantity: number})
  • Return type: number
  • Must handle empty arrays
  • Must handle invalid inputs (return 0)
  • Must be optimized for performance
  • Must include JSDoc comments
  • Must follow TypeScript best practices

Generate the function:


## Output Formatting

Specify exact output format:

Analyze this code and provide feedback in this format:

Performance Issues

  • [Issue 1]
  • [Issue 2]

Security Concerns

  • [Concern 1]
  • [Concern 2]

Code Quality

  • [Quality issue 1]
  • [Quality issue 2]

Recommendations

  1. [Recommendation 1]
  2. [Recommendation 2]

Code: [Code here]


## Iterative Refinement

Refine outputs through multiple passes:

### Pass 1: Initial Generation

Generate an initial solution:

Problem: [Your problem]

Initial Solution:


### Pass 2: Critique

Review this solution and identify issues:

Solution: [From Pass 1]

Issues:


### Pass 3: Refinement

Improve this solution based on the critique:

Original Solution: [From Pass 1] Issues: [From Pass 2]

Improved Solution:


## Meta-Prompting

Prompt the AI to create better prompts:

You are an expert at creating prompts for AI systems.

Create a prompt that will help an AI:

  • [Goal 1]
  • [Goal 2]
  • [Goal 3]

The prompt should:

  • Be clear and specific
  • Include examples
  • Set constraints
  • Specify output format

Create the prompt:


## Advanced Patterns

### Constitutional AI

Have AI critique its own outputs:

Generate a solution, then critique it:

Problem: [Your problem]

Solution: [Generate solution]

Critique:

  • What are potential issues?
  • What could be improved?
  • Are there edge cases not handled?

Revised Solution: [Improve based on critique]


### Reflection

Have AI reflect on its reasoning:

Solve this problem, then reflect on your approach:

Problem: [Your problem]

Solution: [Generate solution]

Reflection:

  • Was my approach correct?
  • What assumptions did I make?
  • Could I have solved this differently?
  • What did I learn?

## Prompt Templates

Create reusable templates:

```typescript
function createCodeReviewPrompt(code: string, language: string): string {
  return `
You are a senior ${language} developer reviewing code.

Review this code for:
- Performance issues
- Security vulnerabilities
- Best practices
- Maintainability

Code:
\`\`\`${language}
${code}
\`\`\`

Provide feedback in this format:
## Issues
- [List issues]

## Recommendations
- [List recommendations]
`;
}

Measuring Prompt Effectiveness

A/B Testing

async function testPrompts(prompts: string[], testCases: TestCase[]) {
  const results = prompts.map(async prompt => {
    const outputs = await Promise.all(
      testCases.map(testCase => generate(prompt, testCase))
    );
    
    return {
      prompt,
      accuracy: calculateAccuracy(outputs, testCases),
      avgTokens: calculateAvgTokens(outputs),
      avgLatency: calculateAvgLatency(outputs),
    };
  });
  
  return results;
}

Best Practices

  1. Be specific: Clear, detailed instructions
  2. Provide context: Relevant background information
  3. Use examples: Show what you want
  4. Set constraints: Define boundaries
  5. Specify format: How should output be structured
  6. Iterate: Refine based on results
  7. Test: Validate with multiple inputs
  8. Document: Keep track of what works

Common Mistakes

  1. Too vague: "Make it better" → "Optimize for O(n) time complexity"
  2. Missing context: Provide relevant background
  3. No examples: Show desired output format
  4. Ignoring constraints: Set clear boundaries
  5. Not iterating: Refine prompts based on results

Conclusion

Advanced prompting techniques unlock AI capabilities:

  • Chain-of-thought: Step-by-step reasoning
  • Self-consistency: Multiple solutions
  • Few-shot: Learning from examples
  • Role-playing: Context-specific responses
  • Iterative refinement: Improving outputs

Master these techniques, and you'll get dramatically better results from AI systems. The key is experimentation—try different approaches and measure what works best for your use case.

Written by Lumina Software. Questions about anything here? Book a call

Keep reading

Tell us where the money leaks.

Book a call and we will walk through where an AI system could realistically move the numbers in your business. If it can't, we will say so.