はじめまして、Orangと申します。私は現在37歳で、いわゆる「プログラミング未経験」の人間です。Pythonのコードを一行も自力で書いたことはありません。
しかし現在、私のローカルPC上では、**24時間365日、自律的に稼働し続けるAIエコシステム「System Lagrange」**が動いています。このシステムは、自らリサーチを行い、記事を執筆し、NotebookLMに知識を蓄積し、品質チェックを経て各プラットフォームへ配信するまでを全自動で行います。
「プログラミングができないのに、どうやって構築したのか?」
その答えは、「コードを書く」ことをAI(Cursor + Claude)に完全に委ね、「システムの設計とディレクション」に特化したからです。私はプログラミングの文法を覚える代わりに、プロダクトマネージャー(PM)やシステムアーキテクトとしてAIと対話することを選びました。
本記事では、非エンジニアがAIと共に作り上げた自律型AIエコシステムの全設計図を公開します。
1. 全体アーキテクチャ:3層構造の設計思想
System Lagrangeは、役割ごとに分離された3つのレイヤーで構成されています。この疎結合な設計により、一部の機能が停止してもシステム全体が崩壊しない堅牢性を確保しています。
┌─────────────────────────────────────────┐
│ Layer 3: Distribution │
│ Note / Zenn / Qiita / X / BOOTH │
│ (自動配信・自動投稿パイプライン) │
├─────────────────────────────────────────┤
│ Layer 2: Production │
│ ドラフト生成 / 品質チェック / 音声合成 │
│ (content_pipeline.py / quality_gate) │
├─────────────────────────────────────────┤
│ Layer 1: Research │
│ Deep Research Loop / NotebookLM連携 │
│ Gemini API / Search Grounding │
│ (research_daemon.py → deep_research) │
└─────────────────────────────────────────┘
各レイヤーの役割
- Layer 1 (Research): インプット層。Gemini APIのSearch Grounding機能を活用し、Web上の最新情報を収集。独自の知識グラフを構築します。
- Layer 2 (Production): 加工層。収集したデータを元に、ターゲットに合わせた記事ドラフトを作成。AIによる多段階の品質チェック(Quality Gate)を行います。
- Layer 3 (Distribution): アウトプット層。APIやスクレイピングを用いて、各SNSやブログプラットフォームへ自動投稿します。
2. 心臓部:Research Daemonによる自律スケジューリング
システムの中心で指揮を執るのは research_daemon.py というデーモンプロセスです。このスクリプトは、あらかじめ定義されたタイムテーブルに従って、各エージェントを起動します。
非エンジニアである私は、AIに対して「Googleカレンダーのようなスケジュール機能をPythonで実装してくれ」と指示し、以下のスケジュールを組み込みました。
| 時刻 | アクション | 内容 |
|---|---|---|
| 毎6分 | Deep Research Loop | トピックの深掘りと知識の蓄積 |
| 09:00 | Kaizen | ログを分析し、システム自身のプロンプトを改善 |
| 10:00 | Ouroboros | 戦略的自己分析(次に攻めるべきジャンルの選定) |
| 12:00 | Content Pipeline | 蓄積された知識から記事ドラフトを生成 |
| 13:00 | Distribution | Zenn/Qiita/X等への配信処理 |
| 21:00 | Daily Digest | その日の活動ログを要約し、人間に報告 |
実装コードの断片(AIが生成)
以下は、AIが作成したスケジューラーの一部です。scheduleライブラリを使用するように指示されました。
import schedule
import time
import subprocess
from datetime import datetime
def run_task(script_name):
print(f"[{datetime.now()}] Starting task: {script_name}")
try:
subprocess.run(["python", script_name], check=True)
except Exception as e:
print(f"Error running {script_name}: {e}")
# スケジュールの定義
schedule.every(6).minutes.do(run_task, "deep_research.py")
schedule.every().day.at("09:00").do(run_task, "system_kaizen.py")
schedule.every().day.at("12:00").do(run_task, "generate_content.py")
schedule.every().day.at("13:00").do(run_task, "distribute_posts.py")
print("System Lagrange Daemon Started...")
while True:
schedule.run_pending()
time.sleep(1)
3. Deep Research Loop:OODAループによる自律思考
このシステムの最もユニークな点は、リサーチプロセスに軍事戦略のOODAループを採用していることです。単に検索してまとめるのではなく、AIが「今、自分は何を知らないのか」を自律的に判断します。
- Observe(観察): 現在の知識ベース(Markdownファイル群)をスキャンし、情報の欠落や矛盾を見つける。
- Orient(情勢判断): Gemini APIに「次にどのトピックを深掘りすべきか」を問いかけ、優先順位を決定。
- Decide(意思決定): 実行するアクション(Web検索、NotebookLMへの書き込み、詳細分析など)を選択。
- Act(実行): 選択されたアクションを実行し、結果を保存。
このループを1セッションで5サイクル回すことで、人間が介入することなく、一つのテーマについて専門家レベルの知識を蓄積していきます。
トピック管理(seed_topics.yaml)
リサーチの種となるトピックはYAML形式で管理しています。
topics:
- name: "LLM Agents"
priority: high
status: "in_progress"
- name: "Autonomous AI Ecosystems"
priority: medium
status: "backlog"
- name: "Multi-modal RAG"
priority: high
status: "completed"
4. 安全装置:AIの暴走を止める「キルスイッチ」
24時間自律駆動させる上で最大の懸念は、APIコストの暴走や無限ループです。非エンジニアだからこそ、この「安全設計」にはこだわりました。
-
物理キルスイッチ: 特定のディレクトリに
stop.flagという空ファイルが存在する場合、全プロセスが即座に終了する仕組み。 -
日次サイクル上限:
deep_research.pyは1日最大80サイクルまでとハードコーディングし、それ以上は翌日まで起動しない。 - 予算監視: 各APIの利用状況をログ化し、設定した閾値を超えた場合に通知を送る。
キルスイッチの実装例
import os
import sys
def check_kill_switch():
if os.path.exists("System/stop.flag"):
print("Kill switch detected. Shutting down...")
# 終了前にログを保存
sys.exit(0)
# 各ループの冒頭で呼び出す
check_kill_switch()
5. 「やってみた」から分かった成果と限界
5週間の運用を経て、以下のような成果が得られました。
成果
- リサーチの自動化: 1週間で30本以上の詳細なリサーチレポートが生成されました。
- コンテンツ生成: Note記事4本を公開。そのうち2本は、AIが生成したドラフトをほぼ無修正で投稿できました。
- 技術的成長: コードは書けませんが、APIのレートリミット、JSONのパースエラー、環境変数の管理といった「エンジニア的勘所」が身につきました。
限界と課題
- 収益化の壁: 仕組みは完璧ですが、まだ「読者に刺さるコンテンツ」を安定して生み出すには、人間の編集能力が必要です。
- 認証問題: NotebookLMなど、APIが公開されていないサービスへの自動アクセスは、セッション切れなどのトラブルが多く、完全自動化には至っていません。
-
文字コード問題: Windows環境での実行時、UnicodeEncodeErrorに何度も悩まされました。これもAIにエラーログを投げ続け、
encoding='utf-8'を徹底することで解決しました。
6. 非エンジニアがAIエコシステムを作るための5か条
これからAIを使ってシステムを構築したいと考えている方へ、私のアプローチをまとめます。
- 「何を作るか」の設計図を紙に書け: コードを生成する前に、データの流れを可視化してください。
- Cursor + Claudeを使い倒せ: VS Code互換のCursorは、プロジェクト全体のコンテキストを理解してくれるため、非エンジニアには必須のツールです。
- エラーログは「宝の山」: エラーが出たらラッキーだと思ってください。そのログをAIに渡せば、原因と対策を教えてくれます。
- 安全装置を最優先で作れ: 暴走を止める仕組みがないシステムは、怖くて動かせません。
- 「AIの同僚」として接する: AIはツールではなく、24時間働いてくれる優秀な(しかし時々勘違いをする)部下だと思ってディレクションしてください。
まとめ
プログラミングができないことは、もはや何かを創り出す上での障害ではありません。大切なのは、「どんな価値を生み出すシステムを作りたいか」というアーキテクトとしての視点です。
System Lagrangeはまだ発展途上です。今後は画像生成パイプラインの統合や、より高度な自己改善ループの実装を予定しています。皆さんも、AIという最強のパートナーと共に、自分だけの「自律エコシステム」を構築してみてはいかがでしょうか。
著者: Orang — System Lagrange Operator
2026年3月11日