Notícias
Notícias
5 min de leitura
5 de setembro de 2026

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

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)

  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)

  2. 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

  3. 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)

  4. 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)

  1. 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)

  2. 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)

  3. 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

  4. 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+)

  1. 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?

  2. 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%+

  3. 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

  4. 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:

Automate document processing NOW (2-4 weeks deployment, R$ 50-100K, Bedrock + Textract, 99%+ accuracy, 10x faster, save R$ 5M/year, 95% automation) →


Publicado em 5 de setembro de 2026

Leia também