weidu12123/Liyuan
TypeScript0 / 0
AI Agent 기반 로컬 웹 애플리케이션 (Node.js · React)
TL;DR
Liyuan은 AI agent를 주체로 삼아 기억·결정·패널·세계선(저장·회귀)을 통합한 로컬 웹 애플리케이션으로, Node.js ≥ 22와 OpenAI 호환 API 키로 즉시 구동할 수 있습니다. harness 기반의 입력 필터링으로 라운드당 컨텍스트를 53%–63% 절감해 동일 윈도우에서 더 긴 서사를 유지할 수 있으며, agent가 사용자에게 결정 카드를 제시해 분기를 명시적으로 기록하는 워크플로를 지원합니다. 라이선스는 PolyForm Noncommercial 1.0.0으로 개인·비상업적 사용에만 자유롭고 상업적 이용은 별도 협의가 필요합니다.
핵심 포인트
- 컨텍스트 한계가 RP 품질을 갉아먹는 문제에 대응하려고 고안된 메모리 최적화 구조를 채택하고 있습니다. 입력 측의 harness가 과정성 내용(중간 연산·로깅 등)을 필터링하고, 각 라운드에서 보존할 서사 본문과 스냅샷만을 모델에 전달하는 방식으로 동작합니다. README에서는 이 접근으로 라운드당 컨텍스트를 53%–63% 절감해 같은 윈도우에서 유효한 서사 용량을 배가시킨다고 보고합니다.
- agent가 핵심 분기에서 사용자에게 직접 선택지를 제시하는 결정 카드 패턴을 적용해 사용자가 줄거리 방향을 실시간으로 결정할 수 있게 설계되어 있습니다. agent는 중요한 전개(새 인물 정형화, 돌이킬 수 없는 전환 등) 앞에서 자동으로 선택 카드를 팝업하고, 사용자는 미리 제시된 방향이나 자유 입력을 통해 결정을 내리며 그 기록은 영구 추적됩니다. 이 흐름은 무작위로 재생성하며 만족을 기대하는 기존 RP 방식에서 벗어나 사용자가 서사 분기를 의도적으로 통제하도록 만듭니다.
- agent 스스로 대시보드·장비창·SVG 지도 같은 인터랙티브 패널을 생성하고 업데이트하도록 하여 시각적·데이터적 상태를 상태창과 분리해서 보관하는 워크플로를 제공합니다. 업로드한 파일과 이미지 등은 서버의 파일 경로로 보관하고 메시지에는 경로만 붙여 컨텍스트 오염을 줄이며, 이후 드래그·전송으로 사용자에게 해당 자원을 보여줄 수 있게 구현되어 있습니다. 이 방식은 미디어·자원에 의한 컨텍스트 폭주를 억제하면서도 에이전트가 파일을 활용해 판을 확장하도록 합니다.
- 저장·회귀·분기 관리 기능(세계선)은 전체 세계 상태(본문, 상태 장부, 패널, 장비, 지식베이스)를 통째로 스냅샷해 복원하는 구조로 설계되어 있습니다. 압축된 컨텍스트가 적용된 분기에서도 원본 상태로의 무손실 복구가 가능하며, 분기별로 압축 상태를 분리 보존해 서로 다른 결말을 완전히 재현할 수 있습니다. 또한 역할 연기와 시스템 업무를 분리한 이중 agent 구조를 도입해 한 agent는 순수 서사에 전념하고 다른 agent는 진단·설정·보수 같은 시스템 업무를 담당하도록 분업합니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| 메모리 절감 | context reduction per round | 53%–63% | — |
이미지 분석

102
Stars
8
Forks
+204
Trending
0
조회수
102 watchers0 open issues
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.