Repository navigation
feat(memory): assignment 노트는 필요할 때 찾는다, 매 턴 싣지 않는다 (4.100.0) - #172
Merged
Merged
Conversation
…very turn (4.100.0) 4.99.0 loaded the open assignment notes into every turn. The conversation in progress is already in the context as it happened (the short-term window), so its instructions came twice, a note written earlier could lag behind what was just said, and other conversations' open work rode along in unrelated turns with "follow them". The scenario is "the edit we did before, change one thing", answered through memory: - assignment notes are found by the turn's memory search and by the agent (memory_search, memory_list(tag="assignment")); - memory_write stamps the conversation a note was written in (frontmatter written_in), keeping earlier ones and other frontmatter on rewrite; memory_read shows it; - ConversationHistory(conversation=<id>) reads another conversation of this user's word for word when the host opens it (provider.session_stm). - The guidance says to keep what was done (files, places, results) in the note and to look earlier work up in memory before acting. - Removed: the per-turn Assignments section and retriever layer; event memory.assignments_loaded retired (catalogue v21). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…nership query) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
무엇을 바꿨나
assignment 노트는 필요할 때 찾는다. 매 턴 싣지 않는다.
4.99.0 은 열린 assignment 노트를 매 턴 프롬프트에 실었다. 진행 중인 대화는 단기 기억 창에 원문으로 이미 있으므로, 같은 지시가 두 번 들어가고, 먼저 써 둔 노트는 방금 한 말보다 뒤처질 수 있다. 다른 대화의 열린 일도 상관없는 턴마다 "따르라" 는 말과 함께 들어갔다.
목표 장면은 나중에 사용자가 "예전에 했던 그 편집에서 하나 고치고 싶어" 라고 할 때, 메모리로 그 일을 찾아 이어 가는 것이다.
memory_search·memory_list(tag="assignment")로 찾기도 한다.memory_write가 노트를 쓴 대화를 frontmatterwritten_in에 적는다. 모델이 아니라 메모리가 적고,memory_read가 보여 준다.ConversationHistory(conversation=<id>)가 그 사용자의 다른 대화를 원문으로 읽는다. 열 수 있는지는 호스트(provider.session_stm)가 정한다.메모리 지침: 노트에는 사용자의 말·조건과 한 일(파일·자리·결과)을 남긴다. 사용자가 예전 일을 가리키면, 행동하기 전에 메모리에서 찾고 노트와 그 대화를 읽는다.
확인
tests/unit/test_assignment_memory.py6개:written_in이 찍히고, 고쳐 써도 남는다.gen_event_docs통과.🤖 Generated with Claude Code