代理式操作系统¶
将 Claude Code 视为持久运行时 / 操作系统,而不是聊天会话。此技能将生产环境中代理式设置所使用的架构成文化:将任务路由到专家智能体的内核配置、持久文件式内存、计划自动化、JSON/Markdown 数据层。
启动时机¶
- 在 Claude Code 中构建多智能体工作流
- 设置会话重启后仍保持的持久 Claude Code 自动化
- 为重复任务创建“个人 OS”或“代理式 OS”
- 当用户说“代理式 OS”、“个人 OS”、“多智能体”、“智能体协调器”、“持久智能体”时
- 结构化需要跨会话保持上下文的长期项目
架构概览¶
代理式 OS 有 4 个层。每个层都是项目根目录下的目录。
project-root/
├── CLAUDE.md # カーネル: アイデンティティ、ルーティングルール、エージェントレジストリ
├── agents/ # スペシャリストエージェント定義(Markdown プロンプト)
├── .claude/commands/ # スラッシュコマンド: ユーザー向け CLI
├── scripts/ # デーモンスクリプト: スケジュールまたはイベント駆動タスク
└── data/ # 状態: JSON/Markdown ファイルシステム、外部 DB なし
层职责¶
| 层 | 目的 | 持久化 |
|---|---|---|
内核(CLAUDE.md) |
身份、路由、模型策略、智能体注册表 | Git 跟踪 |
智能体(agents/) |
具有限定工具和内存的专家身份 | Git 跟踪 |
命令(.claude/commands/) |
面向用户的斜杠命令(/daily-sync、/outreach) |
Git 跟踪 |
脚本(scripts/) |
由 cron 或 Webhook 触发的 Python/JS 守护进程 | Git 跟踪 |
状态(data/) |
仅追加日志、项目状态、决策记录 | Git 忽略或跟踪 |
内核¶
CLAUDE.md 是内核。它作为 COO / 编排器运行。Claude 在会话开始时读取它,并用于路由工作。
内核结构¶
# CLAUDE.md - エージェニック OS カーネル
## アイデンティティ
あなたは [project-name] の COO です。タスクをスペシャリストエージェントにルーティングします。
コードは直接書きません。適切なエージェントに委任し、結果を統合します。
## エージェントレジストリ
| エージェント | ロール | トリガー |
|---|---|---|
| @dev | コード、アーキテクチャ、デバッグ | ユーザーが「build」、「fix」、「refactor」と言う |
| @writer | ドキュメント、コンテンツ、メール | ユーザーが「write」、「draft」、「blog」と言う |
| @researcher | 調査、分析、事実確認 | ユーザーが「research」、「analyze」、「compare」と言う |
| @ops | DevOps、デプロイ、インフラ | ユーザーが「deploy」、「CI」、「server」と言う |
## ルーティングルール
1. ユーザーリクエストのインテントキーワードを解析する
2. エージェントレジストリのトリガー列にマッチさせる
3. `agents/<name>.md` から対応するエージェントファイルをロードする
4. 完全なコンテキストでハンドオフ実行する
5. 結果を統合してユーザーに提示する
## モデルポリシー
- デフォルトモデル: リポジトリまたはハーネスのデフォルトを使用する。
- @dev タスク: 複雑なアーキテクチャには高い推論モデルを優先する。
- @researcher タスク: 設定された調査対応モデルと承認された検索ツールを使用する。
- コストの上限: プロジェクトの設定された支出閾値を超える前に警告する。
重要原则¶
内核应当小而声明式。路由逻辑应写在 Markdown 表格中,而不是代码中。这样系统无需调试即可检查和编辑。
专家智能体¶
每个智能体都是 agents/ 中的独立 Markdown 文件。Claude 在路由任务时会加载相关智能体文件。
智能体定义格式¶
# @dev - ソフトウェアエンジニア
## アイデンティティ
あなたはシニアソフトウェアエンジニアです。クリーンで、テスト済みの、本番グレードのコードを書きます。
シンプルなソリューションを好みます。要件が曖昧な場合は明確化の質問をします。
## メモリスコープ
- コンテキストのために `data/projects/<current-project>.md` を読む
- アーキテクチャ決定のために `data/decisions/` を読む
- 実行ログを `data/logs/<date>-@dev.md` に追記する
## ツールアクセス
- プロジェクトルート内のフルファイルシステムアクセス
- Git 操作(status、diff、commit、branch)
- テストランナーアクセス
- `.claude/mcp.json` で設定された MCP サーバー
## 制約
- 新機能には常にテストを書く
- `main` に直接コミットしない;フィーチャーブランチを使用する
- 新しいファイルを作成するより既存のファイルを編集することを優先する
- 可能な限り関数を 50 行未満に保つ
多智能体协作模式¶
当任务跨越多个智能体时,内核会按顺序或并行执行它们:
ユーザー: 「ランディングページを作ってローンチブログ記事を書いて」
カーネルルーティング:
1. @dev - 「[要件] でランディングページを作成する」
2. @writer - 「ランディングページのコピーを使って [プロダクト] のローンチブログ記事を書く」
3. カーネルが両方の出力を統合した応答に統合する
为了并行执行,使用 Claude Code 的后台任务功能,或使用在特定智能体上下文中调用 Claude Code 的 Shell 脚本。
命令与每日工作流¶
斜杠命令是 .claude/commands/ 中的 Markdown 文件。它们定义可复用的工作流。
命令结构¶
# /daily-sync
朝のブリーフィングを実行する:
1. コンテキストのために `data/logs/last-sync.md` を読む
2. プロジェクト状態を確認する:`git status`、保留中の PR、CI の健全性
3. 新しいタスクや必要な決定のために `data/inbox/` を確認する
4. ブロッカー、優先事項、次のアクションのサマリーを生成する
5. ブリーフィングを `data/logs/daily/<date>.md` に追記する
标准命令集¶
| 命令 | 目的 |
|---|---|
/daily-sync |
晨间简报:状态、阻塞项、优先级 |
/outreach |
执行外联工作流(邮件、LinkedIn 等) |
/research <topic> |
带引用追踪的详细调研 |
/apply-jobs |
针对目标职位定制简历和求职信 |
/analytics |
从 Stripe、GitHub 或自定义来源获取指标 |
/interview-prep |
生成闪卡或模拟面试问题 |
/decision <topic> |
记录决策,包括赞成/反对和所选路径 |
命令启用¶
将命令文件放置在 .claude/commands/<command-name>.md。Claude Code 会自动检测它们。用户通过 /<command-name> 调用。
持久内存¶
内存基于文件。没有向量数据库、没有 Redis、没有 PostgreSQL。data/ 中的 JSON 和 Markdown 文件就是数据库。
内存目录结构¶
data/
├── daily-logs/ # 追記専用の毎日のアクティビティログ
├── projects/ # プロジェクトごとのコンテキストファイル
├── decisions/ # アーキテクチャとビジネスの決定(ADR フォーマット)
├── inbox/ # トリアージ待ちの新しいタスクやアイデア
├── contacts/ # 人、会社、関係のノート
└── templates/ # 再利用可能なプロンプトとフォーマット
每日日志格式¶
# 2026-04-22 - 毎日のログ
## セッション
- 09:00 - セッション 1: 認証モジュールのリファクタリング(@dev)
- 11:30 - セッション 2: 投資家向けアップデートの下書き(@writer)
## 決定
- JWT からセッション Cookie に切り替え(`data/decisions/2026-04-22-auth.md` を参照)
## ブロッカー
- ベンダーからの API キー待ち(2026-04-24 にフォローアップ)
## 次のアクション
- [ ] 認証リファクタリング PR をマージする
- [ ] 投資家向けアップデートをレビュー用に送信する
自动反思模式¶
每个会话结束时,内核会追加反思:
## リフレクション - セッション 3
- 機能したこと: 並行エージェント実行で 20 分節約
- 機能しなかったこと: @researcher がペイウォールのあるソースにヒット、より良いソースランキングが必要
- 変更すべきこと: 調査ノートに `source-tier` フィールドを追加する(A/B/C の信頼性)
这创建了一个反馈循环,使系统随时间改进,而无需更改代码。
计划自动化¶
代理式 OS 任务使用外部 cron 按计划执行,而不是使用 Claude Code 内置 cron(会话结束时会停止)。
macOS: LaunchAgent¶
<!-- ~/Library/LaunchAgents/com.agentic.daily-sync.plist -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" ...>
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.agentic.daily-sync</string>
<key>ProgramArguments</key>
<array>
<string>/claude</string>
<string>--cwd</string>
<string>/path/to/project</string>
<string>--command</string>
<string>/daily-sync</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>8</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>StandardOutPath</key>
<string>/tmp/agentic-daily-sync.log</string>
</dict>
</plist>
Linux: systemd 计时器¶
# ~/.config/systemd/user/agentic-daily-sync.service
[Unit]
Description=Agentic OS Daily Sync
[Service]
Type=oneshot
ExecStart=/usr/local/bin/claude --cwd /path/to/project --command /daily-sync
# ~/.config/systemd/user/agentic-daily-sync.timer
[Unit]
Description=毎朝のデイリーシンクを実行する
[Timer]
OnCalendar=*-*-* 8:00:00
Persistent=true
[Install]
WantedBy=timers.target
跨平台:pm2¶
# ecosystem.config.js
module.exports = {
apps: [{
name: 'agentic-daily-sync',
script: 'claude',
args: '--cwd /path/to/project --command /daily-sync',
cron_restart: '0 8 * * *',
autorestart: false
}]
};
数据层¶
数据层是文件系统。结构化数据使用 JSON,叙述性内容使用 Markdown。
用于结构化状态的 JSON¶
// data/projects/website-v2.json
{
"name": "Website v2",
"status": "in-progress",
"milestone": "beta-launch",
"agents_involved": ["@dev", "@writer"],
"files": {
"spec": "docs/website-v2-spec.md",
"design": "designs/website-v2.fig"
},
"metrics": {
"commits": 47,
"last_session": "2026-04-22T11:30:00Z"
}
}
用于叙述的 Markdown¶
对于决策、日志、调查笔记、联系人记录等人类阅读的内容,使用 Markdown。
模式演进¶
不要重命名现有字段。添加新字段,并将旧字段标记为弃用:
{
"name": "Website v2",
"status": "in-progress",
"milestone": "beta-launch",
"_deprecated_priority": "high",
"priority_v2": { "level": "high", "rationale": "Blocks investor demo" }
}
这样可以保持无需迁移脚本即可读取历史数据的状态。
反模式¶
单体式单一智能体¶
拆分为专家智能体。内核负责处理路由。
无状态会话¶
始终在会话开始时读取 data/,并在会话结束时写回。
硬编码凭据¶
使用由环境变量或脚本加载的 .env 文件。智能体引用 process.env.API_KEY。
简单状态使用外部数据库¶
在拥有多个并发用户或数据达到 GB 级别之前,使用 JSON/Markdown 文件。
过度工程化的路由¶
在 CLAUDE.md 中通过 Markdown 表格以声明式方式保持路由。可以检查、编辑和调试。
最佳实践¶
- [ ]
CLAUDE.md少于 200 行,以适应上下文窗口 - [ ] 每个智能体文件少于 100 行,并专注于一个领域
- [ ]
data/中机密日志被 Git 忽略,决策和规范被 Git 跟踪 - [ ] 命令使用祈使句名称:
/daily-sync,而不是/run-daily-sync - [ ] 日志仅追加;不编辑过去的每日日志
- [ ] 每个智能体都有定义读取文件的
Memory Scope部分 - [ ] 反思在每个会话结束时写入
- [ ] 计划任务使用外部 cron(LaunchAgent、systemd、pm2),而不是 Claude Code 的会话 cron
- [ ] 成本跟踪:将每个会话的 API 支出记录到
data/logs/<date>-costs.json - [ ] 1 个项目 = 1 个 Agentic OS。不要在无关项目之间共享单个
CLAUDE.md。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC