-
Notifications
You must be signed in to change notification settings - Fork 2
enhancement(core): LearningEngine is a stub — no actual behavioral learning from interaction patterns #1913
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
LearningEngine (crates/zeph-core/src/agent/learning_engine.rs, ~94 lines) exists as a structural placeholder but implements no actual learning logic. The agent does not improve its behavior based on interaction history.
Current state
The file contains:
- A struct with a single
reflection_usedflag - No pattern analysis
- No preference inference
- No behavioral adaptation between turns or sessions
- No connection to
FeedbackDetectoroutputs oruser_corrections
What a functional LearningEngine should do
- Preference inference: detect recurring user preferences from corrections (e.g. prefers concise answers, always wants code in Rust, dislikes emoji)
- Tool usage patterns: learn which tools the user relies on and pre-suggest them
- Skill affinity: track which skills produce high-quality outcomes for this user (connect to
skill_outcomestable) - Cross-session adaptation: persist learned preferences to
zeph_key_factsor a dedicateduser_preferencescollection - Response style adaptation: adjust verbosity, language, format based on feedback history
Affected tables (currently empty/unused)
skill_outcomes— 0 rowsskill_usage— 0 rowsuser_corrections— 0 rows (also blocked by fix(memory): zeph_corrections Qdrant collection never populated — self-learning corrections not persisted #1910)skill_versions— 0 rows
Impact
- Self-learning feature is advertised but non-functional
- No behavioral personalization across sessions
FeedbackDetectorsignals are detected but never acted upon beyond skill re-ranking
Suggested approach
Start with the simplest useful behavior: after each session, scan user_corrections for patterns and write 1–3 preference facts to zeph_key_facts via memory_save. Build from there incrementally.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request