DEV Community

BHUVANESH M
BHUVANESH M

Posted on

Microsoft Launches POML: Making Prompt Engineering Structured & Developer-Friendly

What’s POML?

Microsoft’s POML, or Prompt Orchestration Markup Language, is a markup-based framework for writing, structuring, and managing prompts for AI models. Think of it as HTML—but specifically tailored for prompt engineering.

(Medium, Reddit)

Why It Matters

As natural language prompts grow in length and complexity—used by multiple teams, across different tasks, and often in collaboration—POML brings:

  • Structure: Tags like <role>, <task>, and <example> let you compartmentalize prompt logic.
  • Maintainability: Reuse, version control, and clarity help avoid messy, unorganized prompt files.
  • Modular Reusability: Embed images, documents, tables, loops, conditionals, hints, styling rules—you name it.

“You won’t lose your mind when prompts get long, messy, and reused by 5 different teams across 3 time zones.”

(Medium)

What Microsoft Launched for VS Code

The recently released POML VS Code extension equips developers with a modern prompt engineering experience:

  • Syntax highlighting for .poml files
  • IntelliSense with auto-completion
  • Hover documentation and live inline diagnostics
  • Real-time preview of rendered prompts
  • Model testing and prompt execution within the editor

👉 VS Code Marketplace

👉 Official Docs

Quick Start Example


poml
<poml>
  <role>You are a patient teacher explaining concepts to a 10-year-old.</role>
  <task>Explain the concept of photosynthesis using the provided image as a reference.</task>

  <img src="photosynthesis_diagram.png" alt="Diagram of photosynthesis" />

  <output-format>
    Keep the explanation simple, engaging, and under 100 words.
    Start with "Hey there, future scientist!".
  </output-format>
</poml>
Enter fullscreen mode Exit fullscreen mode

Top comments (2)

Collapse
 
yaldakhoshpey profile image
Yalda Khoshpey

I like it☺️

Collapse
 
bhuvaneshm_dev profile image
BHUVANESH M

@yaldakhoshpey If you learn it?