惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Apple Machine Learning Research
Apple Machine Learning Research
H
Help Net Security
M
MIT News - Artificial intelligence
美团技术团队
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The Cloudflare Blog
有赞技术团队
有赞技术团队
L
LangChain Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 【当耐特】
S
SegmentFault 最新的问题
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
Hugging Face - Blog
Hugging Face - Blog
B
Blog
I
InfoQ

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
The Model Is the Brain. The Harness Is the Body. Here's W...
Ajit · 2026-05-04 · via DEV Community

TL;DR: I built the same browser agent twice — once with 500 lines of Python, once with 7 lines of JSON. The second one took 5 minutes. The agent harness layer is becoming the real competitive advantage, not the model.

Last month, I built a browser automation agent. Playwright. Custom orchestration. Login handlers. Error retries. Session management. React-aware form filling. Anti-detection scripts. 500+ lines of Python.

This week, I built the same thing:

{
  "model": { "provider": "bedrock", "modelId": "us.anthropic.claude-sonnet-4-6" },
  "tools": [{ "type": "agentcore_browser", "name": "browser" }],
  "systemPrompt": "You are a web browsing assistant."
}

Enter fullscreen mode Exit fullscreen mode

Deploy. Invoke. It browses websites, extracts data, fills forms. Seven lines. Zero orchestration code.

But here's the thing most people miss: I kept both versions. And that's the real insight.

What Changed (and What Didn't)

500-Line Script 7-Line Harness
What it does Automates a specific multi-site workflow Browses any website, extracts info
How it decides I wrote every step AI decides the steps
Cost per run $0 (Playwright, local) ~$0.10-0.50 (Bedrock tokens)
Reliability 95%+ (deterministic) ~80% (AI reasoning varies)
Flexibility Only does what I coded Handles any browsing task
Time to build 3 days of debugging 5 minutes

The 500-line script is better for its specific job. It runs faster, cheaper, and more reliably. Because it doesn't need AI — the steps are known.

The 7-line harness is better for everything else. Research tasks. Data extraction from unfamiliar sites. Competitive analysis. Anything where the steps aren't known in advance.

This is my POV: deterministic + AI is the right architecture. Don't use a $0.03/call model to click a button you can click with Playwright for free. But don't write 500 lines of Playwright when 7 lines of config can handle it.

The Harness Is the New Battleground

Everyone's talking about which model is best. Claude vs GPT vs Gemini. Benchmarks. Context windows. Reasoning scores.

That conversation is becoming irrelevant.

Models are commoditizing. Claude Sonnet 4.6 and GPT-5.5 are both "good enough" for most agent tasks. The real question is: what wraps around the model to make it actually work in production?

That's the harness — the orchestration loop, tool execution, memory, security, compute isolation. And every cloud provider is racing to own it:

Provider Harness Product Status
AWS AgentCore Harness Preview (Apr 2026)
AWS Bedrock Managed Agents (OpenAI-specific) Limited Preview
Google Gemini Enterprise Agent Platform GA (Apr 2026)
Microsoft Azure AI Agent Service GA
Salesforce Agentforce GA

This is the container orchestration war all over again. In 2015, everyone had containers. The question was who manages running them. Kubernetes won, and whoever controlled K8s controlled where workloads ran.

In 2026, everyone has models. The question is who manages running agents. Whoever controls the harness controls the next decade of cloud spend.

How AgentCore Harness Works

You (prompt) → AgentCore Harness → Bedrock Model (reasoning)
                    ↓                      ↓
              Firecracker microVM    Tool selection
              (isolated per session)       ↓
                    ↓              AgentCore Browser / Shell / Code
              Persistent memory    
              (across sessions)    
                    ↓
              Streamed response → You

Enter fullscreen mode Exit fullscreen mode

What AWS handles: compute, orchestration loop, tool invocation, memory, auth, observability.
What you handle: a JSON config and a prompt.

Each session runs in its own Firecracker microVM — the same isolation technology behind Lambda. Not a container. A VM. One session can't see another's data, cookies, or credentials.

Getting Started (I Actually Ran This)

# Install CLI
sudo npm install -g @aws/agentcore@preview

# Create project
agentcore create --name browseragent --model-provider bedrock
cd browseragent

# Add browser tool
agentcore add tool --harness browseragent --type agentcore_browser --name browser

# Set target account + region
# Edit agentcore/aws-targets.json: [{"name":"default","region":"us-west-2","account":"YOUR_ACCOUNT"}]

# Deploy (~3 min)
agentcore deploy --yes

# Use it
agentcore invoke --harness browseragent --stream \
  --prompt "Go to example.com and describe what you see"

Enter fullscreen mode Exit fullscreen mode

Output from my actual run:

🔧 Tool: browser
⚡ 6005 in · 110 out · 2.2s
Here's what's on the page at example.com:
### Example Domain
The page contains: "Example Domain" heading, body text about documentation use,
and a "Learn more" link to IANA documentation.

Enter fullscreen mode Exit fullscreen mode

Real. Not a demo. Not a screenshot from someone else's blog.

Production Considerations

Area What I Found
Cost No harness charge. You pay for Bedrock tokens + Browser session time
Regions us-west-2, us-east-1, eu-central-1, ap-southeast-2 (preview)
Models Any Bedrock model, plus OpenAI and Gemini. Switch mid-session
Security Firecracker microVM isolation, IAM execution role, Cedar policies
Limitation Preview — not for production workloads yet

⚠️ Gotcha I hit: The harness execution role needs bedrock:Converse and bedrock:ConverseStream permissions, plus aws-marketplace:ViewSubscriptions for 3P models. The default CDK policy only includes bedrock:InvokeModel. I had to add permissions manually.

When NOT to Use Harness

  • Deterministic automation (same steps every time) → Playwright. Cheaper, faster, more reliable.
  • Complex multi-agent workflows → Strands Agents SDK with AgentCore Runtime. More control.
  • Existing framework investment (LangChain/CrewAI) → Use AgentCore tools standalone.
  • Production workloads → Wait for GA. It's preview.

Bottom Line

The model is the brain. The harness is the body. Most teams are spending all their time picking the brain and hand-building the body from scratch every time.

AgentCore Harness lets you stop building bodies and start building solutions. For 80% of agent use cases, config beats code. For the other 20%, write code — but use the harness infrastructure underneath.

The teams still hand-coding agent orchestration loops are building technical debt. The same way teams hand-coding REST APIs built technical debt before API Gateway existed.

The question isn't whether to adopt managed agent infrastructure. It's whether you'll be building on it — or competing against someone who already is.


Ajit NK — AWS Community Builder, APN FasTrack Partner. Building AI agent solutions at CloudNestle.
"The model is the brain. The harness is the body. I build the body."

📚 Sources: