npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

inline-agent

v0.4.1

Published

정크 컨텍스트 제거 — LLM 에이전트를 위한 보이지 않는 정보 정돈 레이어

Readme

inline-agent

The agent requires nothing but a shell.

License: MIT TypeScript PRs Welcome


왜 필요한가

LLM 에이전트는 매 스텝마다 전체 대화 기록을 재전송한다. 한 번 생성된 토큰은 영원히 컨텍스트에 남아 매 API 호출마다 비용을 발생시킨다.

Claude 4 Sonnet 일일 사용량: 100B 토큰
├── 입력 (재독): 99B (99%)
└── 생성:         1B  (1%)

Xiao et al., FSE 2026 · arxiv.org/abs/2509.23586

비용의 99%는 같은 텍스트를 반복해서 읽는 데 쓰인다.

그 안에는 무엇이 있는가

SWE-bench Verified 평균 트레이토리 — 48.4K 토큰, 40스텝:

| 구성 | 토큰 | 비율 | 실상 | |------|------|:----:|------| | tool 결과 (observations) | 30.4K | 63% | 대부분 expired — 다음 스텝에서 무의미 | | tool_call 인자 (actions) | 11.9K | 25% | 결과에 반영된 후 오버헤드 | | assistant 추론 | 1.8K | 4% | — | | system/user | 4.4K | 9% | — |

정크의 세 가지 패턴:

  • Uselessls 결과의 __pycache__/, .git/, .venv/. 처음부터 불필요.
  • Redundant — edit 도구가 old_str을 action·result·이전 파일에 3중 복사.
  • Expired — 29개 통과한 테스트. 원인 파악 후엔 무의미.

핵심 발견: 정크를 빼면 더 잘한다

| 연구 | 방법 | 절감 | 성능 | |------|------|:----:|:----:| | AgentDiet · FSE 2026 | 슬라이딩 윈도우 트레이토리 압축 | 40~60% | ±2%p | | CoACT · 2026 | next-action 보존 observation 압축 | 33% | +3.5%p | | Focus/ACC · 2026 | 점앀모델 영감 자기 압축 (sawtooth) | 22.7% | 동일 | | Simple Masking · NeurIPS WS 2025 | 규칙 기반 마스킹만 | ~LLM 요약 수준 | 동일 | | ACON · ICLR 2026 | 실패 trajectory 기반 가이드라인 학습 | 26~54% | 유지 |

긴 컨텍스트는 LLM 성능을 능동적으로 저하시킨다 (Liu et al. 2023). 정크를 빼면 agent가 더 잘한다.

"Simple Observation Masking Is as Efficient as LLM Summarization" — 규칙 기반 압축이 비싼 LLM 요약과 동일 효과. (Lindenbauer et al., NeurIPS WS 2025)

LLM은 스스로 컨텍스트를 못 줄인다

AgentDiet가 LLM에게 erase 도구를 줬다. "17번 스텝이 불필요하면 지워라."

Claude 4 Sonnet도 지우지 않았다. 그냥 원래 태스크를 계속했다.

Focus/ACC 논문도 같은 결론: passive 프롬프트로는 압축이 2회/태스크에 그쳤고, aggressive 프롬프트로 6회까지 끌어올려야 효과가 났다. LLM은 훈련 데이터에 박힌 절차를 따라가느라 자기 컨텍스트를 정리하지 않는다.

결론: LLM이 모르게 외부에서 정리해야 한다. 이것이 inline-agent가 존재하는 이유다.

작동 방식

최근 N턴      과거 턴
────────       ────────
원본 유지  →   "$ command → 결과 요약" 으로 병합
                  │
                  ├─ 통과한 테스트, 디렉토리 리스팅 → 삭제
                  ├─ 에러, 실패, diff, 변경사항     → 원문 보존
                  └─ 나머지                        → 압축

LLM 호출 없음. 순수 규칙 기반. "Simple Masking" 논문이 증명한 대로, 이것이 LLM 요약만큼 효과적이다.

정보 가치 위계

최고가치 │ 에러 · 실패한 테스트 · 파일 변경        → 절대 보존
고가치   │ 결과 핵심 · 다음 스텝과 직결되는 정보     → 보존
중가치   │ 전체 결과 원문 · action/명령어           → 압축 또는 temp file 분리
최저가치 │ 통과한 테스트 · 디렉토리 리스팅 · 빌드로그 → 삭제

컨텍스트 투명성

