0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenClaw×Claude Code連携を徹底解説|SES脱出を加速するAI開発術2026

0
Posted at

OpenClaw×Claude Code連携を徹底解説|SES脱出を加速するAI開発術2026

SES 1年目から「いつか独立したい」と思いながら、気づけば3年・5年と過ぎていく。そのループを抜け出すためのヒントは、実は2026年現在のAIツールの組み合わせ方にある。

本記事では、筆者が実務で使い倒しているOpenClaw(思考・記憶・指示)とClaude Code(開発・実行)の連携パターンを、コマンドレベルで徹底解説する。データ分析からコード生成まで、AIを「使う側」に回ることでSES脱出の道筋が見えてくる。


なぜOpenClaw×Claude Codeの組み合わせなのか

AIを仕事に使い始めると、すぐに壁にぶつかる。

  • Claude Codeに指示を出しても、毎回コンテキストを説明するのが面倒
  • 長期プロジェクトでAIが「先週の決定」を覚えていない
  • 複雑なビジネス要件を開発タスクに変換するのが難しい

この課題を解決するのがOpenClawとClaude Codeの役割分担だ。

ツール 役割 強み
OpenClaw 思考・記憶・経営判断 ビジネス戦略、長期記憶、意思決定フレームワーク
Claude Code 開発・実行・検証 コード生成、ファイル操作、テスト実行、デプロイ

両者を繋ぐのが構造化されたコンテキスト転送だ。OpenClawが「何をすべきか」を決定し、Claude Codeが「どう実装するか」を実行する。


実践ユースケース1:経営ダッシュボードのデータ分析自動化

背景

フリーランス転向を検討しているSESエンジニアにとって、自分の稼働率・単価・案件獲得コストを把握することは必須だ。しかし手動でスプレッドシートを更新するのは続かない。

OpenClawでの要件定義フェーズ

まずOpenClawの/cmoスキルで戦略的な要件を固める。

/cmo

以下のダッシュボードを設計してほしい:
- 月次稼働率(稼働日数/営業日数)
- 案件別単価推移
- 経費率とネット収益
- 次月の売上予測

OpenClawはここでKPI定義・データソース・更新頻度・アラート条件を構造化して返す。この出力をそのままClaude Codeへの指示書として使う。

Claude Codeでの実装フェーズ

# プロジェクト初期化
mkdir dashboard-automation && cd dashboard-automation
npx create-next-app@latest . --typescript --tailwind --app

Claude Codeに以下を渡す:

OpenClawの設計書に基づいて実装してください。

## 要件(OpenClaw出力)
- データソース: Google Sheets API v4
- 更新頻度: 1日1回(午前6時cron)
- KPI: 稼働率・単価・経費率・売上予測
- アラート: 稼働率70%以下でSlack通知

## 技術スタック
- Next.js 15 + TypeScript
- Recharts(グラフ)
- Vercel Cron Jobs

Claude Codeが生成するコア部分:

// app/api/metrics/route.ts
import { google } from 'googleapis';

export async function GET() {
  const auth = new google.auth.GoogleAuth({
    credentials: JSON.parse(process.env.GOOGLE_CREDENTIALS!),
    scopes: ['https://www.googleapis.com/auth/spreadsheets.readonly'],
  });

  const sheets = google.sheets({ version: 'v4', auth });
  const response = await sheets.spreadsheets.values.get({
    spreadsheetId: process.env.SHEET_ID,
    range: 'Sheet1!A:F',
  });

  const rows = response.data.values ?? [];
  const metrics = rows.slice(1).map(row => ({
    month: row[0],
    workDays: Number(row[1]),
    billingDays: Number(row[2]),
    utilization: Number(row[2]) / Number(row[1]),
    revenue: Number(row[3]),
    expenses: Number(row[4]),
    netMargin: (Number(row[3]) - Number(row[4])) / Number(row[3]),
  }));

  return Response.json({ metrics });
}

得られた結果: 実装時間を従来の2日→4時間に短縮。OpenClawの構造化出力をClaude Codeへの指示書として使うことで、「何を作るか」と「どう作るか」の往復が不要になった。


実践ユースケース2:SES案件の自動スクリーニングツール

SES 1年目転職を考えているエンジニアにとって、案件選びは将来を左右する。しかし求人票を読み込んで比較する作業は時間がかかる。

