Perplexity’s Full System Prompt Is Now Public. Here’s What It Reveals.

Someone posted Perplexity’s complete system prompt on r/PromptEngineering this week. It’s over a thousand words of production AI instructions, and several sections are worth studying if you write prompts or build AI agents. The contributor, u/Thepig1011, shared not just the base instructions but all 8 tool schemas in full, giving a rare look at how a production AI search product is actually structured.

The Tool Policy (Start Here)

The <tool_policy> block is the most transferable section for anyone building AI agents. A few key rules from the original post:

  • Use at least one relevant tool before answering unless tools are unavailable…
  • Prefer parallel tool calls when calls are independent.
  • Make at most three tool calls before producing the final answer.
  • After each tool call, decide whether the available information fully answers the user’s request.

Each rule is doing specific work. Forcing at least one tool call before answering prevents the AI from relying on stale training data. Parallel calls reduce latency when multiple lookups are independent. The 3-call cap controls costs without gutting coverage. And the stop-condition check after each call is clever because it makes the agent naturally efficient instead of burning through the full allowance on every query.

🛠 The 8 Tools in the Stack

The tool schemas show a wider surface area than most people probably expect:

  • search_web, up to 3 keyword queries per call
  • get_full_page_content, fetches full page HTML when search snippets aren’t enough
  • search_browser, searches the user’s open tabs and browsing history
  • open_page, opens a URL in a visible browser tab for the user
  • close_browser_tabs, closes tabs only on explicit user request
  • execute_code, Python in a persistent Jupyter notebook with no internet access
  • search_people, LinkedIn-style professional lookup by name, company, or role
  • load_skill, loads specialized instruction sets like chart creation

The browser tools stand out. Perplexity’s extension gives the AI real visibility into what tabs are open. The system prompt is careful about when that capability activates: only when a user explicitly asks about their own tabs or browsing history. That kind of precise constraint is something a lot of prompts get wrong, and the expert who shared this document included the full parameter schemas so you can see exactly how the guardrails are wired up.

The Response Style Rules

The <response_style> block reads like a clean editorial guide. A few standout rules from the post’s author:

  • Start with a direct one- or two-sentence answer to the user’s core question. Do not put a heading before the opening answer.
  • Keep bullets top-level only. Do not nest bullets.
  • Avoid repetitive summaries and conclusions unless the user explicitly asks for one.

These aren’t arbitrary style choices. Perplexity built a reputation on responses that feel faster and less cluttered than most AI tools. These rules are a big part of why. The no-nested-bullets rule alone would improve a huge number of AI-generated answers if more people actually applied it.

Use Cases

If you write prompts or build agents, here’s what you can apply directly:

  • Tool-first policy: Add a rule requiring at least one tool call before answering factual questions. The Perplexity version works almost verbatim in LangChain, custom GPTs, or any system prompt.
  • Parallel call instruction: Most agents won’t batch independent calls unless you tell them to explicitly. One line, free latency savings.
  • Call cap: Set a hard limit on tool calls per turn. Without one, agents can loop or overspend without a natural exit condition.
  • Citation format: If your app returns sourced information, the inline citation pattern (e.g., [web:1][web:2]) is clean and structured enough to copy directly.

Prompt of the Day

This is the tool policy block from Perplexity’s system prompt, reproduced exactly as the innovator posted it. Drop it into your own agent instructions and swap in your tool names:

Use at least one relevant tool before answering unless tools are unavailable, disabled by a tool result, or unnecessary for the specific environment. For complex queries, break the request into independent subquestions and gather information efficiently. Prefer parallel tool calls when calls are independent. Make at most three tool calls before producing the final answer. After each tool call, decide whether the available information fully answers the user's request. Continue only when more information is genuinely needed and the tool-call limit has not been reached.

Two variations worth trying: bump the call limit to 5 for research-heavy workflows, or add a rule that requires the agent to state its reasoning before each call. That second change makes agent behavior significantly easier to debug.

Read the Full Post

The original thread on r/PromptEngineering includes the complete document with every tool schema in detail. If you work in prompt engineering or AI agent development, it’s worth reading the whole thing, not just the excerpts covered here. Head over to the original discussion to see how all the pieces fit together.

Perplexity full system prompt and tool schemas
by u/Thepig1011 in PromptEngineering

Scroll to Top