Last year, my article on synthetic data generation made it to the shortlist of the Tekhnotext 7 award. Traditions must not be broken.

My new longread on Habr recently passed the selection for Tekhnotext 8. There, I analyzed architectural patterns that make LLMs work more efficiently and predictably, with code examples in Python and LangChain.

What's inside:
🔵 XML Isolation: how to structurally separate system instructions from user input and provide basic protection against prompt injections.
🔵 Negative Constraints: how to make LLMs obey through a penalty system [PENALTY].
🔵 Format Forcing: pre-filling the response. How to force the model to physically continue a JSON string, cutting off its ability to write "Of course, here is your answer."
🔵 Generated Knowledge & Self-Consistency: how to treat hallucinations with two-step generation and majority voting.
🔵 Tree of Thoughts: directed search of strategies for tasks where the cost of error is a blown budget.
🔵 Meta-prompting: how to delegate prompt writing to the model itself so it generates them according to your strict framework.

Spoiler: the technique beloved by many, "you are a senior with 20 years of experience," often worsens quality in discriminative tasks. In the article, I explain why this happens with evidence from research.

👉🏻 Read: Prompt Engineering Patterns: How to Design LLM Systems for Production
Of course, I'm not counting on winning, but let's see if it makes it to the shortlist this time. Hit the like button 🤗

The material was based on one of the past streams of Tochka Sborki. That's the level there, I invite you: t.me/TScompiler_bot ☕️