OpenClaw/CMOで評価基準を設計

/cmo

以下の観点でSES/フリーランス案件を自動スコアリングする評価基準を作ってほしい:
- スキルアップ度(将来性)
- 単価妥当性(市場相場との乖離)
- リモート比率
- 技術スタックの将来性
- 契約条件の安定性

OpenClawが返す評価マトリクス(抜粋):

scoring_criteria:
  skill_growth:
    weight: 30
    factors:
      - modern_stack: [React, TypeScript, Go, Rust, Kubernetes]
      - ai_adjacent: [LLM, RAG, MLOps, データ分析]
      - legacy_penalty: [COBOL, VBA, Access]

  rate_appropriateness:
    weight: 25
    benchmark_2026:
      junior_3years: 550000  # 月額想定
      mid_5years: 750000
      senior_8years: 950000

  remote_ratio:
    weight: 20
    full_remote: 100
    hybrid_3days: 60
    onsite_only: 0

Claude Codeでスクレイパー+スコアリング実装

# 依存関係インストール
npm install playwright @anthropic-ai/sdk zod
npx playwright install chromium
// scripts/screen-jobs.ts
import Anthropic from '@anthropic-ai/sdk';
import { z } from 'zod';

const JobSchema = z.object({
  title: z.string(),
  monthlyRate: z.number(),
  remoteRatio: z.number().min(0).max(100),
  techStack: z.array(z.string()),
  scores: z.object({
    skillGrowth: z.number(),
    rateAppropriateness: z.number(),
    remote: z.number(),
    total: z.number(),
  }),
  recommendation: z.enum(['強く推奨', '推奨', '要検討', '非推奨']),
});

const client = new Anthropic();

async function scoreJob(jobText: string) {
  const response = await client.messages.create({
    model: 'claude-sonnet-4-6',
    max_tokens: 1024,
    messages: [{
      role: 'user',
      content: `以下の案件をOpenClaw評価基準で採点してJSON形式で返してください:\n\n${jobText}`,
    }],
  });

  const text = response.content[0].type === 'text' ? response.content[0].text : '';
  return JobSchema.parse(JSON.parse(text));
}

実際の出力例

案件: ECサイト保守(Java/Spring Boot)
総合スコア: 42/100
推奨度: 非推奨
理由:
  - スタック将来性: 低(レガシーJavaモノリス)
  - 単価: 月60万(シニア相場より15%低い)
  - リモート: 週1回のみ
  - スキルアップ機会: 限定的

案件: AIチャットボット開発(TypeScript/LLM)
総合スコア: 87/100
推奨度: 強く推奨
理由:
  - スタック将来性: 高(LLM/RAG領域)
  - 単価: 月85万(市場相場上位)
  - リモート: フルリモート
  - スキルアップ: AI開発実績が積める

実践ユースケース3:OpenClaw記憶をClaude Codeに注入するパターン

これが最も強力な連携パターンだ。OpenClawが蓄積したプロジェクト記憶・教訓・意思決定履歴を、Claude Codeのコンテキストに自動注入する。

記憶ファイルの構造化

OpenClawが管理するメモリファイル(実際の構造):

<!-- memory/project_decisions.md -->
---
name: api-architecture-decision
description: REST vs GraphQL の選択経緯
metadata:
  type: project
---

2026-03-15: REST APIを選択。
**Why:** フロントチームのGraphQL習熟度不足、デバッグのシンプルさを優先
**How to apply:** 新エンドポイント追加時はREST準拠。GraphQL移行は2027年Q1以降

CLAUDE.mdへの自動エクスポートスクリプト

#!/bin/bash
# scripts/sync-openclaw-memory.sh
# OpenClawのメモリをClaude Codeのコンテキストに同期

MEMORY_DIR="/Users/apple/.claude/projects/$(basename $PWD)/memory"
CLAUDE_MD=".claude/CLAUDE.md"

# メモリから重要な意思決定を抽出
echo "## OpenClaw記憶(自動同期 $(date +%Y-%m-%d))" > /tmp/openclaw_context.md

for file in $MEMORY_DIR/project_*.md; do
  if [ -f "$file" ]; then
    echo "### $(basename $file .md)" >> /tmp/openclaw_context.md
    # frontmatter以降のbodyのみ抽出
    awk '/^---/{f=!f;next}!f' "$file" | head -20 >> /tmp/openclaw_context.md
    echo "" >> /tmp/openclaw_context.md
  fi
