GenericAgent
lsdefine / MIT — 約3K行の Python コアと 9 個の原子ツールでローカル環境を制御する自己進化エージェント
位置づけ
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 として蓄積する。利用が長いほど、自分専用のスキル木が育つ。
タスクから Skill へ
初回は依存導入・スクリプト作成・検証まで自律探索し、成功パスをメモリ層に書き込む。以降は同種タスクを短い指示で再利用できる、という README のパイプラインを図示する。
flowchart TD T[新規タスク] --> E[探索・実行・検証] E --> C[実行パスを Skill 化] C --> M[記憶層へ書込] M --> R[次回は短い指示で再利用]
レイヤード記憶(L0–L4)
| 層 | 役割(README の整理) |
|---|---|
| L0 | メタルール — エージェントの根幹の振る舞いと制約 |
| L1 | Insight Index — 高速ルーティング用の最小インデックス |
| L2 | Global Facts — 長期運用で安定した知識 |
| L3 | Task Skills / SOPs — タスク種別ごとの再利用手順 |
| L4 | Session 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 個の記憶系ツール) |
標準インストール
# 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.pywCLI から試す場合は python agentmain.py(GETTING_STARTED.md)。変数名ルール(oai_* / claude_* / native_* など)で OpenAI 互換・Claude 互換・標準ツール呼び出し形式が切り替わる。
GETTING_STARTED の注意
- Python は 3.11 / 3.12 推奨。3.14 は pywebview 等との非互換として言及あり。
apibaseは末尾のパス有無で自動連結の挙動が変わる(ホストのみ //v1/ フルパス)。
README のマトリクス要約
| 観点 | GenericAgent | OpenClaw | Claude Code |
|---|---|---|---|
| コード規模 | ~3K 行コア | ~53 万行規模(README 記載) | 大規模オープンソース |
| デプロイ | pip + API キー | マルチサービス | CLI + サブスク |
| ブラウザ | 実ブラウザ注入・セッション維持 | サンドボックス/ヘッドレス | MCP 経由など |
| OS 操作 | キーボード・マウス・視覚・ADB | マルチエージェント委譲 | 主にファイル + ターミナル |
| 自己進化 | Skill の自律蓄積 | プラグインエコシステム | セッション間はステートレス寄り |
数値・製品名は README の比較表に依拠。利用時は各プロダクトの最新ドキュメントを確認してほしい。
代表例
- デフォルト: Streamlit + pywebview(
launch.pyw) - その他 GUI:
frontends/qtapp.py、streamlit run frontends/stapp2.pyなど - チャット系: Telegram、個人 WeChat、QQ、飛書、企業微信、钉钉 など README にエントリあり。必要パッケージと
mykey.pyの変数がそれぞれ異なる。
公式・ソース
- GitHub: lsdefine/GenericAgent
- リポジトリ内:
README.md、GETTING_STARTED.md、LICENSE(MIT)