에이전트가 API에 보내는 메시지 배열을 SSE로 실시간 브로드캐스트한다. Astro + SolidJS 대시보드에서 토큰 사용량, 압축 이력, 각 메시지를 손실 없이 확인할 수 있다.

inline-agent 컨텍스트 투명성 대시보드

📊 http://localhost:7878
├── 실시간 토큰 사용량 progress bar
├── 압축 발생 이력 (N → M messages)
├── 각 메시지 카드 (role별 색상, COMPRESSED 배지)
└── API에 들어가는 원본 그대로

Retained-mode TUI 설정

채팅 화면에서 /settings를 입력하면 대화를 유지한 채 Provider/API Key/Model, reasoning, raw tool action 수, 출력 안전 상한, 응답당 최대 shell tool call 수를 변경할 수 있다.

Max tool calls per response1–100 범위이며 기본값은 1이다. 이 값은 native tool schema를 바꾸지 않고 최신 user 메시지 바로 앞에 일회성 system 정책으로 삽입된다. 정책은 canonical trajectory에 누적되지 않으며 다음 user turn에서는 이전 정책이 제거된다. 실행 중 설정을 저장하면 이미 전송된 요청은 유지되고 같은 tool loop의 다음 API 요청부터 새 값이 적용된다.

이 제한은 현재 prompt 기반 soft limit이다. 모델이 설정값보다 많은 call을 생성하면 assistant/tool pairing을 보존하기 위해 모두 실행한다. 실제 실행 개수를 강제하는 hard limit은 후속 작업이다. Turn이 바뀔 때 이전 정책 위치 이후의 prefix cache가 최초 요청에서 한 번 무효화될 수 있지만, 같은 turn의 후속 요청은 재사용할 수 있다.

inline-agent TUI 설정 화면

철학

  1. 정크가 LLM을 죽인다 — 토큰이 많을수록 좋은 게 아니다. 정크를 빼면 더 똑똑해진다.
  2. LLM은 정리를 못 한다 — 외부 레이어가 보이지 않게 처리한다.
  3. 고가치 토큰만 남긴다 — 에러, 실패, 변경사항은 보존. 나머지는 압축·삭제.
  4. 방해하지 않는다 — 시스템 프롬프트 0줄. 도구는 최소. 프레임워크는 조용히 한다.

인간의 단기기억과 같다 — 뇌도 능동적으로 잊어버린다. 모든 걸 기억하려 하면 과부하가 온다. inline-agent는 뇌의 망각 시스템을 코드로 구현한 것이다.

References

트레이토리 / observation 압축

  • Xiao et al., "AgentDiet: Improving the Efficiency of LLM Agent Systems through Trajectory Reduction", FSE 2026 — 슬라이딩 윈도우 트레이토리 압축, 40~60% 절감, LLM 자기 정리 불가 증명 · arxiv.org/abs/2509.23586
  • Chen et al., "CoACT: Action-Preserving Observation Compression for Coding Agents", 2026 — NAP 기반 observation 압축, 33% 절감, pass@1 +3.5%p · arxiv.org/abs/2607.02911
  • Verma, "Focus: Active Context Compression", 2026 — 점앀모델 영감 sawtooth 압축, 22.7% 절감 · arxiv.org/abs/2601.07190
  • Lindenbauer et al., "The Complexity Trap: Simple Observation Masking Is as Efficient as LLM Summarization", NeurIPS WS 2025 — 규칙 기반 마스킹 = LLM 요약 효과 · arxiv.org/abs/2508.21433
  • Sun et al., "Scaling Long-Horizon LLM Agent via Context-Folding", 2025 · arxiv.org/abs/2510.11967
  • Kang et al., "ACON: Optimizing Context Compression for Long-horizon LLM Agents", ICLR 2026 — 실패 trajectory 기반 가이드라인 학습 · arxiv.org/abs/2510.00615
  • Ye et al., "AgentFold: Long-Horizon Web Agents with Proactive Context Management", ICLR 2026 · arxiv.org/abs/2510.24699

메모리 / 계층적 관리

인지 / 장기 맥락

프로덕션 참고

  • Pi (earendil-works) — temp file truncation, cut-point compaction, binary sanitization
  • OpenCode (sst) — Retry-After 헤더 파싱, overflow 계산, truncation 힌트
  • Claude Code (Anthropic) — 5단계 캐스케이드 compaction, prompt cache 보존 설계

LLM은 이미 충분히 똑똑하다. 프레임워크가 할 일은 정크를 치우는 것뿐이다.