Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Smarter compaction/compression

オープン
#407 コメント 1 件 リアクション 1 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
静か
技術スタック
clojure

調査の方向性

The issue does not name files or tests; start by locating the context-compaction implementation and how it handles tool results and conversation history. Compare the existing behavior with the proposed head/tail retention, tool pruning, and file summaries, then define and test a focused behavior before considering the broader suggestions.

索引モデルが issue の本文から書いたものです。

説明

To upvote this issue, give it a thumbs up. See this list for the most upvoted issues.

Keep head and tail messages and files touched

Instead of summarizing everything, pi for example has a configurable keepRecentTokens

Pi also will include all files touched in the summary:

  <read-files>
  path/to/file1.ts
  path/to/file2.ts
  </read-files>

  <modified-files>
  path/to/changed.ts
  </modified-files>

If you're familiar with /handoff, this is something it also does.

Hermes agent is similar, but it keeps some tail and head messages and always removes tool call results (any tool result outside the head/tail >200 chars is replaced with a message that the output was cleared). On second compaction, the first summary is also passed with instructions to update it.

Microcompaction and dynamic context pruning

  • Claude Code intelligently microcompacts every turn by, but this will break prompt caching with openai's API (needs anthropic's cache_edits)
  • dynamic context pruning - different implementations that call themselves DCP do different things, but here are some of the main things that differ from normal compaction:
    • removing errored tool inputs (but not the error message)
    • removing deduplicated tools (only keep most recent when multiple have same args)
    • compressing specific ranges instead of everything with a tool
    • protects recent turns from any proving
  • Everything from opencode DCP, for example, breaks prompt caching so it would also only make sense to use when the context window was near full

Simplest changes

  • some configurable head/tail saving
  • some configurable tool call pruning
  • including read/edited files in the summary
  • Maybe take some inspiration from hermes' prompt and iterative recompression

full hermes docs on compression

主要言語
Clojure
スター
1k
フォーク
82
平均マージ
3日 39分
マージ済み PR(30日)
15

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

editor-code-assistant/eca のほかの issue

editor-code-assistant/eca の issue をすべて見る

似ている issue

Clojure の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。