---
title: What is prompt engineering?
description: Learn what prompt engineering is, key techniques, and how Langfuse can help you manage prompts collaboratively.
tags: [prompt-management]
---

# What is prompt engineering?

Prompt engineering is the practice of designing and refining prompts to effectively communicate with and guide AI models, particularly large language models (LLMs), to produce desired outputs.

It involves:

1. Crafting clear and specific instructions for AI models
2. Utilizing techniques like role assignment, few-shot prompting, and chain-of-thought reasoning
3. Optimizing prompts for different applications such as text generation, summarization, and problem-solving
4. Understanding the capabilities and limitations of AI models
5. Iteratively refining prompts to improve output quality and reliability
6. Applying advanced techniques such as self-consistency, generated knowledge, and least-to-most prompting
7. Considering ethical implications and potential biases in prompt design

By using **Langfuse Prompt Management**, you can version and manage your prompts collaboratively to execute the steps above and keep track of their performance in production.

## Recommended readings

- [Learn Prompting Documentation](https://learnprompting.org/docs)
- [The Prompt Report](https://arxiv.org/abs/2406.06608)
- [Prompting Fundamentals and How to Apply them Effectively](https://eugeneyan.com/writing/prompting/)

<!-- agent-instructions -->

---

## Agent Instructions

This page is part of the [Langfuse](https://langfuse.com) documentation, published as plain Markdown for AI agents. Every page is available as Markdown by appending `.md` to its URL, or by sending an `Accept: text/markdown` header. This page: `https://langfuse.com/faq/all/what-is-prompt-engineering.md`.

### Querying these docs

If the answer is not on this page, query the documentation instead of guessing:

- **Semantic search** across all Langfuse docs, returning an answer with the relevant pages and excerpts. Ask a specific, self-contained question:

  ```bash
  curl -sG "https://langfuse.com/api/search-docs" --data-urlencode "query=How do I trace a LangGraph agent?"
  ```

- **Index of every page**: <https://langfuse.com/llms.txt>, with per-section indexes [llms-docs.txt](https://langfuse.com/llms-docs.txt), [llms-integrations.txt](https://langfuse.com/llms-integrations.txt), and [llms-self-hosting.txt](https://langfuse.com/llms-self-hosting.txt).

### Before writing Langfuse code

- **Install the [Langfuse Agent Skill](https://langfuse.com/docs/api-and-data-platform/features/agent-skill).** It encodes Langfuse's own best practices for instrumentation, prompt management, and evaluation, and materially improves results.
- **Read [What does a good trace look like?](https://langfuse.com/docs/observability/best-practices.md)** before instrumenting an application.
- **Verify endpoints, parameters, and response fields** against the [API reference](https://api.reference.langfuse.com) instead of inferring them from code examples.
- **Use the [Langfuse CLI](https://langfuse.com/docs/api-and-data-platform/features/cli)** (`npx langfuse-cli api <resource> <action>`) to read or write traces, prompts, datasets, and scores from the terminal.

Found an error in these docs? Please open an issue at <https://github.com/langfuse/langfuse-docs/issues>.
