Hi V.,
Here is the fixed version (without any actor) of the Activity diagram:
@startuml
skinparam style strict
skinparam activityBorderThickness 1
skinparam activityArrowColor #185E8A
skinparam activityDiamondBackgroundColor #D3D3D3
skinparam activityEndColor #FF6347
skinparam activityStartColor #7FFF00
skinparam activityBackgroundColor #F0F0F0
skinparam defaultTextAlignment center
skinparam componentStyle rectangle
title Important Agentic Steps and Sequencing
'actor User
start
:User provides **Prompt** (Get the Mission); [1]
note right
The user initiates the AI agent's workflow by giving it a goal.
end note
partition "AI Agent Core Loop" {
:Agent **Scans the Scene** (Gathers relevant information); [1]
partition "Phase: Think It Through" {
:Agent **Formulates a Plan** (Planning Pattern); [2, 3]
note
Decomposing complex goals into a sequence
of smaller, actionable steps.
end note
split
'--- Pathway 1: Linear Execution (Prompt Chaining) ---
:Execute **Prompt Chain** (Step 1); [4, 5]
-> :Execute Prompt Chain (Step 2 - uses previous output);
-> :Final Chain Step;
split again
'--- Pathway 2: Conditional Logic (Routing) ---
:Apply **Routing Logic** (Evaluate criteria); [6, 7]
if ("Condition Met?") then (Yes)
-> :Route to Specialized Path A;
else (No)
-> :Route to Specialized Path B;
endif
split again
'--- Pathway 3: Concurrent Operations (Parallelization) ---
fork
:Perform **Parallel Task X** (e.g., Tool Use 1); [8-10]
fork again
:Perform **Parallel Task Y** (e.g., Tool Use 2); [8-10]
end fork
-> :Aggregate Parallel Results;
split again
'--- Pathway 4: Iterative Improvement (Reflection) ---
:Generate Initial Output;
:Critique Output; [11]
repeat
:Refine Output based on Critique; [12]
:Re-Critique Refined Output;
backward :Refine Output based on Critique;
repeat while ("Not Optimal")
-> :Optimal Output Achieved;
end split
:Synthesize & Finalize Internal Logic;
}
partition "Phase: Take Action" {
:Agent Executes Plan\n(Involving **Tool Use** or Multi-Agent Collaboration); [1, 10, 13-15]
note
Utilizes external APIs, databases, or
delegates to other agents to achieve the goal.
end note
}
:Agent **Learns & Gets Better** (Adapts for future tasks); [1, 16]
note
Continuously improves its performance,
strategies, and knowledge.
end note
}
:Deliver Final Output to User;
'User <- (Final Output to User)
stop
@enduml
Enjoy,
Regards,
Th.