strands-spec 是 strands-cli 的工作流规范创建技能,提供构建生产级 strands-cli 工作流规格(YAML/JSON)的专家指导。适用于从零创建新工作流、为现有规格添加新编排模式(chain、parallel、routing 等)、配置工具与运行时提供方或遥测、调试 schema 校验错误,以及优化性能或 token 用量。
核心原则:声明式优于命令式,定义工作流做什么而非如何执行;Schema 优先,所有规格须通过 strands-workflow.schema.json(JSON Schema Draft 2020-12)校验;渐进式加载,从简单开始按需增加复杂度;默认安全,始终包含预算、重试和校验。
规格基本结构包括:version、name、description、runtime(provider 支持 bedrock、openai、ollama,bedrock 需 region,openai 需 OPENAI_API_KEY,ollama 需 host,可设 temperature、max_tokens 及 budgets 如 max_tokens、max_duration_s、max_steps)、agents(含 prompt、可选 tools 与 runtime 覆盖)、inputs(required/optional 及类型、默认值、枚举)、pattern(chain、routing、parallel、workflow、graph、evaluator-optimizer、orchestrator-workers 共 7 种,建议从 chain 起步)、outputs(artifacts 与模板变量如 {{ last_response }}、{{ steps[0].response }}、{{ tasks.task_id.response }}、{{ $TRACE }})。
用法上应先校验再执行:uv run strands validate my-workflow.yaml;运行示例为 uv run strands run hello-world.yaml --var name="World"。可按需加载 patterns、tools、advanced、examples、troubleshooting 等参考内容,避免一次加载全部文件。
限制方面,资料未提供该技能的收费、平台支持范围及具体效果数据;实际可用性取决于 strands-cli 环境与所选模型提供方的凭证配置。