Agente IA lê documento lento? Automate com Textract
Agente IA processa PDF manualmente (lento, erros). Bedrock + Textract extrai dados automático. 10x mais rápido.
Equipe OpenClaw · Time de Engenharia & Produto
A Equipe OpenClaw é formada por engenheiros, designers e especialistas em IA dedicados a construir a melhor plataforma de agentes conversacionais para negócios brasileiros. Combinamos expertise…
Agente IA lê documento lento? Automate com Textract
Você é founder/CEO de SaaS.
Seu SaaS: plataforma com suporte ao cliente (fintech, seguros, utilities, saúde, qualquer coisa que envolva documentos).
Seu cenário atual:
- Customer problem: Cliente envia fatura/contrato/reclamação (via email/portal)
- Your process: Agente IA lê documento
- Problem: Agente lê como humano (lento, não estruturado)
- "Qual era a data do pagamento naquela fatura?"
- Agente procura (lê línha por línha, lenta OCR)
- Agente encontra ("Found it: 15 de setembro")
- Agente responde (30 segundos depois)
- Impact: Suporte lento + clientes frustrados + queue de tickets crescendo
- Root cause: Seu agente trata PDF como texto plano (não extrai dados estruturado)
- Solution: Bedrock + Textract (extrai dados ANTES de agente processar)
Amazon's announcement (September 2026, AWS blog):
O que descobriram:
- Problem: Document processing é gargalo real (não é teórico)
- Pain points:
- Utility bills (1000s/mês, formatos inconsistentes)
- Insurance claims (tabelas complexas, handwriting)
- Bank statements (layouts variados, múltiplas páginas)
- Invoices (vendor-specific formats, não padronizados)
- Solution: Textract (OCR + table extraction) + Bedrock (knowledge base customizado)
- Result: Estruture dados BEFORE agente processa = agente responde rápido + accurado
Scenario: Você é fintech (processamento de faturas)
CURRENT STATE (today - agente IA genérico): ├─ Customer envia fatura (PDF, image, email) ├─ Agente recebe documento ├─ Agente lê como texto plano (OCR básico) │ ├─ Problema 1: OCR erra caracteres ("19" lê como "l9") │ ├─ Problema 2: Tabelas viram texto desorganizado │ ├─ Problema 3: Handwriting não readable (agente falha) │ ├─ Problema 4: Múltiplos bancos = formatos diferentes (agente confunde) │ └─ Problema 5: Extrai dados errado ("amount: 1.000" vs "1.000,00" Brazil) ├─ Agente procura informação ("qual foi o valor?") │ ├─ Lê documento inteiro (time: 30 segundos) │ ├─ Tenta encontrar "R$" ou "valor" ou "total" │ ├─ Might get wrong number (wrong row, wrong column) │ └─ Responde (lentamente, com risco de erro) ├─ Customer frustrado (resposta slow, might be wrong) └─ Support team escalates ("ai agente não entendeu, manda pra human")
PROBLEM METRICS: ├─ Average response time: 60-120 seconds (document processing) ├─ Error rate: 5-15% (wrong data extracted) ├─ Escalation rate: 20-30% (agente falhou, need human) ├─ Customer satisfaction: Low (slow, unreliable) ├─ Support cost: High (many human escalations) └─ Volume constraint: Can't scale (processing is bottleneck)
NEW STATE (with Bedrock + Textract): ├─ Customer envia fatura (PDF, image, email) ├─ Textract immediately extracts: │ ├─ Structured data (campo: valor pairs) │ ├─ Tables (parsed, organized) │ ├─ Handwriting (attempted conversion) │ ├─ Layout awareness (knows which section is what) │ └─ Confidence scores ("this number is 98% sure") ├─ Knowledge base (customized for your documents) │ ├─ Knows your specific vendors (bank formats) │ ├─ Knows your fields (which column is amount?) │ ├─ Knows your rules (how to interpret data) │ └─ Knows Brazilian formats (R$ 1.000,00 = 1000 units) ├─ Agente queries knowledge base (not raw document) │ ├─ Query: "qual foi o valor?" │ ├─ KB responds: "amount = 1.500,00 (confidence: 99%)" │ ├─ Agente responde: "O valor foi R$ 1.500,00" │ └─ Time: 1-2 seconds (vs 60+ seconds old way) ├─ Customer satisfied (fast, accurate response) └─ No escalation (agente got it right)
NEW METRICS: ├─ Response time: 1-5 seconds (instant) ├─ Error rate: <1% (structured data is reliable) ├─ Escalation rate: <5% (agente handles 95%) ├─ Customer satisfaction: High (fast, accurate) ├─ Support cost: Low (fewer humans needed) ├─ Volume: Unlimited (no processing bottleneck) └─ Scalability: Linear (add more documents, still fast)
BUSINESS IMPACT: ├─ 1,000 customer requests/day ├─ Old way: 500 manual handling (50% escalation) ├─ New way: 50 manual handling (5% escalation) ├─ Saved: 450 human interactions/day ├─ Cost: 450 × R$ 50 (agent cost) = R$ 22.500/day saved ├─ Annual: R$ 22.500 × 250 days = R$ 5.6M saved ├─ Payback: Textract + Bedrock setup (~R$ 200K) pays back in 1 week └─ ROI: 2800% in year 1 (for scale example)
O problema (documento processing é gargalo invisível)
Why document processing kills customer experience
Real numbers (utility, insurance, fintech):
Scenario 1: Utility company (electric, water, gas) ├─ Monthly customers: 100,000+ ├─ Queries: "Why is my bill so high?" ├─ Process currently: │ ├─ Customer sends bill (PDF, email, portal) │ ├─ Support agent logs in (CRM, finds customer) │ ├─ Agent reads bill manually (visually scan, find data) │ ├─ Agent answers (takes 3-5 minutes per ticket) │ └─ Volume: 1,000 tickets/day = 50+ FTE agents (full-time) ├─ Cost: 50 agents × R$ 4,000/month = R$ 200K/month ├─ Problem: Can't scale (need 100 agents if grow 2x) └─ Solution: Automate document reading (Textract) = 10x fewer agents
Scenario 2: Insurance company (claims processing) ├─ Monthly claims: 10,000+ ├─ Types: Medical receipts, damage photos, claim forms (complex) ├─ Process currently: │ ├─ Customer submits claim (forms + receipts + photos) │ ├─ Adjuster reads documents manually (30-60 minutes per claim) │ ├─ Adjuster extracts data (write in system, prone to error) │ ├─ Claim gets approved/rejected (slow, error-prone) │ └─ Volume: 10K claims/month = 150+ FTE adjusters ├─ Cost: 150 × R$ 5,000 = R$ 750K/month ├─ Problem: Claims take 2-4 weeks (customers frustrated) ├─ Solution: Auto-extract with Textract (2-3 minute processing) = claims in 2 days └─ Customer satisfaction: Huge improvement
Scenario 3: Fintech (invoice/receipt processing) ├─ Monthly transactions: 1M+ ├─ Types: Invoices, receipts, bank statements (formats vary) ├─ Process currently: │ ├─ User submits receipt (photo/PDF) │ ├─ System tries OCR (generic, fails 20% of time) │ ├─ User manually corrects ("it said R$ 150, but I paid R$ 1,500") │ ├─ Takes 2-3 minutes per receipt │ └─ Volume: 1M receipts/month = need massive infra ├─ Problem: User frustration (manual correction sucks) ├─ Solution: Textract + Bedrock (99% accuracy first time) = user doesn't correct └─ UX: Receipt processing is now invisible (just works)
BRAZILIAN SPECIFIC CHALLENGES: ├─ Formatação: Different banks use different formats ├─ Encoding: Some systems still use old encodings (ISO-8859-1 vs UTF-8) ├─ Currency: R$ formatting varies (1.000,00 vs 1000.00) ├─ Handwriting: Brazilian cursive is complex (hard to OCR) ├─ Regional: Different states have different document formats └─ Legacy: Old systems generate weird PDFs (images embedded as text)
WHY GENERIC AI AGENTE FAILS: ├─ Agente sees raw text ("Descrição: Serviços Agosto R$ 1.500,00 Vencimento 15/09") ├─ Agente tries to parse (using LLM to extract structured data = unreliable) ├─ Agente sometimes wrong ("amount is R$ 500.00" when it's 1500) ├─ Agente sometimes slow (processes entire document to find one field) ├─ Agente sometimes confused (multiple numbers, which is the amount?) └─ Result: Escalation to human (agente not trusted)
Why Textract changes the game
Textract is specialized (not generic LLM):
What Textract does: ├─ 1. OCR (convert image/PDF to text) - Already good ├─ 2. Layout analysis (understand structure of document) │ ├─ Knows this is table (columns, rows) │ ├─ Knows this is key-value pair (label: value) │ ├─ Knows this is title, body, footer │ └─ Knows this is handwriting (vs printed) ├─ 3. Table extraction (parse structured data) │ ├─ "Item | Qtd | Preço | Total" │ ├─ "Arroz | 2kg | R$ 15 | R$ 30" │ ├─ Outputs: {item: Arroz, qty: 2kg, price: 15, total: 30} │ └─ (not just text, but structured) ├─ 4. Relationship extraction (understand dependencies) │ ├─ Knows "Total Amount" is sum of line items │ ├─ Knows "Due Date" is in specific field │ ├─ Knows "Tax" is calculated separately │ └─ Outputs relationships (not just text) ├─ 5. Form processing (specific to forms) │ ├─ Extracts filled form fields │ ├─ Knows checkboxes, radio buttons, dropdowns │ ├─ Outputs: {name: John, date_of_birth: 01/01/1990, ...} │ └─ (structured form data) └─ 6. Confidence scores (you know reliability) ├─ "99% confident this is the amount" ├─ "45% confident this is handwriting" ├─ Lets you decide (trust or ask human) └─ (no guessing)
Why LLM alone fails (but Textract + Bedrock works): ├─ LLM: "Here's the whole document, extract amount" │ ├─ LLM reads entire doc (slow, expensive tokens) │ ├─ LLM tries to parse (uses reasoning, can hallucinate) │ ├─ LLM might get wrong answer (multiple numbers in doc) │ └─ Accuracy: 85-90% (not good enough for production) ├─ Textract: "Extract tables and key-value pairs" │ ├─ Textract uses specialized algorithms (fast, cheap) │ ├─ Textract knows structure (tables, forms, etc) │ ├─ Textract gives you structured data (amount = R$ 1500) │ └─ Accuracy: 98-99% (good enough for production) ├─ Combination: Textract extracts, LLM interprets │ ├─ LLM sees structured data (not raw doc) │ ├─ LLM makes decisions based on facts (not trying to parse) │ ├─ LLM is fast (short context, just logic) │ └─ Accuracy: 99%+ (best of both worlds)
A solução (Bedrock + Textract = knowledge base estruturado)
How Bedrock + Textract works together
Architecture (simplified):
Step 1: Document arrives ├─ Customer uploads PDF (fatura, contrato, reclamação) ├─ System receives document (PDF, image, email) └─ Trigger: Process document automatically
Step 2: Textract extracts structure ├─ Textract API call (AWS processes PDF) ├─ Output 1: Text (full OCR) ├─ Output 2: Tables (parsed, structured) ├─ Output 3: Key-value pairs (label: value) ├─ Output 4: Confidence scores (98%, 45%, etc) └─ Output 5: Relationships (amount = sum of lines)
Step 3: Clean + structure data ├─ Parse Textract output (fields + values) ├─ Apply rules (Brazilian formatting for currency) ├─ Validate (does amount make sense?) ├─ Store in knowledge base (Bedrock KB) └─ Index for search (fast retrieval)
Step 4: Knowledge base (customized) ├─ Document 1: Fatura_2024_09_001 │ ├─ customer: João Silva │ ├─ amount: 1500.00 │ ├─ due_date: 2024-09-15 │ ├─ items: [arroz 2kg R$ 15, feijão 1kg R$ 10, ...] │ ├─ payment_status: pending │ └─ confidence: {amount: 99%, customer: 98%, ...} ├─ Document 2: Fatura_2024_10_001 │ └─ (same structure) └─ Query interface (agente can search)
Step 5: Agente queries knowledge base ├─ Customer asks: "Why is my bill R$ 1500?" ├─ Agente query: search KB for (customer=João, recent invoice) ├─ KB returns: Amount = R$ 1500, Items = [list] ├─ Agente responds: "Your bill is R$ 1500 because..." ├─ Time: 1-2 seconds (vs 60+ seconds manual) └─ Accuracy: 99% (vs 85% generic LLM)
Step 6: Bedrock for interpretation ├─ KB gives: {amount: 1500, items: [30 items], previous_amount: 1200} ├─ Agente asks Bedrock: "Why did amount increase?" ├─ Bedrock (with context): "Items increased by 15% this month. New items: [x, y, z]" ├─ Agente responds: "You had more purchases this month." └─ (intelligent + fast response)
Implementation path (DIY vs managed)
Option 1: DIY (build yourself)
Your approach: ├─ Step 1: Call Textract API (parse document) ├─ Step 2: Build parser (convert Textract output to your format) ├─ Step 3: Build knowledge base (database to store extracted data) ├─ Step 4: Build retrieval (search KB from agente) ├─ Step 5: Integrate with Bedrock (agente queries KB)
Timeline: ├─ Setup: 1-2 weeks (get API keys, basic integration) ├─ Development: 4-8 weeks (build parser, KB, retrieval) ├─ Testing: 2-4 weeks (handle edge cases, Brazilian formats) ├─ Deploy: 1-2 weeks (monitoring, alerts) └─ Total: 8-16 weeks
Cost: ├─ Textract: R$ 1-5 per 1K pages (pay per use, cheap) ├─ Infrastructure: R$ 10-20K/month (DB, storage, compute) ├─ Engineer: 1-2 engineers (R$ 50-100K total) └─ Total: R$ 100-200K setup, R$ 10-20K/month running
Pros: ├─ Full control (customize everything) ├─ Optimized (tailored to your documents) ├─ Long-term (own the whole system) └─ Learning (build expertise in-house)
Cons: ├─ Time (4-8 weeks development = slow) ├─ Complexity (edge cases are many) ├─ Maintenance (you own all bugs) └─ Expertise (need specialists)
Option 2: AWS managed (Bedrock + Textract integration)
AWS approach: ├─ Step 1: Use Bedrock Knowledge Base (built-in) ├─ Step 2: Connect Textract (one-click integration) ├─ Step 3: Upload documents (AWS handles processing) ├─ Step 4: Query KB via Bedrock (no coding needed) └─ Step 5: Connect agente (plug into your system)
Timeline: ├─ Setup: 1-2 days (configure in AWS console) ├─ Integration: 1-2 weeks (connect to your agente) ├─ Testing: 1 week (validate outputs) ├─ Deploy: 1 day (go live) └─ Total: 2-4 weeks
Cost: ├─ Textract: R$ 1-5 per 1K pages (same as DIY) ├─ Bedrock KB: R$ 0.20-0.50 per 1K tokens (usage-based) ├─ Infrastructure: ~R$ 1-5K/month (AWS handles it) ├─ Engineer: 0.5 engineer (R$ 20-30K setup) └─ Total: R$ 20-50K setup, R$ 5-10K/month running
Pros: ├─ Speed (4 weeks vs 16 weeks) ├─ Cost (5x cheaper than DIY) ├─ Maintenance (AWS handles updates) ├─ Scale (AWS handles infrastructure) └─ Integration (works with Bedrock agente)
Cons: ├─ Vendor lock-in (dependent on AWS) ├─ Limited customization (KB structure fixed) ├─ Pricing (per-token billing can surprise) └─ Less control (can't customize algorithm)
Recommendation: Start with Option 2 (AWS managed)
Why: ├─ Speed wins (4 weeks vs 16 weeks = get to market first) ├─ Cost wins (R$ 50K vs R$ 200K = 75% cheaper) ├─ Complexity loses (edge cases are AWS's problem) ├─ Evolution (can always fork to DIY later if needed) ├─ Hybrid: You can customize within AWS constraints └─ For most SaaS: Option 2 is the right answer
Real-world implementation guide
Step-by-step deployment
Phase 1: Setup (Week 1)
-
AWS account + permissions ├─ Create IAM role (Textract + Bedrock access) ├─ Enable Textract API (in your region) ├─ Enable Bedrock (in your region) └─ Cost: R$ 0 (no charges yet, just setup)
-
Sample documents ├─ Collect 5-10 representative documents (your real types) ├─ Upload to S3 bucket ├─ Test Textract on each (see outputs) └─ Verify extraction works for your formats
-
Bedrock knowledge base ├─ Create KB in Bedrock console ├─ Configure data source (S3 bucket) ├─ Set processing preferences (language: Portuguese, etc) ├─ Start sync (AWS processes your documents) └─ Wait for indexing (~1 hour for 100 docs)
-
Test queries ├─ Ask KB simple questions ("Who is the customer?") ├─ Check accuracy (does it get right answer?) ├─ Iterate (adjust settings if needed) └─ Document findings (what works, what needs tweaking)
Phase 2: Integration (Week 2-3)
-
Connect to your agente ├─ Your agente (Python, Node.js, etc) ├─ Agente should query KB instead of reading raw doc ├─ Code: agente.query_kb("What's the amount?") ├─ Response: KB returns structured answer └─ Agente uses answer (responds to customer)
-
Error handling ├─ What if KB returns low confidence (<80%)? ├─ What if KB has no answer? ├─ What if document format unrecognized? ├─ Implement fallback (escalate to human) └─ Log errors (iterate to improve)
-
Monitoring ├─ Track extraction accuracy (ground truth: compare to manual) ├─ Track query success rate (% of queries answered) ├─ Track customer satisfaction (feedback after resolution) ├─ Track cost (per document processing) └─ Dashboard: See trends over time
-
Optimization ├─ Which document types fail most? (focus there) ├─ Which queries are slow? (index tuning) ├─ Which confidence scores are wrong? (retrain if needed) ├─ Which customers complain? (specific formats?) └─ Iterate (small improvements compound)
Phase 3: Scale (Week 4+)
-
Ramp up volume ├─ Start: 100 documents/day ├─ Week 2: 500 documents/day ├─ Week 3: 2000 documents/day ├─ Week 4+: 5000+ documents/day (full volume) └─ Monitor: Does system stay fast/accurate at scale?
-
Fine-tune knowledge base ├─ Add more documents (patterns improve) ├─ Customize extraction (Brazilian formats) ├─ Add custom fields (your specific needs) ├─ Improve prompts (how agente queries KB) └─ Result: Accuracy approaches 99%+
-
Expand to other document types ├─ Phase 1: Invoices (utility bills, shopping) ├─ Phase 2: Contracts (terms, conditions) ├─ Phase 3: Complaints (handwritten, unstructured) ├─ Phase 4: Medical (prescriptions, receipts) └─ Each: Same Textract + KB approach
-
Measure ROI ├─ Baseline: Old system (3 min per ticket, 50% manual escalation) ├─ New system: 10 sec per ticket, 5% manual escalation ├─ Savings: (3 min - 10 sec) × 1000 tickets/day = 2833 min/day ├─ Equivalent: 47 FTE agents freed up (at 1000 tickets/day) ├─ Cost: 47 agents × R$ 4K/month = R$ 188K/month saved ├─ Setup cost: R$ 50K amortized over 1 week ├─ Year 1 ROI: R$ 2.1M saved - R$ 50K setup = R$ 2.05M net └─ Decision: Implement (ROI is obvious)
Conclusão: Textract + Bedrock para agente IA de suporte
Signal (AWS highlights Textract + Bedrock for document processing):
- Document processing is real bottleneck (not theoretical, real pain)
- Generic LLM agente alone is too slow + inaccurate (needs specialized extraction)
- Textract + Bedrock combination works (structured data + intelligence)
- Enterprises using this (proven pattern, battle-tested)
Sua situação atual:
- Seu agente IA processa documentos (PDFs, imagens, emails)
- Agente é lento (30-60 segundos por documento)
- Agente erra às vezes (5-15% error rate)
- You're not leveraging specialized extraction (trying to do with generic LLM)
Seu impacto financeiro:
- Current: 1,000 tickets/day, 50% manual escalation = 500 human interventions
- With Textract + Bedrock: 1,000 tickets/day, 5% escalation = 50 human interventions
- Saved: 450 interventions/day × R$ 50 cost per = R$ 22,500/day
- Annual: R$ 22,500 × 250 days = R$ 5.6M saved
- Setup: R$ 50K (amortized over 1-2 weeks)
- ROI: 11,200% in year 1 (insane return)
Sua choice:
Option 1: Keep generic LLM agente (do nothing)
- Pros: Simple, no changes needed
- Cons: Slow, inaccurate, limited scale, high escalation
- Reality: Competitors using Textract will outcompete you
Option 2: Build DIY Textract integration (build yourself)
- Pros: Full control, custom optimization, learning
- Cons: Slow (8-16 weeks), expensive (R$ 150-250K), maintenance burden
- Reality: By time you finish, competitor already live
Option 3: Use AWS Bedrock Knowledge Base + Textract (smart choice) - RECOMMENDED
- Pros: Fast (2-4 weeks), cheap (R$ 50K), AWS-managed, 99%+ accuracy
- Cons: Vendor lock-in (AWS), limited customization (but enough for most)
- Reality: This is the winning approach (speed + quality + cost)
At OpenClaw, we help SaaS teams automate document processing for support agentes:
- AUDIT: Your current document workflow (where's the bottleneck?)
- DESIGN: Textract + Bedrock architecture (how to structure KB)
- SETUP: Deploy on AWS (2-4 weeks, fully integrated)
- OPTIMIZE: Fine-tune for your specific documents (Brazilian formats, edge cases)
- MONITOR: Track accuracy + ROI (dashboards, alerts)
- SCALE: Expand to other document types (contracts, complaints, medical)
Result: Your agente IA processes documents 10x faster (1-5 sec vs 60+ sec), 99%+ accurately (vs 85-90% generic LLM), with 95%+ automation (vs 50% current).
Your support agente processes documents slowly (30-60 seconds)?
Your agente has 5-15% error rate on document extraction?
You're escalating 50%+ of document-related tickets to humans?
You want to save R$ 5M+ in support costs annually?
You want to process documents 10x faster without building DIY infrastructure?
If you don't know where to start OR want full audit + implementation plan in 2-4 weeks:
Publicado em 5 de setembro de 2026