Runtime does not start workers for tools declared on a `planner=` agent

Đang mở Phù hợp với người mới
#478 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
82/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Ít trao đổi
Công nghệ
python

Hướng nghiên cứu

Bắt đầu trong src/conductor/ai/agents/runtime/runtime.py, tập trung vào cách các công cụ của worker được thu thập cho một agent và các slot planner= và fallback= của nó. Tái hiện bằng examples/agents/86_coding_agent.py và xác minh rằng nó đi đến planner thay vì bị treo; lỗi "No JSON plan found" xảy ra sau đó là một lỗi riêng biệt.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug

In short: an agent passed as planner= gets no workers started for its tools, so its tasks sit in the queue with nothing polling them and the example hangs forever.

Files: src/conductor/ai/agents/runtime/runtime.py; reproduced by examples/agents/86_coding_agent.py

Symptom

$ python examples/agents/86_coding_agent.py

Hangs forever, no output after the worker banner. Output at 180s and 300s is byte-identical — no progress. Still reproduces on Orkes Conductor 5.5.0 against main at 8ff5f88f (240s, no progress).

Cause

Workers start only for the parent agent's tools=. Tools declared on the agent passed as planner= get none, so the planner's read_file tasks stay SCHEDULED with nothing polling them.

  • grep -n '\.planner' runtime.py matches only comments — no code reads that slot when collecting worker tools.
  • _ensure_models_for_agent walks a.agents recursively, so the old form was covered.
  • The named slots planner= / fallback= replaced the older agents=[planner, fallback] form, and the traversal was never extended to them.

Fix

Collect worker tools through planner= and fallback=, not only agents=.

Verify

python examples/agents/86_coding_agent.py reaches the planner and stops hanging. Confirmed: supplying those four workers from a second process ends the hang (128s vs indefinite).

Notes

This does not make 86 pass. It then fails with No JSON plan found and no fallback agent configured, a separate defect.

Reproduce on Orkes Conductor 5.5.0, not OSS 3.32.0. On OSS 3.32.0 the example no longer reaches this hang — it fails first, at 42s, with a separate defect that masks this one:

Plan compilation failed: Validation 0 has unsafe success_condition:
unexpected trailing input: '('passed') >= 0' at position 9 in: $.indexOf('passed') >= 0

No other example is known to expose this. 115_plan_execute_planner_context.py and adk/24_planner.py both use planner= but cannot reach it, and both pass:

  • 115's planner declares the same four tools as its parent harness, so the parent's tools= already starts those workers.
  • adk/24_planner.py passes BuiltInPlanner(...), which carries no tools at all.
Ngôn ngữ chính
Python
Star
104
Fork
43
Merge trung bình
1 ngày 13 giờ
Pull request đã merge (30 ngày)
4

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của conductor-oss/python-sdk

Tất cả issue của conductor-oss/python-sdk

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.