Industrial Prompt Engineering: Stable LLM Responses Turnkey

Implementing Prompt Engineering for an AI System

AI Development Areas

Frequently Asked Questions

העבודות האחרונות

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1440
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    998
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1264
  • image_logo-advance_0.webp
    B2B Advance company logo design
    713
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1002

Implementing Prompt Engineering for an AI System

Deployed an LLM in a support chatbot and got 40% hallucinations? A familiar situation. One of our clients, a fintech startup, spent a month developing a chatbot for credit consultations. A junior wrote the prompt in an hour—result: 40% of responses contained incorrect data on interest rates and terms. In two weeks, we designed a multi-level prompt with anti-hallucination instructions, chain-of-verification, and few-shot examples. Hallucinations dropped to 3%, accuracy increased from 55% to 94%, and p95 latency halved. In 5 years of working with AI systems, we have developed an approach that delivers predictable p95 latency and >95% accuracy under production loads.

Prompt Engineering is the discipline of designing input data for LLMs to obtain predictable, high-quality results. It includes structuring queries, managing context, selecting techniques (CoT, Few-Shot, ReAct), tuning parameters, and iterative calibration.

Why Standard Prompts Fail in Production

A common mistake: prompts written by a developer in ten minutes. They give an acceptable answer on 2–3 manual tests but fail under real load. Main issues:

  • Hallucination—the model makes up things not in context. Without anti-hallucination instructions, up to 30% of responses contain false facts.
  • Context sensitivity—a small wording change completely alters the response. Temperature and top-p not tied to the task type create irreproducibility.
  • Lack of error handling—when data is missing, the model does not say "I don't know" but invents an answer.

We eliminate these problems through structured templates, verification, and A/B tests.

How to Reduce the Hallucination Percentage in LLMs?

Key technique: chain-of-verification—the model first generates an answer, then checks each claim against the context. We add a system prompt that prohibits inventing and introduces a confidence threshold. Additionally, we use few-shot examples with edge cases. In production, this reduces the hallucination rate from 20% to 2–3%. According to OpenAI recommendations, structured prompts cut hallucinations by 30–50%.

ANTI_HALLUCINATION_ADDENDUM = """ IMPORTANT: Only answer based on the provided context. If the information is not in the context, say: "I have no data on this question." Do not guess or make assumptions. If confidence is < 80%, indicate the degree of uncertainty. """ async def answer_with_verification(question: str, context: str) -> dict: answer = query_llm( f"Context:\n{context}\n\nQuestion: {question}", system=f"You are an analyst. {ANTI_HALLUCINATION_ADDENDUM}", ) verification = query_llm( f"Original answer: {answer}\n\nQuestion: Are all statements in the answer confirmed by the context? Answer as JSON: {{\"verified\": bool, \"unsupported_claims\": [...]}}", temperature=0, ) return {"answer": answer, "verification": json.loads(verification)} 

How We Design Industrial Prompts

The process starts not with code but with analyzing expectations: what the prompt should do, boundary cases, how to measure quality. We collect 100–200 representative queries and label the ideal answer. Only then do we write the first baseline.

Role Model and Context

The system prompt is built using the scheme: "You are [role]. Task: [goal]. Context: [conditions, data]. Rules: [what is allowed, what is not]. Output format: [explicit format]." For RAG, we add a source pointer. Example:

SYSTEM_PROMPT = """You are {role}. Task: {task_description} Rules: {rules} Output format: {output_format}""" 

A/B Testing and Metrics

We test each prompt variant on an eval set using LLM-as-judge. Compare by accuracy, completeness, style. Example test class:

class PromptABTest: def __init__(self, variants: dict[str, str]): self.variants = variants self.results = {name: [] for name in variants} def run_test(self, test_inputs: list[str], judge_prompt: str) -> dict: for input_text in test_inputs: outputs = {} for name, prompt in self.variants.items(): output = query_llm(input_text, system=prompt) outputs[name] = output comparison = query_llm( f"""Compare two responses to the query: \"{input_text}\" Variant A: {outputs[list(outputs.keys())[0]]} Variant B: {outputs[list(outputs.keys())[1]]} {judge_prompt} Return JSON: {{\"winner\": \"A\"|\"B\"|\"tie\", \"reason\": \"...\"}}""", temperature=0, ) result = json.loads(comparison) winner = result["winner"] if winner != "tie": winning_name = list(self.variants.keys())[0 if winner == "A" else 1] self.results[winning_name].append(1) return {name: sum(wins) / len(test_inputs) for name, wins in self.results.items()} 

Step-by-Step Prompt Calibration Guide

  1. Define the goal and metrics: accuracy, completeness, latency, hallucination rate.
  2. Collect an eval set: 100–200 real queries with reference answers.
  3. Create a baseline: a simple prompt with role model and basic rules.
  4. Iteratively improve: for each problem, add instructions, few-shot examples, checks.
  5. A/B testing: compare variant vs control on shadow traffic, pick the best.

Comparison of Prompt Engineering Techniques

Technique Application Effect
Few-Shot Add 3–5 examples to the prompt Improves accuracy by 15–25%
Chain-of-Thought Step-by-step reasoning Boosts complex task quality by 30%
Self-Consistency Multiple generations + voting Reduces variance, increases reliability
Chain-of-Verification Fact-checking after the answer Cuts hallucination rate by 5–10 times

What's Included in the Work

After calibration, you receive:

  • Prompt templates in JSON/YAML with comments.
  • An eval set of 200+ examples with reference answers.
  • A metrics report: accuracy, recall, hallucination rate, p99 latency.
  • A/B testing on shadow traffic (optional).
  • Team training: a 2–4 hour workshop on maintaining and refining prompts.
  • Stability guarantee: if quality drops after deployment, we adjust the prompt free of charge within a month.

Approach Comparison: One-shot vs Iterative

Characteristic One-shot (manual) Iterative (with eval) With A/B testing
Time to production 1 day 3–5 days 5–10 days
Accuracy on test set 30–50% 60–80% 90–95%
Latency stability Low (p99 grows) Medium High (fixed p99)
Hallucination risk High (>15%) Medium (5–10%) Low (<3%)

An iterative approach with metrics is 2–3 times more effective than one-off writing—confirmed on 50+ projects.

Timeline and Results

  • Basic prompt for a specific use case: 1–3 days.
  • A/B testing with an eval set: 3–5 days.
  • Production prompt with verification and documentation: 7–10 business days.

Cost is calculated individually, depending on the task complexity and number of prompts. A typical project ranges from $1500 to $4000. Savings from fixing hallucinations can reach $10,000 per month. Estimation takes 1 day: you describe the use case, we analyze and propose a plan.

Want stable LLM operation? Contact us to analyze your current prompt and suggest improvements within 1 day. Order a prompt audit and get a detailed report with metrics and recommendations. Get a consultation on your prompt today.