Một trong những vấn đề mình thấy khá rõ khi làm việc với AI coding agent là:
Một feature mới có thể cần requirements, design, implementation, review và validation.
Một production issue có thể cần investigate, tìm root cause, sửa từng nguyên nhân, chạy lại test rồi tiếp tục cho đến khi vấn đề thực sự được giải quyết.
Nếu tất cả đều diễn ra trong một conversation duy nhất, context sẽ ngày càng lớn, reasoning của các bước trước bắt đầu ảnh hưởng đến các bước sau và người dùng vẫn phải ngồi theo dõi, nhắc agent làm từng việc.
Kiro Workflows đang tiếp cận bài toán này theo một cách khác:
Theo tài liệu của Kiro, workflow là một graph gồm nhiều agent steps, sequence, loop và parallel branches. Mỗi step chạy trong một session riêng với context tập trung cho nhiệm vụ của nó.
Điều này nghe có vẻ đơn giản, nhưng thực tế lại khá quan trọng.
Ví dụ một feature có thể được chia thành:
Thay vì một agent làm tất cả, mỗi bước có thể được giao cho một session riêng.
Coder không mang toàn bộ reasoning của chính mình sang bước review.
Reviewer nhìn vào output như một bên độc lập.
Sau đó kết quả mới được handoff sang bước tiếp theo.
Điều này tạo ra một workflow gần với cách một engineering team thực tế làm việc hơn.
Đây có lẽ là phần mình thích nhất.
Bạn không cần bắt đầu bằng việc ngồi viết một file workflow.
Chỉ cần mô tả outcome bạn muốn.
Ví dụ:
Investigate this repository, plan the change, and verify the result.
Hoặc một yêu cầu rõ hơn:
Deliver the rate-limiting feature in a fresh worktree: requirements, design review, plan, implementation with two independent reviewers, and a final validation against the requirements.
Kiro có thể tự đề xuất workflow, xác định các bước, agent và thứ tự thực hiện rồi launch workflow đó.
Đây là một thay đổi khá thú vị trong cách chúng ta tương tác với coding agent.
Trước đây, chúng ta thường nghĩ:
Bây giờ có thể trở thành:
Một trong những vấn đề của multi-agent system là context.
Nếu tất cả agent dùng chung một conversation, agent sau có thể vô tình bị ảnh hưởng bởi assumptions, reasoning hoặc mistakes của agent trước.
Kiro giải quyết phần này bằng cách cho mỗi workflow step chạy trong một session riêng.
Step sau không tự động đọc session của step trước.
Thông tin chỉ được truyền qua những thứ được khai báo rõ ràng như handoff, captured output hoặc artifact.
Mình nghĩ đây là một pattern rất đáng chú ý.
Nó biến context từ một thứ "agent tự nhớ" thành một thứ có thể kiểm soát được trong architecture.
Ví dụ:
Research Agent
→ tìm hiểu repository
→ tạo report
Planning Agent
→ đọc report
→ tạo implementation plan
Coding Agent
→ đọc plan
→ implement
Review Agent
→ đọc artifact
→ review độc lập
Validation
→ chạy test
→ quyết định đã verified hay chưa
Kết quả của mỗi bước trở thành input có chủ đích cho bước tiếp theo.
Một workflow không nhất thiết chạy từ đầu đến cuối đúng một lần.
Nó có thể có loop.
Ví dụ:
Kiro cũng hỗ trợ safety cap để workflow không chạy vô hạn.
Điều này đặc biệt phù hợp với troubleshooting.
Ví dụ bạn có thể yêu cầu:
Make the build green without changing behavior. Reproduce the failure, fix one cause at a time, and rerun the same check. Pause and ask me after ten attempts.
Đây không còn giống một chatbot.
Nó giống một automated engineering process hơn.
Một điểm khác rất thực tế:
Workflow chạy background trong khi conversation chính vẫn hoạt động.
Bạn tiếp tục làm việc với Kiro ở main conversation, trong khi các agent được giao nhiệm vụ xử lý ở background. Khi cần, bạn có thể pause, resume hoặc steer từng step.
Điều này thay đổi khá nhiều workflow của developer.
Thay vì:
"Chờ AI xử lý xong rồi mới làm việc tiếp."
Có thể trở thành:
"Giao việc cho AI rồi tiếp tục công việc khác."
Đến khi workflow hoàn thành, artifacts và kết quả được đưa trở lại parent conversation.
Ví dụ một production issue:
Research agent đọc repository và xác định nơi có thể gây timeout.
↓
Planner xác định change points và cách sửa.
↓
Coding agent thực hiện thay đổi.
↓
Chạy test và kiểm tra kết quả.
↓
Nếu chưa đạt:
Revise → Implement → Verify
Nếu đạt:
Tài liệu Kiro minh họa chính xác mô hình này với các bước độc lập, review loop và artifacts được đưa trở lại parent conversation.
Không phải task nào cũng cần workflow.
Đây cũng là một điểm Kiro nói khá rõ.
Workflow sử dụng nhiều token hơn single-agent session bởi vì chúng ta đang trả chi phí cho structure, independent review và nhiều agent session.
Một task đơn giản:
Fix this typo.
Rõ ràng không cần workflow.
Nhưng những task như:
thì workflow bắt đầu có nhiều ý nghĩa hơn.
Đây mới là phần mình thấy đáng chú ý.
AI coding agent ban đầu chủ yếu giúp developer:
Nhưng khi agent đã có khả năng code tốt hơn, vấn đề tiếp theo không còn là:
AI có viết được code không?
Mà là:
Kiro Workflows đang đi theo hướng đó.
Một workflow có:
Nhìn từ architecture perspective, đây không còn chỉ là prompt engineering.
Đây là agent orchestration.
Workflow của Kiro được lưu dưới dạng JSON hoặc YAML.
Con người có thể đọc.
Agent cũng có thể tạo.
Và một workflow đã được kiểm chứng có thể trở thành một reusable recipe cho cả team.
Ví dụ:
.kiro/workflows/
investigate
feature-pipeline
publish-prLúc này AI workflow bắt đầu có một tính chất giống infrastructure hoặc CI/CD:
Một engineering team có thể không chỉ chia sẻ source code.
Họ có thể chia sẻ luôn cách AI thực hiện công việc.
Mình nghĩ hướng phát triển này khá thú vị vì nó cho thấy một sự thay đổi trong cách chúng ta nhìn về AI coding tools.
Thế hệ đầu tiên:
Thế hệ tiếp theo:
Và với những hệ thống như Kiro Workflows:
Khi đó, đơn vị làm việc không còn là một prompt.
Nó là một workflow có mục tiêu, evidence, review, validation và recovery mechanism.
Và có lẽ đây mới là bước tiếp theo của agentic development: