Skill 24 · Architect For Startups
Subchapter 24.32
references/strands-agent.mdMarkdown5 KBView on GitHub
| Situation | Recommendation | Why |
|---|---|---|
| Building first AI agent on AWS | Strands | Thinnest abstraction, least vendor lock-in, direct Bedrock integration |
| Already invested in LangChain/LangGraph | Stay on LangChain | Migration cost isn’t worth it unless you’re hitting LangChain-specific pain |
| Need managed multi-agent orchestration | Bedrock Agents | If you don’t want to manage containers and agent routing yourself |
| Simple single-call LLM feature (no tool use) | Direct InvokeModel | Strands adds overhead you don’t need for prompt-in/text-out |
Default to TypeScript for startups unless your team is Python-native:
Pick Python only if: Your team is Python-first, you need Python-specific ML libraries in tools, or you need Strands Evals (Python-only).
Each additional tool costs you money on every single invocation because the model must reason about which tool to use. The cost isn’t just token count — it’s reasoning quality degradation.
| Tool count | Impact | Guidance |
|---|---|---|
| 1-3 | Minimal overhead, fast reasoning | Ideal for seed-stage agents |
| 4-7 | Noticeable cost increase, occasional wrong tool selection | Acceptable if tools are clearly distinct |
| 8-12 | Significant cost, frequent mis-routing | Split into multiple agents or add a router |
| 13+ | Unreliable, expensive | Refactor immediately |
Startup rule: If your PoC agent has > 5 tools and you have < $2K/month LLM budget, you’re over-engineering. Split into two focused agents or remove tools.
Memory modes ranked by startup relevance:
Cost of premature LTM: Memory extraction runs additional model calls per session. At 1000 sessions/day, that’s meaningful token spend for personalization most early users won’t notice.
TypeScript agents REQUIRE containerized deployment (--deployment-type container). This means:
If you’re deploying to Lambda for cost reasons (scale-to-zero): Use Python Strands agents — they work with Lambda’s native runtime. TypeScript agents need Lambda container image support (slower cold starts, 10GB image limit).
Counterintuitive: Most startups skip evals entirely OR over-invest in a massive eval suite. The right answer:
Minimum viable eval suite (3 evaluators, ~$5/day at 100 test cases):
GoalSuccessRateEvaluator — Did the agent achieve the user’s intent?ToolSelectionAccuracyEvaluator — Is it using the right tools?FaithfulnessEvaluator — Is it hallucinating? (Critical for customer-facing agents)Add more evaluators only when: You have a specific quality issue you can’t diagnose with these three.
Cost trap: Evals invoke LLM-as-Judge. 9 evaluators × 500 test cases × daily = significant token spend. Start with 3 evaluators × 50 golden test cases × on-PR-only.
agentcore destroy deletes everything — including memory resources with user data. Always --dry-run first. No undo.--disable-otel during early development if you’re not looking at traces yet.