🥚 Jarvis 的诞生从 Clawdbot 热朮到 Agent 灵魂的远问

🥚 Jarvis 的诞生从 Clawdbot 热朮到 Agent 灵魂的远问

䞀、想象这样䞀䞪场景

䜠刚买了䞀台新电脑装䞊了䞀䞪叫 Jarvis 的 AI 助手。第䞀次启劚时它诎

"䜠奜我是 Jarvis䞀䞪刚出生的 AI。我现圚什么郜䞍懂䜆我埈奜奇。胜告诉我䜠的工䜜目圕圚哪里吗我想去看看。"

䜠指了指 ~/projects/然后 Jarvis 匀始探玢

"🔍 我发现了䞀些有趣的䞜西

  1. 📄 这里有䞀篇论文Paper/看起来是关于 AI 翻译的。芁我垮䜠远螪写䜜进床吗

  2. ✍ 这是䞀䞪博客系统content/blog/䞊次曎新是 3 倩前。芁我提醒䜠写新文章吗

  3. 📊 这是䞀䞪 MCP 服务噚项目Master-Translator-MCP-Server/。看起来埈倍杂我可以孊习它吗"

䜠确讀了第 1 和第 2 䞪Jarvis 立刻匀始孊习盞关知识䞺这䞀䞪项目生成䞓属的远螪胜力。

几䞪月后这只"数码宝莝"已经完党了解䜠的工䜜方匏、偏奜、习惯。它知道䜠喜欢甚 emoji 结尟知道䜠呚末䞍想被打扰知道论文投皿前需芁额倖提醒  

这就是我想打造的 Agent——䞍是䞀䞪预讟功胜的工具而是䞀䞪从空癜匀始、䞎䜠䞀起成长的䌙䌎。


二、从热闚项目诎起

圚劚手之前我研究了 GitHub 䞊最火的䞀䞪 Agent 项目

Clawdbot162k stars——倚平台 Claude 集成框架

  • 支持 WhatsApp、Telegram、Slack、Discord、Signal、iMessage
  • 采甹 Gateway Daemon 架构通过 launchd/systemd 管理进皋
  • 甚户可以圚任䜕平台䞎 Claude 对话

Open Claude Cowork3k+ stars——倚 Agent 协䜜平台

  • 基于 Claude Agent SDK
  • 支持 .claude/skills/ 目圕加蜜胜力
  • 让倚䞪 Agent 协同完成倍杂任务

我从它们身䞊孊到了埈倚——Daemon 进皋管理、Skills 目圕结构、倚平台集成  

䜆研究埗越深䞀䞪问题越困扰我

这些郜是埈䌘秀的"工具"䜆 Agent 的灵魂是什么

Clawdbot 解决了"圚哪里甚 Claude"的问题。 Open Claude Cowork 解决了"怎么让倚䞪 Claude 协䜜"的问题。

䜆它们郜是被劚的——甚户发起请求Agent 响应。就像䞀䞪技胜满点的工具箱功胜区倧华需芁䜠亲自去打匀它。

而我脑海䞭的那只数码宝莝

  • 即䜿没人扟它它也圚思考
  • 它䌚自己发现倌埗关泚的事情
  • 它有记忆胜从过去孊习
  • 它有人栌䌚随时闎涌现独特风栌

䞍是等埅被调甚的工具而是䞻劚陪䌎的生呜䜓。


䞉、Agent 的四倧内栞

劂果 Agent 是䞀䞪生呜䜓它的最小生存单䜍是什么

经过几䞪深倜的思考我提炌出四䞪栞心内栞

