You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
a helper agent is intended to run (and not retry)
and be one level lower than a step. This will allow
for getting back large error outputs and streamlining
to better get to an issue.
Signed-off-by: vsoch <[email protected]>
Copy file name to clipboardExpand all lines: README.md
+20-3Lines changed: 20 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,12 +12,21 @@ This library is primarily being used for development for the descriptive thrust
12
12
### Agents
13
13
14
14
The `fractale agent` command provides means to run build, job generation, and deployment agents.
15
-
This part of the library is under development.
15
+
This part of the library is under development. There are three kinds of agents:
16
+
17
+
-`step` agents are experts on doing specific tasks (do hold state)
18
+
-`manager` agents know how to orchestrate step agents and choose between them (don't hold state, but could)
19
+
-`helper` agents are used by step agents to do small tasks (e.g., suggest a fix for an error)
20
+
21
+
The design is simple in that each agent is responding to state of error vs. success. In the case of a step agent, the return code determines to continue or try again. In the case of a helper, the input is typically an erroneous response (or something that needs changing) with respect to a goal.
22
+
For a manager, we are making a choice based on a previous erroneous step.
16
23
17
24
See [examples/agent](examples/agent) for an example.
18
25
19
26
#### To do items
20
27
28
+
- refactor manager to not handle prompt, just get step when retries come back.
29
+
- then need to decide how to handle kubernetes job creating additional structures.
21
30
- Get basic runner working
22
31
- Add in ability to get log and optimize - the manager will need to use goal
23
32
- We likely want the manager to be able to edit the prompt.
@@ -28,21 +37,29 @@ See [examples/agent](examples/agent) for an example.
28
37
29
38
**And experiment ideas**
30
39
31
-
- How do we define stability?
40
+
- How do we define stability?
32
41
- What are the increments of change (e.g., "adding a library")? We should be able to keep track of times for each stage and what changed, and an analyzer LLM can look at result and understand (categorize) most salient contributions to change.
33
42
- We also can time the time it takes to do subsequent changes, when relevant. For example, if we are building, we should be able to use cached layers (and the build times speed up) if the LLM is changing content later in the Dockerfile.
34
43
- We can also save the successful results (Dockerfile builds, for example) and compare for similarity. How consistent is the LLM?
35
44
- How does specificity of the prompt influence the result?
36
45
- For an experiment, we would want to do a build -> deploy and successful run for a series of apps and get distributions of attempts, reasons for failure, and a general sense of similarity / differences.
37
46
- For the optimization experiment, we'd want to do the same, but understand gradients of change that led to improvement.
38
47
39
-
## Observations
48
+
####Observations
40
49
41
50
- Specifying cpu seems important - if you don't it wants to do GPU
42
51
- If you ask for a specific example, it sometimes tries to download data (tell it where data is)
43
52
- Always include common issues in the initial prompt
44
53
- If you are too specific about instance types, it adds node selectors/affinity, and that often doesn't work.
45
54
55
+
#### Ideas
56
+
57
+
- The manager agent is currently generated an updated prompt AND choosing the step.
58
+
- Arguably we should have a separation of responsibility so a step can ask to fix an error without a manager.
59
+
- I think we need one more level of agent - a step agent should have helper agents that can:
0 commit comments