FerroxLabs/ijfw
요약
IJFW는 다양한 AI 코딩 도구 간에 컨텍스트를 공유하고 유지하는 로컬 운영 레이어입니다. 세션 간 메모리 보존, 계획 수립, 작업 검증 기능을 통해 AI 코딩의 환각을 방지하고 효율성을 극대화합니다.
핵심 포인트
- 도구 간 공유 메모리를 통해 Claude Code와 Cursor 등 간 컨텍스트 유지
- 마크다운 기반의 로컬 저장소로 데이터 소유권 및 보안 보장
- 계획-실행-검증으로 이어지는 워크플로우로 범위 드리프트 방지
- LongMemEval 벤치마크에서 높은 회상 능력 입증
IJFW는 당신이 사용하는 모든 AI 코딩 도구를 위한 하나의 공유된 브레인(shared brain)이자 완전한 운영 레이어(operating layer)입니다. 한 번만 설치하면 도구들이 세션 간에 정보를 기억하고, 빌드하기 전에 계획을 세우며, 환각 (hallucinations)을 방지하기 위해 서로의 작업을 검증하고, 작업에 적합한 전문가를 불러오며, 조용히 토큰 비용을 절감합니다. 이 모든 것이 당신의 로컬 머신에서, 당신의 소유로 이루어집니다.
npm install -g @ijfw/install && ijfw-install
당신이 월요일에 Claude Code에게 말한 내용을, 수요일에는 Cursor가 알고 있었습니다. 그것이 바로 엔진 중 하나입니다.
증거: 현장의 개방적이고 정직한 재실행 결과, LongMemEval에서 메모리 기능이 없는 경우보다 +55포인트 높은 점수를 기록했습니다. 무언가가 발생했을 때를 회상하는 능력에서 Mem0, Letta, Zep은 0.000점을 기록했습니다. 반면 IJFW는 0.676점을 기록했습니다. 벤치마크, 방법론, 그리고 우리가 패배한 지점을 확인하세요 →
단 한 번의 설치로 하나의 공유된 브레인과 이를 둘러싼 완전한 엔진룸을 갖추게 됩니다. 헤드라인과 불렛 포인트를 훑어보세요. 더 깊이 알고 싶다면 각 엔진을 클릭하세요.
당신의 AI가 더 이상 잊어버리지 않습니다. 결정 사항, 컨텍스트(context), 그리고 그 결정의 근거인 '이유(why)'가 세션과 도구를 가로질러 유지되며, IJFW는 스스로 저장소를 깨끗하게 관리합니다.
- 당신의 결정, 프로젝트 상태, 관찰 사항은
.ijfw/memory/아래에 일반 마크다운(markdown) 형식으로 유지되므로, 컨텍스트가 증발하지 않고 세션 간에 보존됩니다. - 회상(Recall)은 최신성 감쇠(recency decay)가 적용된 키워드 매칭 순위로 정렬되므로, "우리가 마지막으로 무엇을 결정했지?"라고 물으면 무작위의 오래된 정보가 아닌 가장 최근의 결정을 반환합니다.
- 드림 사이클(dream cycle)은 검증된 패턴을 장려하고, 모순되는 내용을 대체하며, 오래된 노트를 정리하여, 메모리가 쓰레기통이 되는 대신 시간이 지날수록 더 날카로워지도록 합니다.
- 이중 시간적 사실(Bi-temporal facts)은 유효 기간을 포함하므로, 단순히 현재 무엇이 사실인지뿐만 아니라 과거의 특정 시점에 무엇이 사실이었는지 물을 수 있습니다.
- 연결된 모든 에이전트(agent)가 동일한 메모리를 읽으므로, 한 도구에서 기록된 결정은 다른 도구에서도 회상할 수 있습니다.
- 패턴은 두 세션에 걸쳐 세 번의 참조가 이루어진 후에야 지속적인 지식으로 승격되므로, 회상은 일시적인 언급이 아닌 확정된 사실을 반영합니다.
세션 도중 AI 코딩이 무너지는 것을 방지하는 중추입니다. 빌드하기 전에 계획을 세우고, 모든 단계를 당신의 승인(sign-off) 후에 진행하도록 제어합니다.
- 브레인스토밍(brainstorm), 계획(plan), 실행(execute), 검증(verify), 배포(ship)로 이어지는 중추(spine)는 단 한 줄의 코드가 작성되기 전에 계획이 존재하고 승인(sign-off)되도록 만들어, 범위 드리프트(scope drift)를 조기에 차단합니다.
- 퀵 모드(Quick mode)는 몇 분 안에 5단계를 실행하며, 딥 모드(Deep mode)는 출시를 위해 6개 모듈을 실행하므로, 절차(ceremony)가 상황의 중요도(stakes)에 맞게 조정됩니다.
- 페이즈 게이트(Phase gates)는 자동 진행 기능이 없는 사용자 대상 체크리스트이므로, EXECUTE(실행) 단계가 당신의 승인 없이 VERIFY(검증) 단계로 넘어가는 일이 발생하지 않습니다.
- SHAPE 단계는 세 가지 접근 방식을 제안하므로, 빈 페이지에서 시작하는 대신 대응할 수 있는 옵션들을 가지고 시작하게 됩니다.
- CONVERGE는 각 웨이브(wave)가 병렬인지 순차적인지를 표시하는 명시적인 웨이브 테이블(Wave Table)을 생성하므로, 에이전트 파견(agent dispatch)이 산문(prose)으로부터 재추론되는 것이 아니라 결정론적(deterministic)으로 이루어집니다.
- 모든 아티팩트(artifact)는 디스크에 저장되기 전에 채팅에서 요약되므로, 브리프(brief), 계획, 웨이브가 작성되기 전에 미리 승인할 수 있습니다.
하나의 모델은 자신 있게 버그를 배포할 수 있습니다. 따라서 온디맨드(on demand)로, 세 개의 서로 다른 연구소(labs)에서 나온 세 개의 모델이 당신의 리포지토리(repo)에 도달하기 전, 동일한 작업에 대해 병렬로 레드팀(red-team) 활동을 수행합니다.
- 크로스 오딧(Cross-audit)은 두 번째와 세 번째 학습 계보(training lineage)를 동일한 디프(diff)에 병렬로 배치하여, 한 모델의 자신만만한 사각지대가 도전받지 않은 채 운영 환경(production)에 도달하는 것을 방지합니다.
- IJFW는 호출한 모델의 지문(fingerprint)을 식별하여 제외한 뒤, 서로 다른 계보에서 리뷰어를 선정하므로, 단일 모델이 그냥 지나칠 수 있는 오류를 패널이 잡아냅니다.
- 결과(Findings)는 합의(consensus) 또는 논쟁(contested) 태그가 붙어 반환되므로, 어떤 것을 실제 상황으로 취급하고 어떤 것을 직접 판단해야 할지 즉시 알 수 있습니다.
- 이는 VERIFY(검증) 이후와 SHIP(배포) 이전의 한 단계로서 자동으로 실행되므로, 환각(hallucination)된 변경 사항이 배포된 후가 아니라 배포되기 전에 제2의 의견을 받게 됩니다.
- 모든 실행은 소요 시간, 토큰(tokens), 결과(finding) 횟수가 포함된 영수증을 첨부하므로, 정밀 조사(scrutiny)를 단순히 믿어야 하는 주장이 아닌 감사 가능한(auditable) 형태로 제공합니다.
- 이 방식은 세 모델이 잘못된 사전 지식(prior)을 공유할 수 있음을 인정하므로, 합의된 결과는 강력한 증거로, 논쟁적인 결과는 스스로 생각해보라는 프롬프트(prompt)로 읽어야 합니다.
34개의 기술과 작업이 필요할 때만 나타났다가 당신의 컨텍스트(context)에서 물러나는 전문 에이전트 명단이 준비되어 있습니다.
- 단 54줄의 핵심 기술(core skill)만이 상주하며, 나머지는 일치하는 트리거(trigger)에 따라 로드되고 작업이 완료되면 언로드(unload)되어 컨텍스트 윈도우(context window)를 가볍게 유지합니다.
- 트리거는 자연어("이 기능을 계획해줘", "이것을 교차 감사해줘") 방식이므로, 명령어를 암기할 필요 없이 의도(intent)만으로 기능을 호출할 수 있습니다.
ijfw team은 당신이 무엇을 만들고 있는지 읽고, 그에 맞춤화된 벤치(architect, security, QA, 또는 world-builder)를 작성하므로, 에이전트 명단이 실제 프로젝트에 적합하게 구성됩니다. - 각 에이전트는 그 범위(scope)에 맞춰진 모델에서 실행됩니다(읽기 작업에는 저렴한 모델, 아키텍처에는 강력한 모델). 따라서 사소한 작업에 과도한 비용을 지불하지 않습니다.
- IJFW는 설계 또는 테스트 단계를 이미 설치된 전용 기술(skill)에 위임하므로, 당신이 비용을 지불한 도구가 가장 강력한 성능을 발휘할 수 있는 곳에서 사용됩니다.
- 생성된 에이전트들은 작업이 자신의 역할과 일치할 때 자동으로 배정되므로, 당신이 수동으로 경로를 지정하지 않아도 적절한 전문가가 나타납니다.
매 턴마다 6개의 독립적인 비용 레버(cost levers)가 복합적으로 작용하여, 비용은 줄어들면서 품질은 올라갑니다.
- 턴당 6개의 레버(캐시(cache), 라우팅(routing), 출력 규율(output discipline), 핫로드(hot-load), 샌드박스(sandbox), 회상(recall))가 복합적으로 작용하므로, 절감액은 영리한 프롬프트가 아닌 아키텍처에서 나옵니다.
- 스마트 라우팅(Smart routing)은 읽기 작업은 저렴한 모델로, 아키텍처 작업은 강력한 모델로 보내므로 사소한 작업에 프리미엄 요금을 지불하는 일을 멈추게 합니다.
- 대규모 명령 출력(빌드, 테스트 스위트, 로그 테일)은 디스크로 스트리밍되고 간결한 요약본만 반환되므로, 컨텍스트가 범람하는 일이 절대 없습니다.
- 안정적인 규칙 파일(rules-file) 접두사가 캐시되므로, 매 턴 다시 보내는 컨텍스트는 전체 읽기 가격 대신 일반 입력 가격의 약 10분의 1 수준으로 읽힙니다.
- 단 한 번의 메모리 서곡(memory prelude) 호출이, 콜드 세션(cold session)에서 발생할 수 있는 10~20개의 도구 grep 연쇄 호출을 대체합니다.
- 각 턴은 토큰을 절약한 한 줄짜리 영수증으로 종료되므로, 절감액은 마케팅 수치가 아니라 당신이 확인할 수 있는 로그 기록으로 남습니다.
모든 AI 도구에 걸쳐 작동하는 실시간 로컬 대시보드를 제공하며, 모든 숫자가 당신의 로그를 추적하는 달러 절감 장부를 확인할 수 있습니다.
- 로컬 대시보드는 Claude, Codex, Gemini 전반에 걸친 모든 도구 호출(tool call)을 하나의 타임라인에 보여주므로, 각 세션이 실제로 무엇을 건드렸는지 확인할 수 있습니다.
- 캐시 절감액(cache-savings) 수치는 모델링된 것이 아니라 측정된 것입니다. Anthropic이 공지한 90% 캐시 할인율을 적용하여 실제 캐시 읽기 토큰(cache-read tokens)의 가격을 산정하므로, 귀하의 Claude 로그와 직접적으로 연결됩니다.
- 절감액은 방어 가능한 항목만 계산합니다: 측정된 캐시 읽기, 첫 번째 회상 메모리 히트(first-recall memory hits), 그리고 교차 감사(cross-audit)를 통해 배포 전 발견된 HIGH 항목들을 각각 보수적으로 5달러로 계산하며, IJFW가 없었을 때의 지출을 가정하는 임의의 "multiplier"는 사용하지 않습니다.
- 전체 파이프라인은 도구 호출당 하나의 JSON 라인과 의존성이 없는(zero-dependency) 로컬 페이지로 구성되어 있어, 원시 이벤트(raw events)를 직접 검사할 수 있습니다.
- 서버는 localhost에만 바인딩되며 외부 요청에는 403을 반환하므로, 세션 데이터는 귀하의 기기에 그대로 유지됩니다.
- 비용 데이터가 없는 타일은 꾸며진 0을 보여주는 대신 명확하게 데이터가 없음을 표시하므로, "데이터 없음"을 "절감액 없음"으로 오해하는 일이 없습니다.
출력을 한 번 다시 작성하면 IJFW가 차이점(diff)을 감지하고, 이후 모든 도구에서 해당 실수를 반복하지 않도록 합니다. IJFW는 귀하의 편집 내용을 통해 학습하며, 귀하의 개인 데이터는 절대 학습하지 않습니다.
- 수정 루프(correction loop)는 AI가 제안한 내용과 귀하가 실제로 배포한 내용 사이의 간극을 추적하므로, 소음이 섞인 복사-붙여넣기가 아닌 귀하의 의도적인 편집을 통해 학습합니다.
- 어떠한 내용도 그 뒤에 축자적(verbatim) 증거 구간이 뒷받침되지 않으면 프로필에 입력되지 않으므로, 시스템은 귀하에 대해 잘못 추측하기보다 차라리 학습을 덜 하는 방식을 택합니다.
- 선호도는 별도의 세션에서 상호 확인될 때까지 확정되지 않으므로, 일회성 편집이 영구적인 규칙으로 굳어지지 않습니다.
- 목표는 좁고 반증 가능하며(falsifiable), 귀하가 동일한 수정을 반복하는 것을 방지하는 것이므로, 성공 여부는 실제로 관찰할 수 있는 것이 됩니다.
- 한 에이전트에서 캡처된 수정 사항은 다른 모든 에이전트가 읽는 프로필에 반영되므로, 선호도를 한 번만 가르치면 됩니다.
ijfw personalize off는 즉각적인 킬 스위치(kill-switch)이며,forget은 하드 리셋(hard reset)입니다. 따라서 프로필이 프롬프트에 포함될지 여부는 귀하가 결정합니다.
DESIGN.md를 작성하세요.
귀하의 프로젝트 내에서 모든 에이전트가 동일한 색상, 타입, 규칙을 기반으로 빌드합니다. "보기 좋게 만들어줘"와 같은 모호한 지시나 도구 간의 스타일 불일치(cross-tool drift)는 없습니다.
- 프로젝트 루트에 위치한 단 하나의
DESIGN.md가 팔레트, 타입, 컴포넌트 규칙을 보유하므로, 모든 에이전트가 동일한 단일 진실 공급원(source of truth)으로부터 빌드합니다. - 구체적인 색상 값과 실제 타입 스케일(type scale)이 "깔끔한"과 같은 형용사를 대체하므로, 파일을 읽는 두 명의 서로 다른 에이전트가 동일한 선택을 내립니다. - 피커(picker)를 통해 참조된 브랜드, 12가지의 확고한 템플릿, 또는 백지 상태의 브레인스토밍을 제공하므로, 직접 작성하지 않고도 9개 섹션으로 구성된 완전한 계약(contract)을 얻을 수 있습니다.
- 동일한 카탈로그가 풀 스킬(full-skill), MCP, 규칙 전용(rules-only) 도구에 모두 도달하므로, 파일을 작성한 플랫폼은 이후에 중요하지 않게 됩니다.
- 잠긴 계약(locked contract)은 UI 전문가 스킬이 설치되어 있다면 해당 스킬로 전달되므로, 렌더링은 귀하의 규칙이 미리 로드된 상태에서 시작됩니다.
- 나중에 추가되는 모든 화면은 계약을 자동으로 상속받으므로, 다시 프롬프트를 입력할 필요 없이 세션 전반에 걸쳐 브랜드 일관성이 유지됩니다.
단 한 번의 설치로 귀하의 머신에 이미 있는 모든 AI 도구를 구성하고 나머지를 사전 준비하며, 각 도구가 지원하는 가장 풍부한 메커니즘을 통해 서로 연결합니다.
- 단 한 번의 설치로 각 도구 고유의 설정 스키마(config schema)를 사용하는 16개의 AI 코딩 에이전트에 도달하므로, 별도의 연결 작업이나 앱별 코드를 작성할 필요가 없습니다.
- 도구는 자신이 지원하는 가장 풍부한 메커니즘(전체 플러그인, MCP 또는 규칙 파일)을 통해 연결되므로, IJFW는 각 도구가 실제로 처한 환경에 맞춰 작동합니다.
- MCP 지원이 가능한 모든 도구는 동일한 메모리 서버와 통신하므로, 한 에이전트가 저장한 결정은 다른 모든 에이전트가 읽을 수 있습니다.
- 기존의 MCP 엔트리, 모델 선호도 및 신뢰 설정이 보존되며, 편집된 모든 설정은 먼저 백업되므로 귀하가 설정한 것이 깨지지 않습니다.
- IJFW는 주입(inject)이 확인된 클라이언트만 목록에 표시하므로, 표에 유령 "지원됨(supported)" 배지가 나타나지 않습니다.
- 규칙 전용 도구가 나중에 MCP 클라이언트를 갖게 되면 해당 엔트리가 자동으로 승격되므로, 도구를 전환하더라도 지식(brain)이 함께 따라옵니다.
100% 로컬 방식입니다. 계정, 서버, 전화 홈(phone-home)이 없으며, MIT 라이선스를 따릅니다. 사용자는 시스템이 보유한 모든 바이트를 읽고, 감사(audit)하거나 삭제할 수 있습니다.
- 사용자의 메모리와 프로필은 계정이나 원격 동기화 없이 디스크에 일반 텍스트(plain text)로 저장되므로, 수동으로 직접 읽거나, 차이점(diff)을 비교하거나, 삭제할 수 있습니다.
- 캡처(Capture)와 공개(disclosure)는 별도의 동의 사항이며, 사용자가 옵트인(opt in)하기 전까지 주입(injection)은 비활성화되어 있으므로, 로컬 학습이 자동으로 정보 유출을 의미하지는 않습니다.
- 클라우드 호스트로의 모든 공개 사항은 로컬 송출 로그(egress log)에 추가되므로, 어떤 에이전트가 사용자에 대해 무엇을 보았는지 정확하게 파악할 수 있습니다.
forget 명령어는 추론(inferences)을 삭제하고 이를 참조했던 송출 항목들을 제거하므로, 삭제된 사실은 감사 추적(audit trail)을 통해서도 되살릴 수 없습니다.
- 강력한 킬 스위치(
IJFW_PROFILE_KILL)는 항상 다른 모든 설정을 우선하므로, 모든 영역에서 사용할 수 있는 하나의 패닉 버튼을 제공합니다. - 삭제(Uninstall) 시 모든 파일을 백업하고 IJFW 자체의 마커 영역만 제거하며, 기본적으로 사용자의 메모리를 보존하므로 데이터가 인질로 잡히는 일은 없습니다.
npm install -g @ijfw/install && ijfw-install
Windows (PowerShell 5.1 또는 7+):
iwr https://raw.githubusercontent.com/FerroxLabs/ijfw/main/installer/src/install.ps1 -OutFile install.ps1; . rain.ps1
사전 요구 사항: Node 18+, Git, 그리고 bash 셸 (Git for Windows에 포함되어 있으며, WSL은 필요하지 않습니다).
그 후, 스택 내의 어떤 AI 도구에서든 다음과 같이 사용할 수 있습니다:
| 명령 | 발생하는 일 |
|---|---|
recall my project | AI를 결정 사항, 상태, 그 이면의 이유를 포함한 전체 컨텍스트(context)로 즉시 복구합니다. |
cross-audit this file | 서로 다른 연구소의 AI 3개가 병렬로 파일을 검토하며, 결과는 합의(consensus) 또는 논쟁(contested) 태그가 붙습니다. |
plan this feature | 현재 대화에서 파생된 워크플로(브리프, 계획, 게이트)를 엽니다. |
ijfw dashboard start | 브라우저에서 실시간 비용 및 세션 대시보드를 엽니다. |
ijfw guide | 브라우저에서 전체 가이드를 열며, 90초 안에 첫 성과를 낼 수 있습니다. |
통합되는 16가지 도구
전용 코딩 에이전트 (Dedicated coding agents): Claude Code, Codex CLI, Gemini CLI, Cursor, Windsurf, GitHub Copilot, Aider, Cline, OpenCode, Qwen Code, Kimi CLI, Wayland, Antigravity
코딩 능력이 뛰어난 범용 에이전트 (General agents with strong coding): OpenClaw, Hermes, Pi
이 목록에 있는 어떤 도구도 서로 메모리를 공유하지 않습니다. IJFW는 이 모든 도구에 걸쳐 당신에게 하나의 두뇌를 제공하는 레이어 (layer)입니다. 플랫폼 및 연결 방식 →
SaaS가 아닙니다. 계정도, 로그인할 대시보드도, 구독도, 속도 제한 (rate limits)도 없습니다.
래퍼 (wrapper)가 아닙니다. 당신의 AI 트래픽을 프록시 (proxy)하지 않습니다. cross-audit이 실행될 때, 그것은 당신의 CLI 또는 당신의 API 키를 통해 작동합니다.
프레임워크 (framework)가 아닙니다. 이를 위해 코드를 작성할 필요가 없습니다. 한 번 설치하면 몇 주 동안 잊고 있다가, "내 프로젝트를 회상해줘 (recall my project)"라고 말하는 것만으로 다시 컨텍스트 (context)로 복귀할 수 있습니다.
종속 (lock-in)이 없습니다. 당신의 메모리는 리포지토리 (repo) 내의 마크다운 (markdown)이며, 영수증은 디스크 상의 JSON입니다. 언제든 떠날 수 있으며, 당신의 데이터도 함께 이동합니다.
마법이 아닙니다. 결정론적인 (Deterministic) bash, Node, 그리고 순수 마크다운입니다. 모든 바이트를 검사하세요. 포크 (Fork)하세요. 다음 달 릴리스와 차이점 (diff)을 비교하세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기