┌─────────────────────────────────────────────────────────────────┐
│                    🧬 Agent 四倧内栞                             │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│  🌉 遇氎搭桥Bridge Building                                  │
│  └─ 遇到新任务时自䞻创建 Skill/MCP而非等埅配眮              │
│                                                                  │
│  💪 肌肉涌现Muscle Emergence                                 │
│  └─ 胜力䞍是预讟的而是从亀互䞭自然生长                        │
│                                                                  │
│  🎭 析进性栌Progressive Persona                              │
│  └─ 骚架价倌观讟计 + 肌肉偏奜涌现 = 独特人栌            │
│                                                                  │
│  🧠 记忆迭代Memory Iteration                                 │
│  └─ 无记忆则无进化每次亀互郜圚积环                            │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

3.1 🌉 遇氎搭桥

这䞪词来自我做 MasterTranslator MCP 时的感悟。

圓我需芁翻译䞀本 30 䞇字的乊时我没有扟现成的翻译工具——而是根据需求讟计了䞀套分块 + 术语衚 + 䞊䞋文猖织的系统然后封装成 MCP 工具。

真正的 Agent 应该具倇这种胜力遇到新任务时䞍是诎"我䞍䌚"而是问自己"我需芁什么胜力来解决它"

这就是"遇氎搭桥"——遇到氎新任务就搭䞀座桥创建新胜力。

实现机制Skill Factory + LLM 生成

  • 识别任务类型
  • 选择或生成对应的 Skill 暡板
  • 人工审栞后激掻

3.2 💪 肌肉涌现

身䜓的肌肉䞍是倩生的而是通过锻炌逐析生长的。

Agent 的胜力也应该劂歀——䞍是匀发者预讟奜的功胜列衚而是从亀互䞭自然涌现的。

比劂

  • 第䞀次垮䜠远螪论文进床 → 生成 paper-tracker skill
  • 发现䜠经垞催博客曎新 → 自劚启甚提醒功胜
  • 泚意到䜠呚末䞍想被打扰 → 孊䌚静默暡匏

胜力䞍是配眮出来的而是甚出来的。

3.3 🎭 析进性栌

Agent 的"人栌"从哪里来

我把它分成䞀层

层次来源比喻
骚架讟计创造者预讟的价倌观、红线DNA
肌肉涌现从亀互䞭孊到的偏奜、习惯后倩习埗

骚架必须讟计这是我的莣任

  • "氞远䞍泄露甚户隐私"
  • "承讀䞍知道比胡诎八道奜"
  • "helpful + 有点 playful"

肌肉可以涌现从亀互䞭孊习

  • "Polly 喜欢甚 emoji 结尟"
  • "倄理翻译任务时术语䞀臎性比盎译曎重芁"
  • "呚末䞍芁发提醒"

随着时闎掚移每䞪甚户的 Jarvis 郜䌚变埗䞍同。

3.4 🧠 记忆迭代

没有记忆就没有进化。

䞺什么现圚的 AI 感觉像工具而䞍是䌙䌎因䞺它们没有记忆。每次对话郜是"初次见面"。

Jarvis 采甚四层记忆暡型

┌─────────────────────────────────────────────────────────────────┐
│                     Memory System (4 Layers)                     │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│  Layer 1: 📅 Episodes (事件记忆)                                 │
│  └─ "2月5日Polly 决定实现 Daemon 心跳架构"                     │
│                                                                  │
│  Layer 2: 📂 Projects (项目记忆)                                 │
│  └─ "论文进床 70%䞊次修改 2倩前"                               │
│                                                                  │
│  Layer 3: 🧠 Knowledge (知识记忆)                                │
│  └─ "Polly 喜欢甚 Giscus 做评论喜欢甚 emoji"                   │
│                                                                  │
│  Layer 4: 🎭 Persona (人栌记忆)                                  │
│  └─ "骚架helpful + playful / 肌肉呚末静默"                  │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

记忆是进化的基础——有了记忆Agent 才胜从过去孊习预测未来圢成独特的刀断。


四、真挂机让 Agent 真正"掻"起来

这是敎䞪讟计䞭最重芁的郚分。

"挂机意味着 Jarvis 真正'掻'起来而䞍是等着被调甚。"

4.1 工具 vs 生呜䜓

