# Task Memory Summary Ops ## TrajectoryPreprocessOp ### Purpose Preprocesses trajectories by validating and classifying them based on their score. ### Functionality - Validates and classifies trajectories as success or failure based on a threshold - Modifies tool calls in messages to ensure consistent format - Sets context for downstream operators with classified trajectories ### Parameters - `op.trajectory_preprocess_op.params.success_threshold` (float, default: `1.0`): - The threshold score that determines if a trajectory is considered successful - Trajectories with scores greater than or equal to this value are classified as successful ## TrajectorySegmentationOp ### Purpose Segments trajectories into meaningful step sequences to enable more granular memory extraction. ### Functionality - Uses LLM to identify logical break points in trajectories - Adds segmentation information to trajectory metadata - Enables more focused memory extraction from specific parts of conversations ### Parameters - `op.trajectory_segmentation_op.params.segment_target` (string, default: `"all"`): - Determines which trajectories to segment - Options: `"all"`, `"success"`, `"failure"` ## SuccessExtractionOp ### Purpose Extracts task memories from successful trajectories. ### Functionality - Processes successful trajectories to identify valuable memories - Can work with both entire trajectories and segmented step sequences - Uses LLM to extract structured task memories with when-to-use conditions ### Parameters No specific parameters beyond the LLM configuration. ## FailureExtractionOp ### Purpose Extracts task memories from failed trajectories to capture lessons learned from unsuccessful attempts. ### Functionality - Processes failed trajectories to identify pitfalls and mistakes - Can work with both entire trajectories and segmented step sequences - Uses LLM to extract structured task memories with when-to-use conditions ### Parameters No specific parameters beyond the LLM configuration. ## ComparativeExtractionOp ### Purpose Extracts comparative task memories by comparing different scoring trajectories. ### Functionality - Performs "soft comparison" between highest and lowest scoring trajectories - Can perform "hard comparison" between success and failure trajectories using similarity search - Identifies key differences that contributed to success or failure ### Parameters - `op.comparative_extraction_op.params.enable_soft_comparison` (boolean, default: `true`): - When `true`, enables comparison between highest and lowest scoring trajectories - `op.comparative_extraction_op.params.enable_similarity_comparison` (boolean, default: `false`): - When `true`, enables similarity-based comparison between success and failure trajectories - `op.comparative_extraction_op.params.similarity_threshold` (float, default: `0.3`): - The threshold for considering two trajectories similar - `op.comparative_extraction_op.params.max_similarity_sequences` (integer, default: `5`): - Maximum number of sequences to compare to avoid computational overload - `op.comparative_extraction_op.params.max_similarity_pairs` (integer, default: `3`): - Maximum number of similar pairs to process ## MemoryValidationOp ### Purpose Validates the quality of extracted task memories to ensure they are useful and relevant. ### Functionality - Uses LLM to validate each extracted memory - Scores memories based on quality and relevance - Filters out low-quality memories based on validation threshold ### Parameters - `op.memory_validation_op.params.validation_threshold` (float, default: `0.5`): - The minimum score for a memory to be considered valid ## MemoryDeduplicationOp ### Purpose Removes duplicate task memories to avoid redundancy in the vector store. ### Functionality - Compares new memories with existing memories in the vector store - Uses embedding similarity to identify duplicates - Ensures only unique memories are stored ### Parameters - `op.memory_deduplication_op.params.similarity_threshold` (float, default: `0.5`): - The threshold for considering two memories similar - `op.memory_deduplication_op.params.max_existing_task_memories` (integer, default: `1000`): - Maximum number of existing memories to check against ## SimpleSummaryOp ### Purpose A simplified version of memory extraction that processes entire trajectories in one step. ### Functionality - Classifies trajectories as success or failure based on score threshold - Extracts memories directly from complete trajectories - Useful for simpler use cases where detailed segmentation is not required ### Parameters - `op.simple_summary_op.params.success_score_threshold` (float, default: `0.9`): - The threshold score that determines if a trajectory is considered successful ## SimpleComparativeSummaryOp ### Purpose A simplified version of comparative memory extraction. ### Functionality - Groups trajectories by task ID - Compares the highest and lowest scoring trajectories for each task - Extracts comparative insights without complex segmentation ### Parameters No specific parameters beyond the LLM configuration.