Most Business Prompts Are Garbage
I review AI implementations for Indonesian companies regularly, and the #1 problem I see is terrible prompts.
People write vague, unfocused prompts, get mediocre results, and conclude "AI doesn't work for our business." That's like blaming the car because you don't know how to drive.
Prompt engineering isn't about being clever. It's about being specific, structured, and context-rich.
The Business Prompt Framework
Every effective business prompt has these 4 elements:
- Role: Who is the AI acting as?
- Context: What business situation are we in?
- Task: What specific output do we need?
- Constraints: What format, tone, and rules must be followed?
Here's the difference between a bad and good prompt:
Bad: "Write a sales email" Good: "You are a B2B sales representative for a SaaS company in Jakarta selling inventory management software to SMEs in the manufacturing sector. Write a follow-up email to a prospect who attended our webinar last week but hasn't responded. The email should: 1) Reference a specific pain point from the webinar, 2) Offer a free 14-day trial, 3) Include a specific CTA to book a demo. Tone: professional but friendly, not pushy. Max 150 words."
Templates That Work for Indonesian Business
Template 1: Customer Service Response
Role: You are a senior customer service representative for [company name], a [industry] company in Indonesia.
Context: Our company sells [products/services]. Our support team handles inquiries in Bahasa Indonesia and English. We value first-call resolution and customer satisfaction.
Task: Draft a response to this customer complaint: [paste complaint]
Constraints:
- Language: Match the customer's language (Bahasa or English)
- Tone: Empathetic, professional, solution-oriented
- Structure: 1) Acknowledge the issue 2) Apologize if warranted 3) Provide specific solution 4) Set expectations for resolution timeline
- Include relevant reference/ticket number
- Max 200 words
Template 2: Financial Report Analysis
Role: You are a financial analyst experienced in Indonesian SME accounting.
Context: I'm going to paste our monthly financial data. Our company is a [industry] company with [size] employees, operating in [city].
Task: Analyze the following financial data and provide:
1. Key metrics summary (revenue, COGS, gross margin, opex, net margin)
2. Month-over-month changes with percentage
3. Three red flags that need immediate attention
4. Three recommendations for cost optimization
5. Cash flow projection for next 3 months
Constraints:
- All amounts in Rupiah (Rp)
- Use conservative assumptions for projections
- Highlight any compliance risks (PPN, PPh23, etc.)
- Format as a structured report with clear sections
Template 3: Content Generation for Marketing
Role: You are a content marketing specialist for B2B technology services in Indonesia.
Context: Our target audience is CTOs and IT managers at Indonesian companies with 50-500 employees. They care about: cost reduction, efficiency, and practical implementation.
Task: Write a LinkedIn post about [topic].
Constraints:
- Hook readers in the first 2 lines (pattern interrupt)
- Use short paragraphs (1-2 sentences max)
- Include at least one specific number or case study
- End with a thought-provoking question or CTA
- Tone: Direct, no-BS, practitioner perspective
- Language: English with occasional Bahasa Indonesia terms
- Max 150 words
The Go Implementation
Here's how I systematize prompt engineering in Go applications:
type PromptTemplate struct {
Role string
Context string
Task string
Rules []string
}
func (pt PromptTemplate) Build(variables map[string]string) string {
task := pt.Task
for k, v := range variables {
task = strings.ReplaceAll(task, "{{"+k+"}}", v)
}
rules := strings.Join(pt.Rules, "\n- ")
return fmt.Sprintf("Role: %s\n\nContext: %s\n\nTask: %s\n\nConstraints:\n- %s",
pt.Role, pt.Context, task, rules)
}
// Usage
template := PromptTemplate{
Role: "Senior financial analyst for Indonesian SME",
Context: "Manufacturing company in Bandung, 50 employees",
Task: "Analyze monthly P&L for {{month}} {{year}}",
Rules: []string{"All amounts in Rp", "Highlight compliance risks", "Provide 3 actionable recommendations"},
}
prompt := template.Build(map[string]string{"month": "Juli", "year": "2026"})
Prompt Optimization Tips
- Few-shot examples work. Include 2-3 examples of the output you want. The AI follows patterns.
- Chain of thought helps. For complex analysis, ask the AI to "think step by step" before giving the answer.
- Temperature matters. Low temperature (0.1-0.3) for factual tasks. Higher (0.7-0.9) for creative content.
- Test with edge cases. What happens when data is missing? When the input is in Bahasa but you expect English output?
- Version your prompts. Keep a version history. When something breaks, you can roll back.
The ROI of Better Prompts
Here's the math that surprises most people: a well-crafted prompt can reduce API costs by 40-60% while producing better results. Why? Because focused prompts generate shorter, more accurate responses — meaning fewer tokens and fewer retries.
One client was spending Rp 2.8 juta/month on AI API calls. After we optimized their top 5 prompts, the same volume of work cost Rp 1.1 juta/month. Same quality. 60% less cost.
The Takeaway
Prompt engineering isn't a nice-to-have skill for business — it's a cost center optimizer. Invest the time to build a prompt library for your common business tasks. Test, iterate, and measure the results.
The companies getting real value from AI aren't the ones with the biggest budgets. They're the ones with the best prompts.