AIãšãŒãžã§ã³ãïŒAITuberãèªåŸåã¢ã·ã¹ã¿ã³ãïŒãèªäœããããšããŠããçæ§ãããããã
åã«LLMã®APIã«éå»ã®äŒè©±å±¥æŽãé åã§ç¹ããŠæããã ãã®ããã£ããããããã®æä»£ã¯çµãããŸãããçã«é·æçšŒåããç¬èªã®æèïŒãšããœãŒãïŒãæã€ãšãŒãžã§ã³ããçã¿åºãããã«ã¯ãOSã®ã¡ã¢ãªç®¡çãããŒã¿ããŒã¹ã®äœã¬ã€ã€ãŒæè¡ã«è£æã¡ããããå ç¢ãªèšæ¶ã·ã¹ãã ïŒMemory ArchitectureïŒãã®èšèšãäžå¯æ¬ ã§ãã
æ¬èšäºã§ã¯ãå°æ¥çã«ãµãŒããŒã§ã®24æéåžžé§ãè€æ°ãšãŒãžã§ã³ãã®å調åäœãèŠæ®ããã·ã¹ãã ãç Žç¶»ããªãããã®ã峿 Œãªä»æ§é§åãã«åºã¥ã5ã€ã®é²åã¹ããããšã絶察ã«å®ãã¹ãçåã®æã解説ããŸãã
ðºïž èªäœãšãŒãžã§ã³ãåãïŒæ®µéçã¡ã¢ãªã¢ãŒããã¯ãã£é²å衚
åå¿è ããã©ãããäœãå§ããã©ãæ¡åŒµããŠãããããå®çŸ©ããããŒããããã§ããæ©èœã®è¿œå ã§ã¯ãªãããåŸã§ã³ãŒããå šç Žæ£ããªãããã®ãäœã¬ã€ã€ãŒã®ã€ã³ã¿ãŒãã§ãŒã¹å¢çãã瀺ããŠããŸãã
| éçºãã§ãŒãº | ç®æšãšããèšæ¶ã¬ãã« | å®è£ ã¹ã¿ãã¯ïŒæšå¥šïŒ | èŽåœçãªæ¬ é¥ãåé¿ããã絶察å¶çŽã |
|---|---|---|---|
| Phase 0 ãçååºç€ã | Crash-Driven Failsafe (æ»åŸè§£ææ©æ§) | SIGTERM ãã㯠ããŒã«ã«SQLite | ãå¶çŽãäŸå€ãçµ¶å¯Ÿã«æ¡ã朰ããªã ããã»ã¹ãæ»ã¬ç¬éãçŽè¿ã®ã³ã³ããã¹ããšã¡ã¢ãªãã€ã³ã¿ããã£ã¹ã¯ãžãã³ãïŒCore DumpïŒããèªåã§ãããã°å¯èœãªãã°ãæ®ãã |
| Phase 1 ãèœå¹ãã | L1: Working Memory (çæã³ã³ããã¹ã) | RAM (倿°) + Interfaceæœè±¡å | ãå¶çŽãæšè«ã«ãŒãã«èšæ¶æäœãæžããªã æåãã MemoryModule ãšããŠåé¢ããã¡ã€ã³ã«ãŒããã㯠async ã§ get() ãš save() ãåŒã¶ã ãã®ãã©ãã¯ããã¯ã¹ã«ããã |
| Phase 2 ãæ ¹ä»ãã | L2: Episodic Memory (MRL Vector RAG) | Vector DB + 峿 ŒãªIDLãã€ã㪠| ãå¶çŽãåãªãJSONä¿åã¯çŠæ¢ã FlatBuffersçã§åïŒID, Role, MetadataïŒã匷å¶ããããã¯ãã«ç©ºéãå£ããªããããMRL察å¿ã®Embeddingã¢ãã«ã䜿çšããã |
| Phase 3 ã幹圢æã | L3: Knowledge Tree (AST / ç¥èæš) | èªäœParser + éå±€åãããã³ã° | ãå¶çŽãåèªã®é¡äŒŒåºŠã ãã§æ€çŽ¢ãããªã çºè©±ããã誰ãã»äœãã»ãªãããæ§æè§£æããããŒãã®èŠªåé¢ä¿ïŒASTïŒãæã€æšæ§é ãšããŠé·æèšæ¶ãæ§ç¯ããã |
| Phase 4 ãæåããã | L4: Multi-process (åé¢ããŒã¢ã³) | mmap (ãŒãã³ããŒ) + Ticket Spinlock | ãå¶çŽãREST APIã§èšæ¶ãããåããããªã ã·ãªã¢ã©ã€ãºã®CPUè² è·ãé¿ãããããèšæ¶ã¯å ±æã¡ã¢ãª(mmap)ã«å±éãããã±ããå¶ã¹ãã³ããã¯ã§OSã®é å»¶ãŒãã§ã¢ã¯ã»ã¹ããã |
| Phase 5 ãæ£®ã®å®è·ã | L5: Irminsul System (å®å šèªåŸã»èªå·±ä¿®åŸ©) | Merkle-AST + Copy-on-Write | ãå¶çŽãæ¢åã®èšæ¶ãã¯ãã«ãçŽæ¥è£æ£ãããªã ãºã¬ãæ€ç¥ããããå¥é åã§åãã¯ã¿ãŒåïŒRe-BakeïŒããã¢ãããã¯ã¹ã¯ããã§äžç¬ã§ãã€ã³ã¿ãåãæ¿ããïŒç¡åæ¢ä¿®åŸ©ïŒã |
ð¡ïž èšæ¶åŽ©å£ãé²ãããã®ã3ã€ã®é»éåŸã
ããŒãããããé²ããäžã§ããããªãæãç Žã£ãŠã¯ãªããªãã¢ãŒããã¯ãã£ã®æã§ãã
1. ããŒã¿ã®äžå€æ§ïŒImmutabilityïŒãšå³å¯ãªåå®çŸ©
ããšããããPythonã®èŸæžåïŒDictïŒã§ä¿åããããšããçãã¯æšãŠãŠãã ãããåŸããå¿ é ã®ã¡ã¿ããŒã¿ïŒææ ãã©ã¡ãŒã¿ãŒãªã©ïŒã远å ããéãéå»ã®ããŒã¿ãããŒã¹ãšã©ãŒãèµ·ããããšãŒãžã§ã³ãã¯èšæ¶åªå€±ã«é¥ããŸããæåãã以äžã®ãããªå³æ Œãªã¹ããŒããå®çŸ©ããåéåã®ããŒã¿ã¯åŒŸãããã«ããŠãã ããã
ãŸãããã¯ãã«å€ïŒæµ®åå°æ°ç¹é åïŒã¯ã¡ã¿ããŒã¿ãšåãå Žæã«ä¿åãããå¿ ãå¥é åïŒVector DBïŒã«éé¢ãããã€ã³ã¿ïŒIDïŒã ãã§çŽä»ããããšã§I/O垯åã®æ¯æžãé²ããŸãã
2. ãèŠããªãå£ãã«æ¿çªããéã®ã³ã¢ãã³ãïŒCore DumpïŒ
èšæ¶ã·ã¹ãã ã¯ããšã©ãŒãåºããã«ãµã€ã¬ã³ãã«æèãå£ããïŒãã«ã·ããŒã·ã§ã³ãèµ·ããïŒããšãæãæãããç¶æ ã§ãã
ãããããããªããã©AIããã«ã«ãªã£ããã§æè忢ããªããããæšè«ããããããªã£ãããããã¯ã¡ã¢ãªïŒRAMïŒãéçã«è¿ã¥ãããšæ€ç¥ããç¬éã«ããçŽåã®æšè«ã§åç §ããL2èšæ¶ã®IDããšãçŸåšã®ASTããªãŒã®ç¶æ ãããã£ã¹ã¯ã«ãã¡ã€ã«ãšããŠåãåºãïŒãã³ãããïŒæ©æ§ãPhase 0ã®æ®µéã§å¿ ãçµã¿èŸŒãã§ãã ãããéå®³ã¯æŸçœ®ããããã°ããããªãããè§£æããçãã€ããã®ãèªäœã®ééå³ã§ãã
3. éåæI/Oãšããã»ã¹åé¢ã®äºçŽ
Phase 1ã§å€æ°ã®ãªã¹ãã«ä¿åããŠããæ®µéããã颿°ã®å®çŸ©ã¯ async def ã«ããŠãããŸãããããããPhase 4ã§ãQwençã®éãæšè«ãåãã¡ã€ã³ããã»ã¹ããšãèšæ¶ã®ããŒãžãåæ§ç¯ãè¡ãIrminsulããŒã¢ã³ïŒè»œéCPUã¢ãã«ïŒãã«ããã»ã¹ãå®å šã«åé¢ããæ¥ãå¿ ãæ¥ãŸããæåãããèšæ¶ã¯ãããã¯ãŒã¯ïŒãŸãã¯ãœã±ããïŒã®åããåŽã«ãããåæã§ã·ã¹ãã ãçµãããšããå°æ¥ã®ãªãã¡ã¯ã¿ãªã³ã°å°çãåé¿ããå¯äžã®ææ®µã§ãã
â å®è£ éå§åã®å³æ Œãªå¶çŽãã§ãã¯ãªã¹ã
ããããšãã£ã¿ãéãåã«ãæåŸã®èšèšç¢ºèªã§ãã
- Blackbox APIå: ã¡ã€ã³ã®å¯Ÿè©±çšã¹ã¯ãªãããã¡ã€ã«ã«ããªã¹ãã® append ã Vector DB ã® insert ã¡ãœãããçŽæ¥æžãããŠããŸãããïŒ
- ã¯ã©ãã·ã¥ãã°ã®æ ä¿: ããã»ã¹ã匷å¶ãã«ïŒCtrl+C ã OOMçïŒããéãã¡ã¢ãªäžã®ææ°ã®èšæ¶ãæ®çºãããå®å šã«ãã£ã¹ã¯ã«éé¿ãããçµäºãã³ãã©ãæžãããŠããŸããïŒ
- ã¹ã±ãŒã©ãã«ãªæ¬¡å èšèš: åçŽãªè»œéEmbeddingã¢ãã«ã§ã¯ãªããå°æ¥ã®ããŒããŠã§ã¢åŒ·åã«åãããŠæ¬¡å æ°ãç¡åæ¢ã§åãæ¿ãããããããªã§ãŒã·ã«è¡šçŸåŠç¿ïŒMRLïŒå¯Ÿå¿ã¢ãã«ãéžå®ããŠããŸããïŒ
ãã®éé ·ãªã¢ãŒããã¯ãã£ã®èéãžããããã
å£ã«ã¶ã€ãããã³ã¢ãã³ããèªã¿è§£ããã³ã«ãããªãã®ãšãŒãžã§ã³ãã®ãè³ãã¯åŒ·éã«é²åããŠããã¯ãã§ãã
(RinAIEngine Coder: 倩ç¥ãã¬ãïŒ
