TL;DR
Fireweed는 모델이 장기 메모리의 사실을 직접 결정하지 않고 claim과 정확한 evidence만 제안하게 한 뒤, 결정론적 코드가 근거 초과 여부를 판정하는 MCP 서버입니다. 승인된 사실에는 원문 byte range와 SHA-256 receipt를 붙이고, 원문 변경 시 재검사에 실패하며, 근거 없는 질의에는 unknown_predicate로 abstain하고 subject 단위 삭제에는 서명된 erasure certificate를 반환합니다. 출시 전 테스트에서 ADMITTED 뒤 저장이 누락되는 결함과 동사 인식 오류를 수정했지만, 410개 질문 세트의 recall 거부율은 기본 설치 약 37%, 선택적 semantic encoder 약 25%로 남아 있습니다. 의존성·API key·cloud·model·GPU가 없는 local-first 구조와 FSL-1.1-ALv2 라이선스도 함께 공개됐습니다.
실용적 조언
- Fireweed를 사용할 때는 모델이 생성한 요약을 그대로 저장하지 말고 claim과 정확한 evidence를 함께 제출하는 write path를 유지해야 합니다. receipt의 byte range와 문서 SHA-256을 재검사해 원문 변경 뒤에도 사실의 근거가 유효한지 확인하는 절차가 필요합니다. recall을 평가할 때는 410개 질문 세트처럼 답이 store에 있는 질의를 별도로 구성하고 기본 설치와 semantic encoder의 거부율을 분리해 측정해야 합니다.
- 설치 전후에는 실제 PyPI 패키지를 클라이언트처럼 stdio로 구동하는 검증이 필요합니다. malformed JSON-RPC, 큰 payload, path traversal, null bytes, 손상된 store 파일, 동시 writer를 포함한 입력을 넣어 성공 응답과 실제 저장 결과가 일치하는지 확인해야 합니다. 특히 ADMITTED가 반환됐지만 아무것도 저장되지 않았던 결함처럼 응답 상태와 저장소 상태를 함께 검사해야 합니다.
섹션별 상세
용어 해설
- 주장 승인(Claim Admission)
- — 모델이 제안한 사실 주장을 원문 근거와 대조해 장기 메모리에 기록할지 결정하는 절차입니다. 주장보다 근거가 약하면 거부하고, 근거와 일치하면 출처 정보와 함께 저장해 생성 모델의 해석이 사실로 굳어지는 문제를 줄입니다.
- 근거 영수증(Grounding Receipt)
- — 저장된 사실이 원문 어느 위치에서 나왔는지 추적하는 기록입니다. Fireweed는 인용된 텍스트의 byte range와 문서 SHA-256을 함께 보관해 나중에 원문 변경 여부를 재검사하고 사실의 출처를 감사할 수 있게 합니다.
- 모델 제안·코드 결정(Model Proposes, Code Decides)
- — 언어 모델이 메모리 기록을 직접 확정하지 않고 주장과 인용문만 제출하며, 결정론적 코드가 입수 여부를 판정하는 설계 원칙입니다. 프롬프트나 추가 추론에 의존하지 않아 모델의 환각이 장기 기록을 직접 오염시키는 경로를 차단합니다.
- 의미 인코더(Semantic Encoder)
- — 문장이나 질의를 의미를 반영하는 벡터로 바꿔 표면적인 단어 일치가 없어도 관련 메모리를 찾도록 돕는 구성 요소입니다. 이 글에서는 선택 기능으로 제공되며 410개 질문 세트에서 기본 설치보다 거부율을 낮췄지만, 여전히 모든 답을 회수하지는 못했습니다.
- MCP 서버(MCP Server)
- — 클라이언트가 표준화된 방식으로 외부 도구와 데이터 기능을 호출하도록 연결하는 서버입니다. Fireweed는 stdio를 통해 동작해 Claude Desktop, Code, Cline, Continue 또는 자체 클라이언트에 명령으로 연결할 수 있습니다.
코드 예제
remember(claim="Priya joined Acme in 2019 under duress.",
evidence="Priya Raman joined Acme in 2019 as a logistics analyst.")
REFUSED (asserts_more_than_evidence) — the claim adds something the evidence does not say.
claim : Priya joined Acme in 2019 under duress.
evidence: Priya Raman joined Acme in 2019 as a logistics analyst.주장이 인용된 근거보다 더 많은 내용을 추가하면 결정론적 기록 경로가 typed reason과 함께 저장을 거부하는 예시입니다.
ADMITTED — Dana Kim has a cat named Pepper.
grounding : grounded_verbatim
receipt : bytes [0:71] of sha256:b410428a2b58…근거와 일치한 사실을 원문 바이트 범위와 문서 해시를 포함한 영수증과 함께 저장하는 결과입니다.
> What is Dana Kim's salary?
ABSTAINED (unknown_predicate) — no claims ground "salary"; 2 claims about Dana Kim exist,
grounding: named, pepper, cat, plays, weekends, basketball
Next: ask about one of: named, pepper, cat, plays, weekends — or commit a claim grounding "salary".저장된 주장에 없는 술어를 질의하면 답을 만들어내지 않고 unknown_predicate 사유와 확인 가능한 술어 목록을 반환하는 예시입니다.
claude mcp add fireweed -- uvx fireweed-mcpFireweed MCP 서버를 Claude 클라이언트에 stdio 방식으로 등록하는 명령입니다.
remember("Ada Lovelace wrote the first algorithm")작성자가 출시 전 설치된 패키지를 실제 클라이언트처럼 호출해, 성공 응답 뒤 사실이 저장되지 않는 결함을 발견한 회귀 테스트 사례입니다.
언급된 도구
claim admission, 근거 receipt, subject 단위 삭제, abstention을 제공하는 local-first MCP 서버입니다.
Fireweed MCP 서버를 연결할 수 있는 클라이언트입니다.
Fireweed MCP 서버를 연결할 수 있는 클라이언트입니다.
Fireweed MCP 서버를 연결할 수 있는 클라이언트입니다.
Fireweed MCP 서버를 연결할 수 있는 클라이언트입니다.
출시된 패키지를 설치하고 실제 클라이언트 방식으로 검증한 배포 경로입니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.