feat(vikingbot): self-evolving agent memory with experience injection#2007
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
yeshion23333
left a comment
There was a problem hiding this comment.
I found two blocking issues and a few follow-up suggestions. The main concerns are workspace-scoped OpenViking routing regressing to a global singleton in hooks, and skill memory retrieval being replaced by experience search instead of being augmented.
6669d95 to
34b5500
Compare
Rebase onto upstream/main (commit 6312e1e). Conflicts resolved by keeping upstream namespace-aware logic while preserving our experience memory changes: - loop.py: inject experience memory before write tool calls (write_file, edit_file) - subagent.py: prepend relevant experience memory to subagent task prompt - memory.py: add get_viking_experience_context() for semantic experience search - hooks.py: replace exact skill lookup with semantic experience search - ov_server.py: add search_experiences(); search_memory returns agent_memory=[] - schema.py: add exp_write_tools config; remove agent_memory_enabled gate Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
34b5500 to
5afa227
Compare
…bility Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…#2007) * feat(bot): agent experience memory self-evolve injection Rebase onto upstream/main (commit 6312e1e). Conflicts resolved by keeping upstream namespace-aware logic while preserving our experience memory changes: - loop.py: inject experience memory before write tool calls (write_file, edit_file) - subagent.py: prepend relevant experience memory to subagent task prompt - memory.py: add get_viking_experience_context() for semantic experience search - hooks.py: replace exact skill lookup with semantic experience search - ov_server.py: add search_experiences(); search_memory returns agent_memory=[] - schema.py: add exp_write_tools config; remove agent_memory_enabled gate Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(bot): add [SKILL_EXP] log to skill experience search for observability Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
#2007) (#2014) * docs(bot): document ov_server.api_key_type field (#1994) * docs(bot): document ov_server.api_key_type and exp_write_tools (#1994 + #2007) * docs(bot): tighten api_key_type wording + flag exp_write_tools gate (codex feedback) * docs(bot): tighten api_key_type wording + flag exp_write_tools gate (codex feedback)
Summary
openviking_config.agent_idinstead ofworkspace_id, preventing namespace mismatch whenagent_idis unconfigured inov.confPostCallHookonread_file, experience context is prepended when a skill file is loadedwrite_file/edit_file, the LLM response is rolled back and re-called with experience context; guarded by awrite_exp_injectedflag so it only fires once per messageagent_memory_enabledandexp_write_toolsfields added toOpenVikingConfigImplementation discussed with @huangruiteng.
🤖 Generated with Claude Code