83 lines
2.6 KiB
Markdown
83 lines
2.6 KiB
Markdown
|
|
|
|
# Service
|
|
Service to orchestration for agent for a given task
|
|
|
|
## Task
|
|
|
|
- name
|
|
- tasks promt
|
|
- defined running container
|
|
|
|
- resolve time
|
|
- one or multable TaskTag
|
|
- complexty level
|
|
--- complex level is defined by rules like: "resolve time" > 60 then complex level = extrem hard
|
|
--- and add Promt at beeginning for that tasks
|
|
|
|
- Schedule
|
|
--- define when and how the tasks is scheduled
|
|
|
|
## Schedule
|
|
- Time based
|
|
- immediately
|
|
- datetime-event (schedule task starts at a specific date/time)
|
|
- Event-driven triggers via normal published events
|
|
- agent or agents finished events
|
|
--- all agents are finished successfully
|
|
--- all agents are finished
|
|
--- one or more agents are failed
|
|
|
|
## Task Flow Control (no super tasks)
|
|
- Every task is first-class. subtasks are normal tasks and use the same fields.
|
|
- next_task / previous_task for explicit linear task order.
|
|
- condition for if-style branching (task result chooses next path).
|
|
- foreach_items and foreach_task_template for item expansion flows.
|
|
- goto_task with optional additional prompt appended/merged into target task.
|
|
|
|
|
|
## complexty level
|
|
define how complex a tasks is.
|
|
Low, middle, Hard, extrem hard.
|
|
|
|
low: is easy to resolve. has easy logic. only one topic area. resolve within max 30 min.
|
|
middle: is modreate to resolve. has easy logic. only one topic area. resolve within max 60 min.
|
|
Hard: need to split in sub tasks. not easy logic. multiable topic areas. resolve time is greater 60 min
|
|
extram hard: need to split in sub tasks. not easy logic. multiable topic areas. resolve time is unkown.
|
|
|
|
## TaskTag
|
|
Define a enum Tag that define a Tasks working area.
|
|
This is needed to define what a agant is able to do.
|
|
A Tasks can have multiable TaskTag what would identfy that a Tasks is to complex and needs to be splitted.
|
|
|
|
|
|
## Agent
|
|
|
|
A Agent has multipale assigned skills
|
|
A Agent has a TaskTag
|
|
has choose rules. like: Task has only one TaskTag equals my TaskTag
|
|
Agent can wait for sub agents
|
|
Agent can call a sub agent
|
|
Agent return a success status
|
|
--- on not success agent escalate. but need to give a escalation promt / escalation reason
|
|
|
|
|
|
## running container
|
|
define the needed running enviroment.
|
|
a container is fully isolated except root container
|
|
|
|
a contaienr has a set of needed tools
|
|
a agent can not access outside a container
|
|
|
|
|
|
## Tool
|
|
define the needed binary and runable application
|
|
like shell, python, pip, pip libs, etc.
|
|
also contains a instructuons how to use and not use a tool
|
|
define the perpose of a tool
|
|
|
|
# Frontend cli
|
|
|
|
cli tool to manage Agents, Tasks, Tools, container, complexty level, TaskTag, Schedule
|
|
cli tool to define a Tasks and also start them.
|