Dev & Engineering multi-agent-orchestrationaws-bedrockopenai-apianthropic-claudeswiftmcpstreaming-responses

Agent Squad

Route each conversation turn to the right specialized agent while preserving context across the exchange.

FollowAgents review · FARS-2.1
Not recommended
31/ 100 5-point scale 1.6 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust0 / 29 · 0.0/5

Evidence shows no documentation or code for permission management, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. All trust criteria scored 0 due to absence of evidence.

2Reliability5 / 14 · 1.8/5

Self-consistency scored 2: README describes multiple runtimes and features, but no detailed code or tests to verify consistency. Dependency availability scored 1: README mentions npm and PyPI packages, but no version pinning or dependency manifests. Failure messages scored 0: no documentation on error handling or failure messages.

3Adaptability8 / 18 · 2.2/5

Audience and scenarios scored 2: README clearly identifies target audience (developers) and multiple use cases (cloud, on-device). Capability boundaries scored 1: extensibility described, but no explicit limits. Trigger precision scored 0: no trigger mechanisms or precise conditions. Environment fit scored 2: supported environments listed (Python 3.11+, Node.js, iOS 16+).

4Convention8 / 18 · 2.2/5

Information architecture scored 2: README well-structured with TOC and sections. Install notes scored 2: npm, pip, and Swift package install commands provided. Naming stability scored 1: project rename and migration mentioned, but no version history. Examples and FAQ scored 2: multiple examples and article links provided. Known limitations scored 0: no limitations mentioned. License scored 2: Apache-2.0 clearly stated. Versioning and changelog scored 0: no CHANGELOG or version history. Maintenance responsibility scored 1: authors and contributors listed, but no explicit maintenance policy.

5Effectiveness7 / 13 · 2.7/5

Output usability scored 2: API examples and output formats provided. Marginal value scored 2: framework offers multi-runtime and unique features (e.g., GroundedAgent). Cost-benefit scored 1: no performance or cost data.

6Verifiability3 / 8 · 1.9/5

Claim traceability scored 1: claims in README not linked to specific code or tests. Cross-source corroboration scored 1: external articles and podcasts exist, but no independent verification. Fact-inference separation scored 1: some distinction between feature descriptions and inferences, but not explicit.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 31eccfeb0d54
Safety controls not found in source: least-privilege scoping, confirmation before acting, data-flow disclosure, sensitive-data handling, dependency security, disclosed external effects, rollback or recovery path, verifiable attribution
Before you use it
  • No security documentation provided, such as permission management, data flow transparency, sensitive data handling; assess before use.
  • Dependency security not mentioned; recommend checking dependency manifests and known vulnerabilities.
  • No known limitations or failure handling documentation, which may affect production use.
Review evidence [1][2][3][4][5][6]
See the full review method →

What does this agent do, and when should you use it?

Agent Squad is an open-source framework for orchestrating multiple AI agents across Python, TypeScript, and Swift runtimes. Its Classifier selects an Agent using the user request, agent descriptions, and conversation history, while the Orchestrator stores the exchange and returns the response. The framework includes pre-built Bedrock, Anthropic, OpenAI, Lex, and Lambda agents, with extension points for custom agents, classifiers, storage, and retrievers. Python and TypeScript can run in AWS Lambda, containers, or locally; the Swift runtime targets iOS 16+ and macOS 14+ with on-device routing, MCP tools, realtime voice, tracing, and local chat storage. It fits teams building a single conversational entry point across several specialized capabilities rather than a hosted, ready-made business bot.

