aws-samples / aws-samples/sample-autonomous-cloud-coding-agents
agent: Per-step model hints in workflow YAML
- Ngôn ngữ chính
- TypeScript
- Star
- 143
- Fork
- 46
- Merge trung bình
- 3 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 24
Mô tả
## Component
Agent (Python runtime)
## Describe the feature
Allow workflow YAML steps to declare an optional `model` override so different phases of a task can use different Bedrock models without defining separate workflows.
Example (single `run_agent` step permitted today):
```yaml
steps:
- { kind: clone_repo, name: setup }
- { kind: run_agent, name: implement, model: { id: anthropic.claude-sonnet-4-6 } }
- { kind: verify_build, name: build, gate: regression_only }
```
Resolution follows [WORKFLOWS.md model selection](https://github.com/aws-samples/sample-autonomous-cloud-coding-agents/blob/main/docs/design/WORKFLOWS.md#model-selection): Blueprint allow-list bounds all choices; per-task API override remains highest unless `allow_task_override: false`.
## Use case
Model fit is task-phase-specific. Today `agent_config.model` applies workflow-wide. Per-step `model` on the lone `run_agent` step documents intent and prepares the schema for future multi-step agent graphs.
Distinct from #439 (runtime per-turn adaptive router) — this is **declarative workflow data**, not a heuristic.
## Proposed solution
1. Add optional `model: { id, allow_task_override? }` to step objects in workflow JSON Schema (`run_agent` only initially).
2. Validator: step `model.id` must be on platform/Blueprint allow-list.
3. Runner: merge step-level model over `workflow.agent_config.model` over Blueprint default in `_handle_run_agent`.
4. Telemetry: record resolved model per step on TaskEvents / OTEL spans.
5. Tests and WORKFLOWS.md update.
## Other information
- Related: #439 (per-turn router — complementary), ADR-014 / #248 workflows.
## Acknowledgements
- [ ] I may be able to implement this feature
- [x] This might be a breaking change (schema addition only — backward compatible if optional)
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với JSON Schema của workflow, phần chọn model trong WORKFLOWS.md và entry point _handle_run_agent của runner. Theo dõi cách workflow.agent_config.model và giá trị mặc định của Blueprint được resolve, sau đó kiểm tra TaskEvents và các test OTEL span. Được xem là hoàn tất khi model của các bước run_agent tùy chọn được validate theo allow-list, được resolve theo thứ tự đã nêu, model đã resolve được emit và được ghi lại bằng các test.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- aws, python, yaml
- Lĩnh vực
- backend, observability
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 52/100