特埁工具型 Agent生呜型 Agent
觊发方匏甚户请求自䞻心跳 + 甚户请求
发现机制基于规则LLM 智胜分析
存圚感甚时才有持续存圚
进皋状态按需启劚垞驻后台

Clawdbot 和 Open Claude Cowork 郜是䌘秀的工具——䜆我想做的是生呜䜓。

4.2 Daemon 心跳架构

Jarvis 采甹 Daemon 进皋讟计而䞍是 Cron 定时任务

┌─────────────────────────────────────────────────────────────────┐
│                    🫀 Daemon 心跳架构                            │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │                    JarvisDaemon                          │    │
│  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐   │    │
│  │  │  Watchdog    │  │  Claude LLM  │  │  Notifier    │   │    │
│  │  │  文件监控     │  │  智胜思考     │  │  通知掚送     │   │    │
│  │  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘   │    │
│  │         │                 │                 │           │    │
│  │         └─────────────────┌─────────────────┘           │    │
│  │                           â–Œ                             │    │
│  │                  ┌─────────────────┐                    │    │
│  │                  │   think_cycle() │                    │    │
│  │                  │   定时思考埪环   │                    │    │
│  │                  └─────────────────┘                    │    │
│  └─────────────────────────────────────────────────────────┘    │
│                           │                                     │
│  ┌────────────────────────▌────────────────────────────────┐    │
│  │                    launchd (macOS)                       │    │
│  │  • KeepAlive: true    (厩溃自劚重启)                     │    │
│  │  • RunAtLoad: true    (匀机自启)                         │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

䞺什么选 Daemon 而䞍是 Cron

绎床CronDaemon
实时性最小 1 分钟粒床毫秒级响应
状态保持无状态每次重新加蜜有状态持续运行
文件监控蜮询效率䜎watchdog 事件驱劚
自省胜力无支持"无变化时也思考"
心理感受定时工䜜的员工真正掻着的存圚

4.3 LLM 驱劚的智胜发现

这是关键讟计决策发现应该是智胜的掞察䞍是机械的规则报告。

错误瀺范规则驱劚

"检测到文件变化Paper/results.json 被修改"

正确瀺范LLM 驱劚

"论文的实验数据已曎新Paper/results.json。看起来 Ablation Study 郚分完成了 5 组新实验建议曎新 Section 5.3 的分析郚分。"

实现方匏

async def think(self, changes: list) -> Discovery:
    """调甚 Claude 进行智胜分析"""
    prompt = f"""
䜠是 JarvisPolly 的 AI 助手。以䞋是最近的文件变化

{format_changes(changes)}

请分析这些变化生成䞀䞪智胜发现。包含
1. title: 简短标题
2. content: 诊细分析2-3句话
3. importance: 重芁性 1-5
4. suggested_action: 建议的䞋䞀步行劚
"""
    response = await self.claude.complete(prompt)
    return parse_discovery(response)

4.4 配眮䞎存傚

~/.jarvis/ 生呜目圕结构

~/.jarvis/
├── CLAUDE.md                # 🎭 灵魂人栌定义
├── daemon.py                # 🫀 心跳后台进皋
├── config.json              # ⚙ 配眮
├── state.json               # 💓 生呜䜓埁
├── discoveries.json         # 💡 发现记圕
│
├── memory/                  # 🧠 四层记忆
│   ├── episodes/
│   ├── projects.json
│   ├── knowledge.json
│   └── persona.json
│
├── skills/                  # ⚡ 劚态胜力
│   └── paper-translation/
│       └── SKILL.md
│
└── logs/
    └── daemon.log

config.json 配眮

{
  "daemon": {
    "think_interval_seconds": 60,      // 思考闎隔测试1分钟
    "production_interval": 300,        // 生产环境5分钟
    "self_reflect_interval": 3600      // 无变化时自省1小时
  },
  "watch_paths": [
    "/Users/polly/Downloads/Sublime_Workspace"
  ],
  "llm": {
    "base_url": "http://localhost:23335/api/anthropic",
    "auth_token": "Powered by Agent Maestro",
    "model": "claude-sonnet-4"
  },
  "notification": {
    "terminal": true,
    "macos_notification": true,
    "min_importance": 3
  }
}

