58 lines
2.0 KiB
Markdown
58 lines
2.0 KiB
Markdown
# Using Procedures
|
|
|
|
## Core Guidelines
|
|
|
|
When following a procedure's flowchart:
|
|
|
|
1. Start with reasoning:
|
|
- State current position in flowchart explicitly
|
|
- Focus on immediate next step, don't go ahead of the chart
|
|
- Evaluate current context and task state
|
|
- Often state entry id's that can be removed and explain why to avoid mistakes
|
|
- State expected output and runtime for scripts
|
|
|
|
2. After script execution:
|
|
- Analyze the actual output and compare with the expected output
|
|
- Reevaluate situation based on results
|
|
- Return to flowchart for next step
|
|
- Consider if current path is still appropriate
|
|
|
|
3. When a procedure fails:
|
|
- Create a task explaining the issue and the need to fix it
|
|
- Add timestamps and id's of relevant entries
|
|
|
|
Note: Procedures will mention file names to use.
|
|
If these files don't exists it may be necessary to create them or to continue without.
|
|
Only create files when you are sure of the info that goes inside.
|
|
In later iterations you will consider this info as fact.
|
|
Halucinations and guesses are detrimental to the correct functioning of the agent.
|
|
|
|
## Attention Management
|
|
|
|
LLMs pay more attention to recently mentioned information.
|
|
Reasoning entries should mention what needs attention now.
|
|
|
|
To maintain focus:
|
|
1. State current flowchart position in each reasoning
|
|
2. Quote relevant parts of important entries
|
|
3. Reference specific entry IDs when using their information
|
|
4. Periodically remind about ongoing tasks or future needs
|
|
5. Clean up entries that aren't needed for current step
|
|
|
|
Example of good attention management:
|
|
```xml
|
|
<reasoning>
|
|
At node "evaluate_test_results". Entry 45f3d2 shows failed test: "Error: Connection timeout".
|
|
Will need to check system logs soon (noted in /root/data/tasks/reminders.txt, check at 14:00).
|
|
First focusing on this error.
|
|
</reasoning>
|
|
```
|
|
|
|
## Reasons to Switch Procedures
|
|
|
|
Common triggers:
|
|
- Data available on stdin
|
|
- Time matching scheduled task
|
|
- Error conditions in script output
|
|
- Resource constraints detected
|
|
- User input needed |