8 Bước
Sử dụng và tham khảo từ lĩnh vực Agent riêng lẻ, nhóm chat , tác vụ nền tảng , mật mã , phân loại, nhà nước BAR máy tính, sub work, hướng dẫn froval.
Braidrun hiện cung cấp 8 loại bước. Chỉ phải chọn một chế độ chính cho mỗi bước; các trường khác là các cải tiến (thử lại, điều kiện, phê duyệt thủ công, v.v.).
1. đơn - đại lý duy nhất
Bước phổ biến nhất: yêu cầu Đại lý thực hiện một nhiệm vụ.
- step: plan
agent: planner
input: "Plan a daily report pipeline"
depends_on: [intro]
retry:
maxAttempts: 3
backoff: exponentialCác cải tiến kết hợp được phép: parallel、repeat_until、iterate_over.
2. group_chat — thảo luận giữa nhiều Agent
Nhiều Đại lý thay phiên nhau nói về cùng một chủ đề. Bạn có thể chỉ định thứ tự phát biểu hoặc để người điều phối dàn nhạc quyết định.
- step: peer_review
group_chat:
agents: [coder, reviewer]
topic: "Review the change"
max_rounds: 6
repeat_until: "score >= 8"repeat_until Biểu thức điều kiện sẽ được đánh giá sau mỗi vòng; nếu đạt thì group_chat sẽ kết thúc.
3. Agent_based — ủy quyền động
Agent orchestrator chọn worker và phân phối tác vụ con lúc chạy. So với group_chat tĩnh, phù hợp hơn với kịch bản "tôi không biết ai hợp, để planner quyết định".
- step: delegate
agent_based:
orchestrator: planner
workers: [coder, analyst, writer]
input: "{{steps.plan.output}}"4. mã - tập lệnh xác định
Hỗ trợ 7 ngôn ngữ: Python / JavaScript / TypeUse / Bash / Ruby / Lua / CLI. Trong sản xuất, họ chạy trong một thùng cát theo mặc định.
code_preamble:
python:
inline: |
import json, os
workflow:
- step: transform
code:
language: python
timeout: 30
script: |
data = json.loads(os.environ.get("STEP_INPUTS", "{}"))
print(json.dumps({"rows": len(data)}))Khi có nhiều bước mã cần chia sẻ các chức năng nhập hoặc tiện ích, hãy sử dụng cấp cao nhất code_preamble, nhóm lại bởi ngôn ngữ lập trình; tại thời điểm chạy nó tự động được chuẩn bị với văn lệnh của các bước mã trong cùng một ngôn ngữ.
5. phân loại - biến định tuyến
Để Agent xuất ra "ngữ cảnh hiện tại thuộc loại nào" và ghi vào một biến định tuyến, cho condition của các bước sau dùng.
- step: classify_request
classifier:
agent: router
input: "Classify the user intent"
categories:
- name: coding
description: Needs code changes
- name: analysis
description: Needs investigation only
output_variable: route
- step: coding_path
agent: coder
condition: route == coding
depends_on: [classify_request]Khuyến khích classifier + condition thay vì phức tạp on_success.next Mảng chuỗi.
6. state_machine — máy trạng thái lồng nhau
Chạy dưới dạng nút tổng hợp DAG, nó có thể có một số trạng thái và chuyển tiếp bên trong.
- step: triage
state_machine:
initial: ingest
states:
- name: ingest
agent: planner
transitions:
- condition: route == analysis
next: analyze
- condition: route == coding
next: code
- name: analyze
agent: analyst
transitions:
- next: DONE
- name: code
agent: coder
transitions:
- next: DONEKhông cấu hình song song ở các bước bên ngoài; chỉ có một luồng đi vào state_machine.
7. sub_workflow - mô-đun quy trình làm việc phụ
Gọi một Mô-đun được xuất bản khác. Đầu vào/đầu ra tuân thủ hợp đồng do mô-đun khai báo; phát hiện vòng lặp được thực hiện trong thời gian chạy.
- step: fetch_report
sub_workflow:
workflow_id: 0d2c…ab12 # UUID of the published module
version_strategy: pinned
pinned_version: "2.0.1"
inputs:
app_id: "{{var:app_id}}"
window: last_7d
outputs:
report_path: report_path # parent variable <- module outputLiệt kê tất cả các mô-đun tích hợp: Thư viện mô- đun có sẵn.
8. dòng chảy ra-t loài đọc - dòng chảy chéo đọc
Một bước cấp hệ thống: nó đọc các giá trị từ các đầu ra được xuất bản bởi một thực hiện workflow khác (xem xuất bản bên dưới) và viết chúng vào các biến công việc này. Theo mặc định, nó đọc nguồn tin mới thực hiện thành công nhất gần đây nhất.
- step: read_spend_report
workflow_output_read:
workflow_id: 7f3a…9c21 # source workflow UUID
selector:
mode: latest_successful
outputs:
report_url: spend_report_url # published name -> local variable
missing_policy: use_default
defaults:
report_url: ""selector.mode— Mặc định là khả năng mới nhất (sự thực hiện thành công gần đây nhất); bạn cũng có thể sử dụng khả năng thực hiện d để chọn một thực hiện cụ thể, hoặc nhập có thể để lấy mã nhận dạng thực hiện từ một biến sốoutputs— Cần thiết: một bản đồ từ các tên xuất xuất ra đến tên biến nàymissing_policy— Khi kết xuất còn thiếu: bị lỗi (mặc định, lỗi bước), nhảy qua bước này (skip này) hoặc dùng mặc định (lấy giá trị từ mặc định)require_workflow_status— Mặc định việc thực hiện mã nguồn phải được hoàn tất
Tăng cường cấp bước
Các lĩnh vực sau đây không phải là đứng vững một bước, nhưng tăng cường co thắt thêm vào một bước.
manual_approval — Chấp thuận thủ công
Thêm một cổng hướng dẫn trước bất cứ bước nào: thực hiện tạm dừng và ghi chú người duyệt, tiếp tục được chấp thuận, và dừng lại khi bị từ chối hoặc hoãn lại.
- step: deploy
agent: deployer
input: "Deploy to production"
manual_approval:
enabled: true
approvers:
- team-lead@company.com
timeout: 3600
approval_message: "Ready to ship?"Xem danh sách tham số đầy đủ và quá trình phê duyệt: Chấp thuận thủ công.
publish_outputs — Xuất khẩu đầu ra bên ngoài
Sau khi một bước thành công, xuất bản tên đầu ra cho các luồng công việc khác để đọc thông qua công việc luồng ra-trat read. Theo mặc định, không có hiện vật bên trong được xuất bản.
- step: build_report
agent: analyst
input: "Summarize yesterday's spend"
publish_outputs:
- name: report_url
type: url
source: "{{steps.build_report.output}}"
description: Latest spend report link
visibility:
scope: teamsource— Cần thiết: một biểu thức mẫu đánh giá vào thời điểm xuất bản, ví dụ tham khảo lại đầu ra của bước nàytype— Mặc định là văn bản; cũng hỗ trợ Đánh dấu, json, số, booleany, url, file, v. vvisibility.scope— riêng (mặc định, chỉ người sở hữu workflow), nhóm, hoặc công việc luồng cho phép danh sách (đã cho phép công việc)
structured_output — Kết xuất cuối cùng đã cấu trúc
Chỉ có bước đơn Agent: Agent gọi các công cụ như bình thường, nhưng câu trả lời cuối cùng của nó được phân tích thành một kết quả có cấu trúc chống lại một giản đồ đã đăng ký; khi viết to được thiết lập, kết quả cũng được lặp lại thành một tập tin.
- step: final_commentary
agent: analyst
input: "Write the commentary"
structured_output:
schema: ai_commentary_parts
write_to: "{{var:output_dir}}/commentary.json"
fail_on_empty: trueschema— Cần thiết: tên của một cấu trúc đã đăng kýwrite_to— Tùy chọn: đường dẫn tập tin cần ghi, với hỗ trợ kiểu dáng; định dạng ghi hiện thời chỉ hỗ trợ jsonfail_on_empty— Có nên thất bại khi kết quả cấu trúc trống; mặc định là đúng
Xem nhanh giới hạn kết hợp
parallel— Chỉ có thể định cấu hình các bước Đại lý duy nhấtrepeat_until— Chỉ một Đại lý hoặc nhóm_chatiterate_over— Chỉ một Đại lý hoặc mã duy nhấtstructured_output— Chỉ bước đơnstate_machine— Chạy dưới dạng nút tổng hợp DAG, không cấu hình song song ở lớp bên ngoài