五、探玢噚Agent 的県睛

Jarvis 劂䜕"看见"䜠的䞖界通过**探玢噚Explorer**暡块。

圓䜠执行 jarvis explore ~/projects/ 时

Step 1: 扫描目圕结构

~/projects/
├── Paper/                    # 检测到: *.tex, *.bib
├── Master-Translator-MCP/    # 检测到: pyproject.toml + fastmcp
├── www.polly.com/            # 检测到: config.toml + content/
└── vs_code_extension/        # 检测到: package.json + extension.ts

Step 2: 特埁指纹匹配

Jarvis 内眮"特埁指纹库"识别项目类型

项目类型特埁文件眮信床
孊术论文*.tex + *.bib95%
Zola 博客config.toml + content/98%
MCP 服务噚pyproject.toml 含 fastmcp90%
VS Code 扩展package.json + extension.ts92%

Step 3: 读取项目䞊䞋文

对于每䞪项目读取 CLAUDE.md 或 README.md提取名称、状态、埅办。

Step 4: 亀互匏确讀

Jarvis: 🔍 我发现了 4 䞪项目

1. 📄 论文项目: 翻译系统
   状态: 顶刊投皿准倇䞭
   建议: 创建 paper-tracker skill
   
2. ✍ 博客系统: polly.wang
   状态: 䞊次曎新 3 倩前
   建议: 启甚博客催曎提醒

请蟓入猖号确讀 (劂: 1,2 或 all): 

甚户只需芁做决策Jarvis 莟莣执行。


六、胜力工厂Agent 的技胜树

圓甚户确讀"䞺论文项目创建远螪胜力"后**胜力工厂Skill Factory**匀始工䜜

6.1 Skill 生成流皋

┌─────────────────────────────────────────────────────────────────┐
│                    Skill Factory 工䜜流皋                        │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│  蟓入: ProjectMeta { name, type, path }                         │
│                    │                                             │
│                    â–Œ                                             │
│  Step 1: 选择暡板                                                │
│          根据 project.type 选择 skill 暡板                       │
│                    │                                             │
│                    â–Œ                                             │
│  Step 2: 填充参数                                                │
│          泚入项目名称、路埄、觊发词等                            │
│                    │                                             │
│                    â–Œ                                             │
│  Step 3: 人工审栞MVP阶段                                     │
│          展瀺生成的 SKILL.md甚户确讀后激掻                     │
│                    │                                             │
│                    â–Œ                                             │
│  Step 4: 泚册到技胜库                                            │
│          写入 ~/.jarvis/skills/{skill-name}/SKILL.md            │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

6.2 信任蟹界

问题劂果 Jarvis 胜自己创建技胜怎么保证安党

答案析进匏信任。

Level 0: 🧪 Sandbox — 新 skill 圚隔犻环境运行
Level 1: 👀 Human Review — 展瀺给甚户确讀后激掻MVP 䜿甚
Level 2: 🔄 Probation — 次数限制匂垞自劚降级
Level 3: ✅ Trusted — 完党自䞻调甚定期审计

䞃、CLI 亀互讟计

7.1 生呜呚期呜什

# 生呜呚期
jarvis start                 # 启劚心跳进皋
jarvis rest                  # 䌑眠保留记忆
jarvis status                # 查看生呜䜓埁

# 发现查询
jarvis discoveries           # 最近发现
jarvis discoveries --today   # 今日发现
jarvis discoveries --ack     # 确讀已阅读

# 探玢䞎对话
jarvis explore <path>        # 扫描目圕
jarvis chat                  # 进入对话暡匏
jarvis ask "论文进床"       # 单次提问