An application sends text plus a userId and sessionId to AgentSquad in Python or TypeScript, or to the Swift Orchestrator. The Classifier uses registered Agent descriptions and conversation history to route the turn; the selected Agent processes it, calling tools when needed, and the Orchestrator saves the interaction before returning a streaming or non-streaming response. TypeScript exposes orchestrator.addAgent(...) and routeRequest(...), while Python uses add_agent(...) and route_request(...) and can emit AgentStreamResponse values. Swift iterates events from Orchestrator.route(.text(...), userId:..., sessionId:...); its tools can be native Swift functions, declarative HTTP tools, or MCP servers. SupervisorAgent coordinates parallel sub-agent work and combines the result, while GroundedAgent separates tool-data gathering from a presenter that writes only from curated tool output.

  1. An e-commerce support team routing order, product, and human-verification questions to separate specialized agents.
  2. A travel product team building one assistant that keeps context as a user moves among travel, weather, restaurant, and math questions.
  3. An AWS engineering team deploying a conversational orchestration layer in Lambda or containers with Bedrock, Lex, or Lambda agents.
  4. A financial, retail, or betting application using GroundedAgent where answers about balances, prices, availability, or odds must match retrieved tool data.
  5. An iPhone, iPad, or Mac team building an on-device, local-first assistant with MCP tools and realtime voice.

What are this agent's strengths and limitations?

Pros
  • One orchestration model spans Python, TypeScript, and Swift, with Swift explicitly designed for fully on-device operation.
  • Routing considers both agent descriptions and conversation history, rather than only the current text.
  • GroundedAgent isolates tool gathering from final presentation, which is useful when replies must faithfully reflect prices, inventory, or balances.
  • SupervisorAgent supports parallel sub-agent queries, shared context, and hierarchical teams.
  • The Swift tool boundary unifies native functions, HTTP tools, and MCP servers.
Limitations
  • Runtime requirements differ: Python needs 3.11+, while Swift requires iOS 16+ or macOS 14+, so one deployment target does not cover every environment.
  • The README shows dependency installation and examples but does not provide exact credential-configuration steps for Bedrock or other providers.
  • Applications using the built-in Bedrock, Anthropic, or OpenAI agents still need to integrate the applicable model provider.
  • The Swift package example points to the main branch rather than a fixed release, which can introduce version-drift risk.
  • The project moved from awslabs/agent-squad and was previously named multi-agent-orchestrator, so old clone URLs, bookmarks, and dependencies need updating.

How do you install or deploy this agent?

Choose one runtime. TypeScript: npm install agent-squad. Python: pip install "agent-squad[aws]"; the README also lists [anthropic], [openai], and [all], and requires Python 3.11+. Swift: add .package(url: "https://github.com/2FastLabs/agent-squad", branch: "main") to Package.swift dependencies, or use Xcode’s Add Package Dependencies flow. The Swift sample requires an apiKey for ChatCompletionsClient; the README does not document exact credential setup for Bedrock or other providers.

How do you use this agent?

A first TypeScript invocation is: import { AgentSquad, BedrockLLMAgent } from "agent-squad"; const orchestrator = new AgentSquad(); orchestrator.addAgent(new BedrockLLMAgent({ name: "Tech Agent", description: "Specializes in technology: software, hardware, AI, cybersecurity, cloud.", streaming: true })); const response = await orchestrator.routeRequest("What is AWS Lambda?", "user123", "session456"); Iterate response.output with for await when response.streaming is true; otherwise read response.output. In Swift, create Agent(name: "Shop", description: "Shopping assistant", model: ChatCompletionsClient(model: "gpt-4o-mini", apiKey: apiKey)), then route through Orchestrator(agents: [agent], store: try DeviceChatStorage(userId: "u1")).

How does this agent compare with similar options?

The repository explicitly offers Bedrock, Anthropic, OpenAI, Lex, and Lambda agent implementations. These are integration options that can be registered within the same Agent Squad orchestration layer, not mutually exclusive framework replacements.

FAQ

Is Agent Squad limited to AWS Bedrock?
No. The README lists pre-built Bedrock, Anthropic, OpenAI, Lex, and Lambda agents, and Python installation options include aws, anthropic, openai, and all.
How does it reduce unsupported claims from tool data?
GroundedAgent uses a gatherer to call tools, then an isolated presenter that has no tools, tool transcript, or chat history and writes only from curated tool output. A turn with no tool use skips the presenter.
Can it run on Apple devices?
Yes. Its Swift runtime supports iOS 16+ and macOS 14+ and documents on-device routing, MCP, realtime voice, tracing, and JSON-file or SwiftData chat storage.
Does it support streaming?
Yes. The README documents streaming and non-streaming responses: TypeScript uses async iteration, Python iterates AgentStreamResponse values, and Swift routing produces iterable events.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents