Improve work log handling.

This commit is contained in:
AI Christianson 2025-01-09 13:42:26 -05:00
parent ba82f41fa0
commit 4b24dbe960
4 changed files with 23 additions and 23 deletions

View File

@ -189,6 +189,7 @@ def run_research_agent(
human_section=human_section,
web_research_section=web_research_section,
key_facts=key_facts,
work_log=get_memory_value('work_log'),
code_snippets=code_snippets,
related_files=related_files
)
@ -382,6 +383,7 @@ def run_planning_agent(
related_files="\n".join(get_related_files()),
key_facts=get_memory_value('key_facts'),
key_snippets=get_memory_value('key_snippets'),
work_log=get_memory_value('work_log'),
research_only_note='' if config.get('research_only') else ' Only request implementation if the user explicitly asked for changes to be made.'
)

View File

@ -118,6 +118,11 @@ Relevant Code Snippets:
Related Files:
{related_files}
Work done so far:
<work log>
{work_log}
</work log>
Be very thorough in your research and emit lots of snippets, key facts. If you take more than a few steps, be eager to emit research subtasks.{research_only_note}
Objective
@ -326,6 +331,11 @@ Relevant Code Snippets:
Related Files:
{related_files}
Work done so far:
<work log>
{work_log}
</work log>
Be very thorough in your research and emit lots of snippets, key facts. If you take more than a few steps, be eager to emit research subtasks.
Objective
@ -439,6 +449,11 @@ Key Facts:
Key Snippets:
{key_snippets}
Work done so far:
<work log>
{work_log}
</work log>
Fact Management:
Each fact is identified with [Fact ID: X].
Facts may be deleted if they become outdated, irrelevant, or duplicates.

View File

@ -9,7 +9,7 @@ ResearchResult = Dict[str, Union[str, bool, Dict[int, Any], List[Any], None]]
from rich.console import Console
from ra_aid.tools.memory import _global_memory
from ra_aid.console.formatting import print_error
from .memory import get_memory_value, get_related_files, get_work_log, reset_work_log
from .memory import get_memory_value, get_related_files, get_work_log
from .human import ask_human
from ..llm import initialize_llm
from ..console import print_task_header
@ -78,10 +78,7 @@ def request_research(query: str) -> ResearchResult:
# Get completion message if available
completion_message = _global_memory.get('completion_message', 'Task was completed successfully.' if success else None)
# Get and reset work log if at root depth
work_log = get_work_log() if current_depth == 1 else None
if current_depth == 1:
reset_work_log()
work_log = get_work_log()
# Clear completion state from global memory
_global_memory['completion_message'] = ''
@ -140,11 +137,7 @@ def request_web_research(query: str) -> ResearchResult:
# Get completion message if available
completion_message = _global_memory.get('completion_message', 'Task was completed successfully.' if success else None)
# Get and reset work log if at root depth
current_depth = _global_memory.get('agent_depth', 0)
work_log = get_work_log() if current_depth == 1 else None
if current_depth == 1:
reset_work_log()
work_log = get_work_log()
# Clear completion state from global memory
_global_memory['completion_message'] = ''
@ -205,11 +198,7 @@ def request_research_and_implementation(query: str) -> Dict[str, Any]:
# Get completion message if available
completion_message = _global_memory.get('completion_message', 'Task was completed successfully.' if success else None)
# Get and reset work log if at root depth
current_depth = _global_memory.get('agent_depth', 0)
work_log = get_work_log() if current_depth == 1 else None
if current_depth == 1:
reset_work_log()
work_log = get_work_log()
# Clear completion state from global memory
_global_memory['completion_message'] = ''
@ -278,10 +267,7 @@ def request_task_implementation(task_spec: str) -> Dict[str, Any]:
completion_message = _global_memory.get('completion_message', 'Task was completed successfully.' if success else None)
# Get and reset work log if at root depth
current_depth = _global_memory.get('agent_depth', 0)
work_log = get_work_log() if current_depth == 1 else None
if current_depth == 1:
reset_work_log()
work_log = get_work_log()
# Clear completion state from global memory
_global_memory['completion_message'] = ''
@ -339,10 +325,7 @@ def request_implementation(task_spec: str) -> Dict[str, Any]:
completion_message = _global_memory.get('completion_message', 'Task was completed successfully.' if success else None)
# Get and reset work log if at root depth
current_depth = _global_memory.get('agent_depth', 0)
work_log = get_work_log() if current_depth == 1 else None
if current_depth == 1:
reset_work_log()
work_log = get_work_log()
# Clear completion state from global memory
_global_memory['completion_message'] = ''

View File