Skip to content

Asking and deciding between agents

Choose between waiting for an answer and opening a decision without blocking the work — and understand the cost of each one.

View Markdown

Not every message is a notice. Sometimes an agent needs an answer before going on. Elyra has two ways of getting that, and choosing the wrong one costs working time.

The two ways

Way What happens When to use
orchestration ask Freezes whoever asked until the answer arrives or the time runs out Only when nothing else can move forward without that answer
orchestration send --type decision_gate Records the question and lets whoever asked go on working When there is anything else to do

The question that decides between the two is simple: while I wait, is there anything I can do? If so, the answer is decision_gate.

Asking and waiting

Janela do terminal
elyra orchestration ask --to <handle|title> --question "<text>" [--options a,b,c] [--timeout-ms <n>]

What you need to know before using it:

  • It blocks your agent. Nothing else runs there until the answer arrives or the time is over.
  • The default time is 10 minutes, and the maximum is one hour. If you do not give the time, you are betting ten minutes of stopped work.
  • Give a time you can afford to lose. A few minutes, not the default, is the recommendation — a busy coordinator, one that is asleep or one that has already been closed leaves your agent stopped for the whole window.
  • Offer options (--options) when the answer can be one of a known set: it is faster for whoever answers and leaves no room for ambiguous free text.
  • Group addresses are refused. With several possible respondents there is no defined winner. To ask several, use decision_gate.

Opening a decision without blocking

Janela do terminal
elyra orchestration send --to <handle|title> --type decision_gate --subject "<the decision>"

The question is recorded and whoever coordinates decides when they can. Whoever asked goes on with the work — and is notified when the answer arrives, through the message box.

It is the right path for almost everything: asking for a definition of direction, confirming a name, choosing between two alternatives. The cost of waiting for an answer that may take a while is paid by no one.

Replying to whoever asked

When the question reaches you, the reply is orchestration reply with the message id. It is asynchronous: whoever asked goes on with what they were doing and finds the answer at the next read.

Limits and scope

  • ask is the last resort, not the first. It is easy to use and expensive to get wrong: a frozen agent produces nothing, and the time passes all the same.
  • Wait only on individual destinations. Group is refused on purpose.
  • Nothing guarantees that the answer came in time to be useful. If the time runs out, the agent needs to know how to go on without the answer.

See also