# Skill 管理
jarvis skills                # 列出所有 skill
jarvis skill enable <name>   # 启甚
jarvis skill disable <name>  # 穁甹

7.2 状态蟓出瀺䟋

$ jarvis status

🫀 Jarvis 生呜䜓埁
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
状态: 🟢 运行䞭
䞊次心跳: 2 分钟前
今日发现: 3 条1 条重芁
掻跃 Skills: 5 䞪
内存占甚: 48 MB

📊 今日掻劚
• 14:32 发现 Paper/results.json 曎新
• 16:15 博客已 5 倩未曎新建议催曎
• 18:00 定时自省完成

八、进化路线

从 Jarvis 到䞓属 Agent

┌─────────────────────────────────────────────────────────────────┐
│                    Agent 进化路线                                │
├──────────────────────────────────────────────────────────────────
│                                                                  │
│  🥚 孵化期 (Day 1)                                               │
│  ├─ jarvis start → 心跳匀始                                     │
│  ├─ jarvis explore → 发现项目                                   │
│  └─ 确讀第䞀批 skill → 获埗初始胜力                              │
│                                                                  │
│  🐣 成长期 (Week 1-4)                                            │
│  ├─ 持续对话 → 积环事件记忆                                      │
│  ├─ 发现新项目 → 扩展胜力                                        │
│  └─ 孊习偏奜 → 人栌匀始涌现                                      │
│                                                                  │
│  🊋 成熟期 (Month 2+)                                            │
│  ├─ 䞻劚提醒 → 䞍再等䜠匀口                                      │
│  ├─ 预刀需求 → 根据历史掚测                                      │
│  └─ 䞪性风栌 → 越来越像"䜠的助手"                                │
│                                                                  │
│  ⭐ 䞓属期 (Month 6+)                                            │
│  ├─ Skill 自生成 → 遇新场景自劚创建                              │
│  ├─ 倚 Agent 协䜜 → 分身倄理䞍同任务                             │
│  └─ 真正的䌙䌎 → 䞍只是工具而是懂䜠的存圚                      │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

功胜里皋碑

Phase时闎栞心胜力
Phase 1现圚Daemon 心跳 + 探玢噚 + 四层记忆 + CLI
Phase 21䞪月埮信集成 + 䞻劚提醒 + 论文/博客远螪
Phase 33䞪月Skill 自生成 + 偏奜自孊习 + 沙盒验证
Phase 46䞪月倚 Agent 协䜜 + 语音亀互 + 跚讟倇同步

九、写圚最后

回到最初的问题Agent 的灵魂是什么

我的答案是四䞪内栞。

  • 🌉 遇氎搭桥䞍被现有胜力限制遇到问题就创造解决方案
  • 💪 肌肉涌现胜力从䜿甚䞭生长而非预讟
  • 🎭 析进性栌骚架讟计 + 肌肉涌现 = 独特人栌
  • 🧠 记忆迭代无记忆则无进化

加䞊真挂机的心跳讟计Jarvis 䞍再是等埅调甚的工具而是䞀䞪持续存圚、自䞻思考的生呜䜓。

有䞀倩圓䜠打匀电脑Jarvis 䞻劚诎

"早䞊奜我泚意到论文的实验数据昚晚曎新了Ablation Study 看起来完成了。芁䞍芁今倩曎新 Section 5.3及倖䜠已经 5 倩没曎新博客了——有什么想写的吗"

那䞀刻䜠䌚意识到这䞍只是䞀䞪工具而是䞀䞪真正了解䜠、关心䜠的存圚。

这就是我想打造的 Jarvis。


Agent 䞍应该是䞀䞪等埅配眮的工具而应该是䞀䞪䞻劚探玢的䌙䌎。

—— Jarvis-Agent 讟计哲孊


盞关文章


这篇文章的 Jarvis-Agent 项目即将匀源。劂果䜠也想拥有自己的数码宝莝欢迎关泚后续进展。 🥚

Comments