Strands Agents 生产级 Agent Harness 构建
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/build-production-agent-harnesses-with-strands-agents。
技能介绍
要解决的问题
把 LLM 调用包装成可上线的 agent,最常见的坑是把 demo 直接搬进生产:异常被静默吞掉、模型切换要重写推理链路、工具调用没有统一边界,出问题时只能靠猜。这个技能要解决的是从原型到可维护 harness 之间的工程断层,即如何用一套与模型无关的结构,把工具、MCP、guardrails、追踪和流式输出这些横切能力一次性理顺。
技能如何工作
它基于 Strands Agents 的官方 SDK,同时提供 Python 与 TypeScript 两套实现。核心设计点在于:
- 与模型无关:
Agent只负责 agent loop 与工具调度,模型提供商以可替换的模块接入,切换 provider 不必重写主流程。 - 能力分层:工具调用、MCP 兼容工具、guardrails、追踪、流式输出各自独立配置,互不侵入业务逻辑。
- 引导式自愈:guardrails 在运行前拦截错误,引导处理程序(hooks)让 agent 自我纠正,而不是让任务静默失败。
关键步骤大致是:先按运行时选定 Python 或 TypeScript SDK,再配置模型提供商凭证与工具来源,接着挂上 guardrails 与追踪中间件,最后以 Agent 为入口跑通一次完整任务并验证流式输出。
适用边界与注意点
需要明确的几点:
- 两个 SDK 默认走 Amazon Bedrock,必须配置 AWS 凭证,并确认已开通 Claude Sonnet 的模型访问权限,否则第一个请求就会失败。
- 工具侧要求 MCP 兼容,现有工具若不适配需要先做一层封装。
- guardrails 与 hooks 只负责减少错误,不会替代代码审查和测试,输入域复杂的场景仍需自行补充校验。
- 本仓库是 monorepo,包含 Python SDK、TypeScript SDK、文档站点和支持包,排查问题时要先确认自己用的是哪条 SDK 路径。
使用场景
- 已有一批内部 API,需要封装成 MCP 兼容工具后交给 Strands Agent 统一调度时
- Agent 上线前需要加 guardrails 拦截越界输入,并用 hooks 让它自纠而不是静默失败时
- 需要把模型从默认 Bedrock 迁到其他提供商,又不想重写 agent loop 和工具调用时
- 长任务需要流式输出每一步,并通过追踪定位中途失败的具体环节时
适合人员
- 负责 agent 服务上线的后端工程师,要把 demo 改造成可监控、模型可替换的生产 harness
- 维护内部工具平台的开发者,想把现有 API 封装成 MCP 工具接入 Strands agent
- 关注模型成本与可用性的架构师,想不重写主流程就切换 Bedrock 以外的提供商
- 做 agent 评测与排障的工程师,需要 guardrails 拦截异常并用追踪定位失败环节