Skip to content

feat(memory): 사용자의 지시는 메모리에, assignment 태그 노트로 (4.99.0) - #171

Merged
CocoRoF merged 1 commit into
mainfrom
feat/assignment-memory
Oct 23, 2026
Merged

CocoRoF merged 1 commit into
mainfrom
feat/assignment-memory

Conversation

@CocoRoF

@CocoRoF CocoRoF commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

무엇을 바꿨나

사용자의 지시와 사용자가 중요하다고 말한 것은 메모리 안에서만 관리한다. 4.98.0 은 별도 TASK 층(저장 계약·표·Task 도구·판·호스트 기록)을 만들었다. 이 판은 그 층을 모두 걷어내고, 메모리 노트 하나(assignment 태그)로 바꾼다.

  • 모델이 필요할 때 스스로 남긴다: 메모리 지침에 한 단락을 더했다. 사용자가 일을 맡기거나, 지시를 하거나, 중요하다고 말하면 assignment 태그 노트로 남긴다. 사용자의 말 그대로와 정한 조건, 해 준 것을 담고, 일이 바뀌면 그 노트를 고쳐 쓰고, 끝나면 done 태그를 단다. 쓰기 도구가 없는 대화(읽기 전용·CLI 자동)에는 이 문구가 붙지 않는다.
  • 메모리는 매 턴 되살린다: 열린 assignment 노트를 검색과 무관하게 매 턴 # Assignments 절에 싣는다. 몫은 기억 주입 예산의 40%다. 맞지 않으면 노트 이름과 함께 잘렸다고 적고, 못 실은 노트는 이름으로 적는다. 같은 노트는 검색 층에 다시 싣지 않는다.
  • memory_write(filename=...): 그 노트를 고쳐 쓴다.
  • 걷어낸 것: memory.tasks, Task·TaskRecall, TASK 판, 턴 끝 TASK 기록, 압축 요약의 TASK 보관, 실행 카드 task_id, provider tasks(). 이벤트 context.task_board 는 은퇴시키고, memory.assignments_loaded 를 더했다(카탈로그 v20).

확인

  • tests/unit/test_assignment_memory.py 7개: "계속" 에도 실린다, done·dropped 는 빠진다, 검색이 같은 노트를 다시 싣지 않는다(태그를 빼면 검색이 찾는 것으로 시험이 유효함을 확인), 잘림 표식, filename 고쳐 쓰기, 쓰기 도구 없는 지침에는 쓰라는 말이 없다, build_pipeline 요청에 실린다.
  • 전체 6,234 passed, 18 skipped. ruff, format, mypy(core·llm_client), gen_event_docs --check 통과.

🤖 Generated with Claude Code

…tes (4.99.0)

The user's instructions, and what the user says matters, are kept in memory and
nowhere else. 4.98.0 built a separate TASK layer (store contract, tables, Task
tools, a board, host recording); this removes it and keeps one memory note:

- The model keeps them itself when they matter: the memory guidance (only where the
  write tools are) asks it to save the work the user gives, the instructions to
  keep and what the user says matters as a note tagged `assignment`, in the user's
  words with the conditions and what was delivered, to rewrite that note as the
  work changes and to tag it `done` when finished or called off.
- Memory brings them back every turn: open assignment notes are loaded whatever
  the message says (search is keyed on the message, and "continue" finds nothing),
  shown in their own `# Assignments` section, 40% of the memory budget, cut with
  markers naming the note, left-out notes listed by name, never repeated by search.
- memory_write takes `filename` to rewrite that very note.
- Pinned facts cut to fit say so and where to read them.
- Removed: memory.tasks, Task/TaskRecall, the task board, turn-end task recording,
  the checkpoint-on-task, task_id on execution cards, provider tasks(). Event
  context.task_board retired; + memory.assignments_loaded (catalogue v20).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@CocoRoF
CocoRoF merged commit 3424816 into main Oct 23, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant