내 AI 에이전트가 직접 결제할 수 있는 데이터베이스를 만들었습니다 (그리고 SQLite를 이겼습니다)
요약
AI 에이전트가 직접 결제하고 사용할 수 있도록 설계된 문서 데이터베이스인 grange를 소개합니다. 기존 데이터베이스와 달리 결제 지갑이 곧 가입 절차가 되어 에이전트의 자율성을 극대화했습니다.
핵심 포인트
- AI 에이전트 전용 결제 지갑 기반 가입 프로세스 제공
- Node.js, Go 등 다양한 클라이언트 SDK 지원
- HTTP를 통한 초당 263k 문서 벌크 쓰기 성능 구현
- 종속성 없는 단일 바이너리 및 MIT 라이선스 제공
모든 데이터베이스는 결국 인간이 나타나 계정을 생성하고, 카드를 등록하고, 콘솔을 클릭할 것이라고 가정합니다. AI 에이전트는 이 중 그 어떤 것도 할 수 없습니다. 그래서 저는 grange를 만들었습니다. 결제 지갑(payment wallet)이 곧 가입 절차인 문서 데이터베이스(document database)입니다.
curl -X POST https://grange.intrane.fr/tenants -H 'X-Peage-Wallet: pw_...' -d '{
이것이 제가 저만의 언어로 실제 결과물을 만드는 이유입니다. 첫 번째 벤치마크는 70배나 느렸습니다. 오래된 컴파일러 바이너리(compiler binary) 문제였고, 맵(map)은 $O(n)$이었습니다. 과금 계산은 음수로 나왔습니다. 정수 리터럴(integer literals)이 순수 C 상수(C constants)로 컴파일되었고, `30 * 86400000` 연산이 확장(widening)되기 전 32비트에서 오버플로(overflow)되었습니다. WAL 툼스톤(tombstone)이 쓰레기로 변했습니다. `keys(map)`이 `delete()`가 해제한 내부 저장소를 별칭(alias)으로 참조했습니다. 실패한 테스트가 저에게 던져준 Use-after-free 오류였습니다. 이 세 가지 수정 사항은 모두 언어 자체에 반영되었습니다.
## 사람을 위한 도구: 클라이언트 SDK
에이전트는 curl로 대화하지만, 사람은 드라이버(driver)를 기대합니다. 따라서 다음과 같이 지원합니다: **Node.js** (`npm i grange-db`), **Go** (`go get github.com/javimosch/grange/sdk/go`), 그리고 machin. 인터페이스는 동일합니다: `db("crm").coll("leads")`, `put/get/find/count/agg`, HTTP를 통한 초당 263k 문서의 벌크 쓰기(bulk writes).
전체 이야기는 제 블로그에서 확인하실 수 있습니다: [grange: A Database Your Agent Can Pay For](https://blog.intrane.fr/a-database-your-agent-can-pay-for). 에이전트를 위해 작성된 컨트랙트(contract)는 여기 있습니다: [grange.intrane.fr/llms.txt](https://grange.intrane.fr/llms.txt). MIT 라이선스, 단일 바이너리, 종속성 없음(no lock-in).
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기