GenericAgent

lsdefine / MIT — 約3K行の Python コアと 9 個の原子ツールでローカル環境を制御する自己進化エージェント

1 — 概要

GenericAgent は、スキルを事前に大量に同梱せず、実行のたびに Skill へ結晶化していく設計の自律エージェント枠組みだ。コアは約 3K 行、agent_loop.py のループは約百行。ブラウザ(実ブラウザ注入・セッション維持)、ターミナル、ファイル、キーボード/マウス、画面視覚、ADB 経由のモバイルまで、LLM に OS 近傍の操作を渡す。

9+2原子ツール + 記憶系
L0–L4レイヤード記憶
~100行Agent Loop
多モデルClaude / Gemini ほか

解説の正はローカルの repos/GenericAgent(README・GETTING_STARTED)に準拠する。公式リポジトリは github.com/lsdefine/GenericAgent。

設計思想: 「プリロードした巨大スキル群」ではなく、タスクを解くたびに手順を Skill として蓄積する。利用が長いほど、自分専用のスキル木が育つ。
2 — 自己進化の流れ

初回は依存導入・スクリプト作成・検証まで自律探索し、成功パスをメモリ層に書き込む。以降は同種タスクを短い指示で再利用できる、という README のパイプラインを図示する。

flowchart TD
  T[新規タスク] --> E[探索・実行・検証]
  E --> C[実行パスを Skill 化]
  C --> M[記憶層へ書込]
  M --> R[次回は短い指示で再利用]
3 — 記憶・ループ・ツール
層役割(README の整理)
L0メタルール — エージェントの根幹の振る舞いと制約
L1Insight Index — 高速ルーティング用の最小インデックス
L2Global Facts — 長期運用で安定した知識
L3Task Skills / SOPs — タスク種別ごとの再利用手順
L4Session Archive — 完了セッションから蒸留したアーカイブ(長期想起)

Autonomous Execution Loop

環境認識 → 推論 → ツール実行 → 経験の記憶への書き戻し、を agent_loop.py が回す。コード量は README 上「約百行」。

ツール名役割
code_run任意コード実行(パッケージ導入やスクリプト生成の土台)
file_read / file_write / file_patchファイル読み書き・差分適用
web_scan / web_execute_jsページ認識とブラウザ操作
ask_userヒト介入の確認
update_working_checkpoint / start_long_term_updateセッション横断の記憶更新(README 上 2 個の記憶系ツール)
4 — クイックスタート
# 1. 取得
git clone https://github.com/lsdefine/GenericAgent.git
cd GenericAgent

# 2. 最小依存(README)
pip install streamlit pywebview

# 3. API キー
cp mykey_template.py mykey.py
# mykey.py を編集

# 4. 起動(GUI)
python launch.pyw

CLI から試す場合は python agentmain.py(GETTING_STARTED.md)。変数名ルール(oai_* / claude_* / native_* など)で OpenAI 互換・Claude 互換・標準ツール呼び出し形式が切り替わる。

  • Python は 3.11 / 3.12 推奨。3.14 は pywebview 等との非互換として言及あり。
  • apibase は末尾のパス有無で自動連結の挙動が変わる(ホストのみ / /v1 / フルパス)。
5 — 類似ツールとの比較
観点GenericAgentOpenClawClaude Code
コード規模~3K 行コア~53 万行規模(README 記載)大規模オープンソース
デプロイpip + API キーマルチサービスCLI + サブスク
ブラウザ実ブラウザ注入・セッション維持サンドボックス/ヘッドレスMCP 経由など
OS 操作キーボード・マウス・視覚・ADBマルチエージェント委譲主にファイル + ターミナル
自己進化Skill の自律蓄積プラグインエコシステムセッション間はステートレス寄り

数値・製品名は README の比較表に依拠。利用時は各プロダクトの最新ドキュメントを確認してほしい。

6 — UI と Bot フロント
  • デフォルト: Streamlit + pywebview(launch.pyw)
  • その他 GUI: frontends/qtapp.py、streamlit run frontends/stapp2.py など
  • チャット系: Telegram、個人 WeChat、QQ、飛書、企業微信、钉钉 など README にエントリあり。必要パッケージと mykey.py の変数がそれぞれ異なる。