Skip to content

Introduce AgentCore strands-agent sample - #360

Open
justinschoeff wants to merge 5 commits into
mainfrom
schoeff/strands-agent
Open

justinschoeff wants to merge 5 commits into
mainfrom
schoeff/strands-agent

Conversation

@justinschoeff

@justinschoeff justinschoeff commented Sep 8, 2026

Copy link
Copy Markdown

What was changed

This sample includes a strands agent loop aimed to run on AWS AgentCore,
invoked by Temporal serverless workers. This utilizes the AWS AgentCore
CLI and related configuration for serverless workers.

Why?

AWS AgentCore has a unique interface and is a key service being marketed by AWS. This is in preparation for launch of serverless workers supporting AgentCore.

Checklist

  1. Closes

  2. How was this tested:
    Ran the commands in readme, verified it created runtime, started the workflow and watched the worker in AgentCore runtime trigger activities in CW logs and in workflow history.

  3. Any docs updates needed?
    @lennessyy is working on docs

@justinschoeff
justinschoeff force-pushed the schoeff/strands-agent branch 3 times, most recently from cae7e6b to 77768ed Compare September 9, 2026 02:26
@justinschoeff
justinschoeff marked this pull request as ready for review September 9, 2026 13:10
@justinschoeff
justinschoeff requested review from a team as code owners September 9, 2026 13:10
Comment thread bedrock_agentcore/strands-agent/README.md Outdated
Comment thread pyproject.toml
Comment on lines 133 to +140
[tool.ruff]
target-version = "py310"
extend-exclude = ["lambda_worker"]
extend-exclude = ["bedrock_agentcore", "lambda_worker"]

[tool.mypy]
ignore_missing_imports = true
namespace_packages = true
exclude = ["lambda_worker/"]
exclude = ["bedrock_agentcore/", "lambda_worker/"]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What's behind the decision not to lint/typecheck?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

removed ruff. the mypy is becasue both have activities in their root and it complains about conflicting modules.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Would the fix be to split the activities into a separate file?

Comment thread README.md Outdated
* [activity_worker](activity_worker) - Use Python activities from a workflow in another language.
* [batch_sliding_window](batch_sliding_window) - Batch processing with a sliding window of child workflows.
* [bedrock](bedrock) - Orchestrate a chatbot with Amazon Bedrock.
* [bedrock_agentcore/strands-agent](bedrock_agentcore/strands-agent) - Run a AWS Strands Agent with Temporal Plugin on AgentCore Worker.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Use underscores for directory name consistency?

Suggested change
* [bedrock_agentcore/strands-agent](bedrock_agentcore/strands-agent) - Run a AWS Strands Agent with Temporal Plugin on AgentCore Worker.
* [bedrock_agentcore/strands_agent](bedrock_agentcore/strands_agent) - Run a AWS Strands Agent with Temporal Plugin on AgentCore Worker.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why do we have a strands-agent subdirectory in the first place? Planning on demoing other agent frameworks with AgentCore?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I also have a helloworld-container version that builds a Docker image and has the http server in example. I'm not sure it's useful for python as it would be for other languages that don't support AgentCores CodeZip sdk. I was going to PR right after this, but I may not. I do think we'll want other examples at some point though. Open to moving it up a level.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Seems reasonable to move it up a level until we add a second sample

Comment thread bedrock_agentcore/strands-agent/agentcore_worker.py Outdated
Comment thread bedrock_agentcore/strands_agent/agentcore_worker.py
This sample includes a strands agent loop aimed to run on AWS AgentCore,
invoked by Temporal serverless workers. This utilizes the AWS AgentCore
CLI and related configuration for serverless workers.
@lennessyy

Copy link
Copy Markdown
Contributor

Sorry - was trying to test the docs using the sample but got blocked on Anthropic calls. I asked Codex to change the model to nova lite and it went rogue and pushed changes here hence the push and revert. Changes are already reverted and I only added snipsync comments

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