Skip to content

blog: announce Bidi Agents general availability [replica of harness-sdk#4899] - #24

Open
poshinchen wants to merge 9 commits into
base-pr-4899from
strandly-v3-pr-4899
Open

poshinchen wants to merge 9 commits into
base-pr-4899from
strandly-v3-pr-4899

Conversation

@poshinchen

@poshinchen poshinchen commented Oct 9, 2026 •

Copy link
Copy Markdown
Owner

Replica of https://github.com/strands-agents/harness-sdk/pull/4899 (URL in backticks to avoid a cross-reference on the original PR) for reviewer evaluation. Branches mirror the original PR's base and head commits.

The review below was produced by the optimized Strandly reviewer (variant v3-reason, optimization run aeb3ee, agent model Opus 4.8) during validation on PRs it never saw in training. Compare with the human and Strandly reviews on the original PR.

@poshinchen poshinchen left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strandly v3-reason (optimized) review

Assessment: comment

Assessment: Comment

This PR is mostly a documentation/announcement change plus a mechanical model-ID migration (amazon.nova-2-sonic-v1:0 → amazon.nova-2-5-sonic) applied consistently across docs, README, CLI defaults, source default model, tests, and IAM/integ-test infra. The migration looks consistent and well-scoped.

Review Categories
  • Correctness (verify): The new model ID drops the version/:0 suffix — please confirm it matches the exact Bedrock GA identifier, since it's the SDK default and seeds every example.
  • Docs/Blog quality: A few grammar and phrasing issues in the announcement's opening paragraphs; worth polishing before a public GA post. Verify product names (GPT-Realtime-2, Gemini 3.8 Live) and the Nova 2.5 "what's new" link.
  • Reference links: The Bedrock doc now points to a generic model-cards index rather than a model-specific card.
  • Infra/Tests: Confirm whether the old Nova Sonic ARN is still needed, and prefer full-object assertions where available.

Nice, thorough end-to-end migration across code, docs, and infra.

- Open Source
draft: false
---

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion

Issue: The opening sentence reads awkwardly: "The speech-to-text voice agents lack a lot of conversational magic with users compared to using a voice model."
Suggestion: Consider tightening to something like "Speech-to-text voice agents lack a lot of the conversational magic you get from a true voice model." A strong, clear hook matters for a GA announcement.

- Open Source
draft: false
---

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Issue: "when a voice agent... can tell a user sounds stressed" is missing a word and is ambiguous — it reads as "tell a user" rather than "detect that a user sounds stressed."
Suggestion: Reword to "can tell that a user sounds stressed rather than needing the prompt to contain 'I'm stressed'."

---

The speech-to-text voice agents lack a lot of conversational magic with users compared to using a voice model.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Issue: Several product/model names in this paragraph — "GPT-Realtime-2", "Gemini 3.8 Live", and the Nova 2.5 Sonic link to .../2026/10/amazon-nova-2.5-Sonic/ — should be verified for exact spelling/casing and that the URL resolves, since this is a public GA post.
Suggestion: Please double-check each provider's official product name and confirm the "what's new" link is live before publishing to avoid broken references.

---

The speech-to-text voice agents lack a lot of conversational magic with users compared to using a voice model.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion

Issue: "We recently prototyped a Bidi agent powered by this model to Zoom calls" is grammatically off ("prototyped ... to Zoom calls").
Suggestion: Consider "We recently prototyped a Bidi agent, powered by this model, on Zoom calls so it could chat with us during brainstorms and run web searches to confirm missing data."

The speech-to-text voice agents lack a lot of conversational magic with users compared to using a voice model.

It's a way better experience when a voice agent, hooked up to a voice model, can tell a user sounds stressed rather than needing the prompt to contain "I'm stressed". Currently, the majority of voice agents rely on speech-to-text because it's easier to debug and eval, but a big tradeoff is those agents miss input that would've made the interaction much more conversational. Today we're announcing Bidi Agents in GA: the easiest way to create and monitor speech-to-speech voice agents with support for Amazon Nova Sonic, OpenAI, and Gemini models.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion

Issue: "Bidi Agents keeps the connection alive" mixes plural subject with singular verb (and "Bidi Agents also ensure" vs. "keeps" is inconsistent within the paragraph).
Suggestion: Pick one treatment of "Bidi Agents" (as a singular product name is cleanest) and apply it consistently: "Bidi Agents also ensures... and keeps the connection alive..."


You'll need credentials for your model provider and PortAudio installed for local microphone and speaker access.

```python

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Issue: The new model ID amazon.nova-2-5-sonic drops the version/:0 suffix used by the previous amazon.nova-2-sonic-v1:0. Bedrock foundation-model IDs typically include a version suffix.
Suggestion: Please verify amazon.nova-2-5-sonic is the exact GA model identifier (not e.g. amazon.nova-2-5-sonic-v1:0). An incorrect ID here would break every quickstart example and the default model in agent.py.


[nova-sonic]: https://docs.aws.amazon.com/nova/latest/nova2-userguide/using-conversational-speech.html
[nova-regions]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-amazon-nova-2-sonic.html
[nova-regions]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-cards.html

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Issue: This changes the nova-regions reference from a model-specific card (model-card-amazon-nova-2-sonic.html) to the generic model-cards.html index, which reduces how precisely readers can find region/availability info.
Suggestion: If a 2.5-specific model-card URL exists, please link to it directly instead of the generic index; otherwise confirm the generic page is the intended long-term target.

@pytest.mark.asyncio
async def test_nova_sonic_v2_instantiation(boto_session, mock_client):
"""Test direct instantiation with Nova Sonic v2 model ID."""
async def test_nova_sonic_v2_5_instantiation(boto_session, mock_client):

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion

Issue: The test comment and function were renamed to "2.5" / test_nova_sonic_v2_5_instantiation, but the test still asserts on the single model_id string in a few spots rather than the full config object where applicable.
Suggestion: Where a full-config equality assertion is available (as in test_get_config_returns_reference), prefer asserting the whole object so unexpected config drift is caught. Please verify the renamed test still exercises distinct behavior and isn't now redundant with test_model_initialization.

'arn:aws:bedrock:*:*:inference-profile/global.anthropic.claude-sonnet-4-6',
'arn:aws:bedrock:*::foundation-model/anthropic.claude-sonnet-4-6',
'arn:aws:bedrock:*::foundation-model/amazon.nova-2-sonic-v1:0',
'arn:aws:bedrock:*::foundation-model/amazon.nova-2-5-sonic',

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion

Issue: The IAM policy now grants access to both the old amazon.nova-2-sonic-v1:0 and the new amazon.nova-2-5-sonic foundation models.
Suggestion: Confirm whether the old nova-2-sonic-v1:0 resource is still needed by any remaining integration test; if the suite fully migrates to 2.5, consider removing the stale ARN to keep the integ-test role minimally scoped.

@@ -0,0 +1,221 @@
---
title: "Bidi Agents now GA"
date: 2026-10-05

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion

Issue: date: 2026-10-05 is a future-dated post.
Suggestion: If this is intentionally scheduled, confirm the blog build publishes future-dated posts as expected (some static generators hide them); otherwise correct the date before merge.

@github-actions

github-actions Bot commented Oct 9, 2026

Copy link
Copy Markdown

Documentation Preview Failed

The documentation deployment encountered an error. Please check the deployment logs for more details.

This branch had an error being deployed

1 failed deployment
auto-approve — e9157f48 Deployed Oct 9, 2026 by poshinchen via Build and Deploy Preview #7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants