How I Built A Three-Tier Content Quality Ladder
ప్రోగ్రామాటిక్ వెబ్సైట్లను స్కేల్ చేయడం కష్టమైన పని. మీ కంటెంట్ను రాయడానికి మీరు కేవలం AI పైనే ఆధారపడితే, API పనిచేయని సమయంలో మీ సైట్ ఆగిపోతుంది.
నేను మూడు డైరెక్టరీ సైట్లను ప్రారంభించాను: Top AI Tools, Find Games Like, మరియు Open Alternative To. AI కనెక్షన్ లేకపోయినా, అవి ఎల్లప్పుడూ సమాచారాన్ని చూపిస్తున్నాయని నిర్ధారించుకోవడానికి నేను మూడు-స్థాయిల కంటెంట్ నిచ్చెనను ఉపయోగిస్తాను.
ఈ సిస్టమ్ డేటాబేస్లో model_used అనే ఒకే ఒక కాలమ్ను ఉపయోగిస్తుంది. ఇది మూడు స్థాయిల నాణ్యతను ట్రాక్ చేస్తుంది:
- seeded-from-json: ఒక ఫైల్ నుండి వచ్చే ప్రాథమిక డేటా. ఇది నిర్మాణాత్మకంగా ఉంటుంది కానీ తక్కువ సమాచారాన్ని కలిగి ఉంటుంది.
- fallback-template: AI విఫలమైనా లేదా API కీ లేకపోయినా ఉపయోగించే ఒక ప్రామాణిక టెంప్లేట్. ఇది సాంకేతికంగా సరైనదే కానీ వ్యక్తిగత శైలి (personality) ఉండదు.
- claude-haiku-4-5: ఇది లక్ష్యిత స్థితి (target state). ఇది అధిక నాణ్యత కలిగిన ఎడిటోరియల్ సమ్మరీలను మరియు సూక్ష్మమైన వివరాలను అందిస్తుంది.
అప్గ్రేడ్లను నిర్వహించడానికి నేను ఒక నిర్దిష్ట SQL క్వెరీని ఉపయోగిస్తాను. ఈ స్క్రిప్ట్ రెండు విషయాల కోసం వెతుకుతుంది:
- ఇంకా కంటెంట్ లేని కొత్త ఎంట్రీలు.
- తక్కువ నాణ్యత కలిగిన seeded లేదా fallback కంటెంట్ను మాత్రమే కలిగి ఉన్న పాత ఎంట్రీలు.
ఈ స్క్రిప్ట్ వీటిని ప్రజాదరణ (popularity) ఆధారంగా క్రమబద్ధీకరిస్తుంది. ఇది అత్యధికంగా సందర్శించే పేజీలను మొదట అప్గ్రేడ్ చేస్తుంది. దీనివల్ల మీ అత్యధిక ట్రాఫిక్ కలిగిన పేజీలకు వెంటనే ఉత్తమమైన కంటెంట్ అందుతుంది.
ఈ ప్రక్రియ పూర్తిగా ఆటోమేటెడ్ మరియు idempotent. నేను ఒక upsert ప్యాటర్న్ను ఉపయోగిస్తాను. ఒకవేళ అప్గ్రేడ్ విజయవంతమైతే, డేటాబేస్ పాత fallback కంటెంట్ను కొత్త AI కంటెంట్తో భర్తీ చేస్తుంది. model_used కాలమ్ తనను తాను అప్డేట్ చేసుకుంటుంది.
నేను Anthropic prompt cachingను కూడా ఉపయోగిస్తాను. ఇది చాలా డబ్బు మరియు టోకెన్లను ఆదా చేస్తుంది. ప్రతి ఎంట్రీకి నా సిస్టమ్ ప్రాంప్ట్లు ఒకే విధంగా ఉండటం వల్ల, మొదటి కాల్ క్యాచీని (cache) సిద్ధం చేస్తుంది. ఒక బ్యాచ్లోని తదుపరి 99 కాల్స్ తక్కువ ఖర్చుతో ఆ క్యాచ్ నుండి డేటాను చదువుతాయి.
Key architectural choices:
- Error handling: Claude విఫలమైనా, సిస్టమ్ క్రాష్ అవ్వదు. అది కేవలం fallback టెంప్లేట్ను రాసి తదుపరి ఐటెమ్కు వెళ్తుంది.
- SEO safety: ఒక పేజీలో ఉపయోగకరమైన కంటెంట్ ఏమీ లేకపోతే, నేను noindex ట్యాగ్ను ఉపయోగిస్తాను. ఇది ఖాళీ పేజీలను Google ఇండెక్స్ చేయకుండా నిరోధిస్తుంది.
- Static builds: నేను Astro కోసం డేటాబేస్ను JSON ఫైల్లుగా ఎగుమతి చేస్తాను. దీనివల్ల డేటాబేస్ లేదా AI API పని చేయకపోయినా నా సైట్ ఆన్లైన్లోనే ఉంటుంది.
ఈ సెటప్ సైట్ స్థిరత్వాన్ని (stability) ప్రమాదంలో పెట్టకుండా వేగంగా నిర్మించడానికి నాకు సహాయపడుతుంది.
