skynet-agent
让 AI 主动管理自己的记忆——双层记忆架构的自主 AI Agent
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 AI 主动管理自己的记忆——双层记忆架构的自主 AI Agent
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Skynet Agent 是一个开源的 AI 对话平台,核心目标是让 AI 不仅能访问记忆,还能自主选择记住什么。它受到人类认知科学的"双过程理论"启发,实现了类似 Claude Code 的自主执行能力——用户设定一个目标,AI 自动规划、分解任务、调用工具、自我反思。
项目采用 MIT 许可证,面向有一定技术背景的用户(需要配置 LLM API Key),但其 Web UI 大幅降低了使用门槛。
AI Agent 领域在 2024-2025 年迎来爆发期,从简单的单轮问答演进到多步骤自主执行。Claude Code 的出现让开发者看到了"AI 自主编程"的可行性,但它是闭源服务。Skynet Agent 的作者(esinecan)希望打造一个开源、可本地部署、功能类似的替代方案,同时加入了自己对 AI 记忆系统的深度思考:当前大多数 Agent 方案的"记忆"都是被动存储,有没有可能让 AI 像人类一样主动管理自己的记忆?
这个问题的答案,就是 Skynet Agent 的核心创新:双层记忆架构(Dual-Layer Memory)。
这是 Skynet Agent 与其他 AI 对话工具最大的差异化之处。它同时运行两种记忆机制:
第一层:自动记忆(RAG,基于 ChromaDB)
text-embedding-004 模型生成向量第二层:主动记忆(Conscious Memory,基于 MCP 工具)
save:主动保存重要记忆并打标签search:精确检索特定记忆update:修改已有记忆内容delete:删除冗余记忆第三层:知识图谱(Knowledge Graph,基于 Neo4j)
npm run kg:sync:full 可触发全量重同步这种三层架构的精妙之处在于:自动记忆负责"海量积累",主动记忆负责"精选保留",知识图谱负责"关系挖掘"——三者协同,模拟了人类记忆的形成与组织方式。
项目内置了一个基于 @langchain/langgraph 的"动力引擎"(Motive Force),用户开启后,输入一个目标,AI 自动执行多步骤工作流:
项目作者坦诚表示这个功能"不够优雅"("I suck at UI design"),但对于熟悉 Agent 工作流的用户来说,这是一套完整可用的自主执行框架。
MCP(Model Context Protocol)是一个新兴的 AI 工具互操作协议,Skynet Agent 完整实现了这一协议:
Filesystem、Git、Database、WebSearch 等标准 MCP 服务器src/config/default-mcp-servers.ts 配置通过 @ai-sdk 统一封装,支持 7 家主流 LLM 提供商:
| 提供商 | 特色 | 推荐模型 |
|---|---|---|
| 多模态 + 速度 | gemini-2.5-flash | |
| DeepSeek | 性价比 | deepseek-chat |
| OpenAI | 生态完善 | gpt-4o-mini |
| Anthropic | 推理能力 | claude-3.5-haiku |
| Groq | 超快推理 | llama-3.3-70b |
| Mistral | 自然语言 | mistral-large |
| Ollama | 隐私优先 | llama3.2:latest |
配置极为简单:设置 LLM_PROVIDER 和 LLM_MODEL 环境变量即可切换。Ollama 支持意味着完全可以离线运行(隐私敏感场景)。
整个 Web UI 基于 Next.js 构建,组件化结构清晰:
ChatInterface.tsx:主对话界面ChatMessage.tsx:消息气泡渲染ConsciousMemoryDemo.tsx:/conscious-memory 页面的主动记忆管理面板MotiveForceToggle.tsx:自主执行开关ToolCallDisplay.tsx:工具调用结果可视化Tailwind CSS 处理样式,TypeScript 确保类型安全。
核心推理链路:
@ai-sdk/google(或其他 provider)生成响应rule-based-extractor.ts 提取实体mcp-manager.ts 路由工具调用src/app/api/)docker-compose.yml 已配置好两个核心服务的容器化:
neo4j/password123优点:docker-compose up -d 即可一键启动所有依赖服务,无需手动配置数据库。
门槛:
.env.local 配置项较多,新手有一定学习成本结论:对有 Docker 使用经验的开发者来说,10-15 分钟可完成从零到完整运行。Ollama 模式支持本地离线运行(需要本地 Ollama 服务)。
自主执行(Motive Force)还不够稳定:项目作者自己也承认"不够优雅",实测中可能出现循环调用或中途卡住,需要配置 MOTIVE_FORCE_MAX_CONSECUTIVE_TURNS=10 防止无限循环。
Neo4j 社区版限制:图数据库只有单机版,生产环境需要迁移到 Neo4j Aura 或企业版。
向量嵌入依赖 Google API:text-embedding-004 需要 GCP 配额,在部分地区访问不稳定。
UI 确实简陋:作者自嘲"Looks Very Ugly",如果追求视觉体验需要自行魔改 Tailwind 样式。
TypeScript + Next.js 混合项目:monorepo 管理稍显混乱,部分脚本(integration-test.js)是纯 JS,与 TS 主线不一致。
Skynet Agent 代表了 AI Agent 发展的一个重要方向:记忆系统从被动存储升级为主动管理。当前市面上的大多数 AI 工具(ChatGPT、Claude 等)的记忆机制本质上都是 RAG 的变体——被动积累,无差别检索。而 Skynet Agent 提出的"主动记忆"概念让 AI 拥有了选择记住什么、忘记什么的能力,这是向通用人工智能(AGI)记忆机制迈进的值得关注的一步。
从技术角度看,项目整合了当前 AI 工程领域的多个热点:LangGraph 工作流、MCP 协议、RAG + Graph RAG 双轨、Next.js 全栈——是一个学习现代 AI 应用架构的优质参考项目。