done

# CLAUDE.mdに追記
cat /tmp/openclaw_context.md >> $CLAUDE_MD
echo "✅ OpenClaw記憶をClaude Codeに同期しました"

実際の効果

この同期スクリプトを導入してから、Claude Codeとのやり取りが劇的に変わった。

以前(記憶なし)

> 認証の実装方針を教えてください
< JWT vs Sessionどちらにしますか?要件を教えてください...

以後(OpenClaw記憶注入済み)

> 認証の実装を追加してください
< 記憶にあるアーキテクチャ決定に従い、JWT(RS256)で実装します。
  前回2026-02-10に決定したリフレッシュトークンローテーション戦略も含めます。

実践ユースケース4:フリーランス転向時の収益シミュレーター

SES脱出を考えるエンジニアが最も気になるのは「フリーランスになっていくら稼げるか」だ。OpenClaw CFOスキルとClaude Codeを組み合わせて、パーソナライズされた収益シミュレーターを作った。

OpenClaw CFOで財務モデル設計

/cfo

SESエンジニア(経験5年、月単価55万)がフリーランス転向した場合の
3年間収益シミュレーションを設計してほしい。
変数: 稼働率、単価成長率、経費率、税率

Claude Codeで対話型シミュレーター実装

// app/simulator/page.tsx
'use client';
import { useState } from 'react';
import { LineChart, Line, XAxis, YAxis, Tooltip, Legend } from 'recharts';

interface SimParams {
  currentRate: number;      // 現在の月単価(万円)
  experience: number;       // 経験年数
  targetUtilization: number; // 目標稼働率(%)
  expenseRatio: number;     // 経費率(%)
}

function simulate(params: SimParams) {
  const months = Array.from({ length: 36 }, (_, i) => i + 1);
  
  return months.map(month => {
    // 単価は6ヶ月ごとに3-8%成長(経験・実績による)
    const rateGrowth = Math.pow(1 + (params.experience >= 5 ? 0.05 : 0.03), month / 6);
    const monthlyRate = params.currentRate * rateGrowth;
    
    // 最初の3ヶ月は稼働率が低い(案件探し期間)
    const utilization = month <= 3
      ? params.targetUtilization * 0.6
      : params.targetUtilization;
    
    const grossRevenue = monthlyRate * (utilization / 100);
    const expenses = grossRevenue * (params.expenseRatio / 100);
    const taxableIncome = grossRevenue - expenses;
    // 個人事業主の実効税率(青色申告特別控除等考慮)
    const tax = taxableIncome * 0.28;
    const netIncome = taxableIncome - tax;
    
    return {
      month: `${Math.ceil(month/12)}${((month-1)%12)+1}月`,
      gross: Math.round(grossRevenue),
      net: Math.round(netIncome),
      rate: Math.round(monthlyRate),
    };
  });
}

export default function Simulator() {
  const [params, setParams] = useState<SimParams>({
    currentRate: 55,
    experience: 5,
    targetUtilization: 85,
    expenseRatio: 20,
  });

  const data = simulate(params);
  const year3Net = data.slice(24).reduce((sum, d) => sum + d.net, 0);

  return (
    <div className="p-8 max-w-4xl mx-auto">
      <h1 className="text-2xl font-bold mb-6">フリーランス転向収益シミュレーター</h1>
      
      {/* パラメーター入力 */}
      <div className="grid grid-cols-2 gap-4 mb-8">
        <label className="block">
          <span className="text-sm text-gray-600">現在の月単価万円</span>
          <input
            type="range" min={30} max={120} value={params.currentRate}
            onChange={e => setParams(p => ({...p, currentRate: +e.target.value}))}
            className="w-full"
          />
          <span className="font-bold">{params.currentRate}万円</span>
        </label>
        {/* 他のパラメーターも同様 */}
      </div>
      
      <LineChart width={700} height={350} data={data}>
        <XAxis dataKey="month" interval={5} />
        <YAxis />
        <Tooltip formatter={(v: number) => `${v}万円`} />
        <Legend />
        <Line type="monotone" dataKey="gross" stroke="#8884d8" name="粗収入" />
        <Line type="monotone" dataKey="net" stroke="#82ca9d" name="手取り" />
      </LineChart>
      
      <div className="mt-4 p-4 bg-green-50 rounded-lg">
        <p className="text-lg">3年目の年収見込み: <span className="font-bold text-2xl text-green-600">{year3Net}万円</span></p>
      </div>
    </div>
  );
}

