Major feature addition enabling 2-4x speedup for independent processing units.
New Methods:
$set_daemons(n) — Configure n parallel worker processes using mirai package$add_parallel_group(from, stations, to, merge_fn) — Define stations to execute concurrently
from: predecessor stationstations: vector of station names to run in parallelto: optional successor station (receives merged results)merge_fn: custom function to combine parallel results (default: newline concatenation)Enhanced Methods:
$visualize() — Now displays parallel routes in red with ∥ symbol to distinguish from sequential routesUse Cases:
Performance:
Agent and WorkflowAgent handlersDocumentation:
workflow.qmd with working exampleexample_real_llm.R demonstrating 3 parallel agents analyzing "AI in Healthcare"Technical Details:
mirai package for reliable async executionper-station retry features to the Workflow classfallback handlers to the Workflow classshare_context_with()register_tools()list_tools()remove_tools()clear_tools()generate_and_register_tool()mini007 and ellmerAdding the following new methods:
validate_response()clone_agent()visualize_plan() method as the DiagrammeR package has many dependencies.add_message method for compatibility with ellmer Turnsellmer as an import dependency.generate_execute_r_code() method.messages as an active R6 field. It is now possible to modify the messages that will be used by the LLM object through a list object. The list object will be automatically converted to the corresponding ellmer Turns.Adding the following new methods:
keep_last_n_messages()update_instruction()clear_and_summarise_messages()judge_and_choose_best_response()set_budget()export_messages_history() and load_messages_history()reset_conversation_history()add_message()generate_execute_r_code()visualize_plan()set_budget_policy()Adding the following new parameters:
force_regenerate_plan boolean parameter to the invoke method of the LeadAgent, this will allow taking into account if the LeadAgent has already generated a plan or not. If a plan is detected, no need to generate the plan from scratch, except if the user set the force_generate_plan to TRUE.Deleting the following method:
delegate_prompt(), not needed anymore as the generate_plan() method has the same behavior.