OpenClaw×Claude Code連携の設計原則

3ヶ月使い込んで見えてきた原則をまとめる。

原則1:「何を」と「どう」を分離する

OpenClawが「何を作るか・なぜ作るか」を決定し、Claude Codeが「どう実装するか」を担当する。この分離を崩すと両方が中途半端になる。

原則2:構造化アウトプットを橋渡しにする

OpenClawの出力はプレーンテキストではなく、YAML・JSONなど構造化形式で受け取る。これをClaude Codeへの入力にすることで、AIからAIへの情報転送ロスを最小化できる。

# OpenClawの意思決定をJSON保存
/coo --output json > decisions/2026-06-27-architecture.json

# Claude Codeに渡す
claude "decisions/2026-06-27-architecture.jsonに基づいて実装してください"

原則3:メモリの一元管理

OpenClawのmemoryディレクトリをプロジェクトの「唯一の真実の源」とする。Claude Codeは実行するが、決定はOpenClawの記憶に残す。

/Users/apple/.claude/projects/<project>/memory/
  ├── user_role.md          # 誰が使うか
  ├── feedback_*.md         # うまくいったこと/失敗
  ├── project_decisions.md  # 技術的意思決定
  └── MEMORY.md             # インデックス

原則4:データ分析フローの自動化

OpenClawが「どのデータを分析すべきか」を判断し、Claude Codeが「分析スクリプトを書いて実行する」。

# 週次レポート自動化の例
0 9 * * 1 cd /Users/apple/projects/dashboard && \
  /usr/local/bin/claude -p "OpenClaw記憶に基づいて今週のKPIレポートを生成してください" \
  > reports/weekly-$(date +%Y%m%d).md

SES 1年目転職を考えるなら、今すぐやるべきこと

ここまで読んできたあなたが「SES脱出」を目指しているなら、AIツールの習得が最速の差別化になる。

2026年現在のフリーランスエンジニア市場では、AIを使いこなせる人材使えない人材で案件の質と単価に明確な差が出始めている。

今日からできるアクションプラン

Week 1-2: 環境構築

# Claude Code インストール
npm install -g @anthropic-ai/claude-code

# OpenClaw連携(プロジェクト記憶の整備)
mkdir -p ~/.claude/projects/$(basename $PWD)/memory
touch ~/.claude/projects/$(basename $PWD)/memory/MEMORY.md

Week 3-4: 実務適用

  • 現在のSES案件の一つをOpenClaw+Claude Codeで自動化
  • 「AI使って業務効率化した事例」をポートフォリオに追加
  • フリーランスエージェントへの登録(単価相場の把握)

Month 2-3: 収益化

  • 副業案件の受注(月5-10万からスタート)
  • AIツール活用の実績を積んでフリーランス案件の単価交渉材料にする
  • OpenClawで個人事業の財務管理を始める

まとめ:AIツール連携が実現する開発体験

OpenClaw×Claude Codeの連携は「2つのAIを使う」というより、「AIに経営判断と実装を分業させる」という感覚に近い。

  • OpenClawが記憶し・考え・指示する
  • Claude Codeが実装し・検証し・デプロイする
  • 人間はその間で意思決定と品質判断をする

この体制で動くと、一人の開発者が以前の3-5人分の生産性を出せる場面が増えてくる。それがSES脱出・フリーランス転向後の競争力に直結する。

データ分析ツールの自動構築、案件スクリーニング、収益シミュレーション——これらすべてが2026年現在、個人でも現実的に構築できる射程内に入っている。

関連記事


AI駆動塾 — AIを使ったスモビジの作り方を学ぶ

Claude Code、OpenClaw、AI経営OSの実践ノウハウを毎週公開中。
月額¥4,980で過去記事すべて読み放題。

noteメンバーシップに参加する →


💼 フリーランスエンジニアの案件をお探しですか?

SES解体新書 フリーランスDBでは、高単価案件を多数掲載中です。

  • ✅ マージン率公開で透明な取引
  • ✅ AI/クラウド/Web系の厳選案件
  • ✅ 専任コーディネーターが単価交渉をサポート

無料でエンジニア登録する

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?