AIエージェントは、ユーザーの代わりに自分で考えて仕事を進めてくれるAIです。人が細かく指示しなくても、目標に向かって必要な作業を自動でやってくれます。さらに、いくつかのAIを組み合わせて、今までできなかったような複雑な仕事もこなせるのが特徴です。
なお、AIエージェントでは多種多様な仕事をこなすことが期待できるのですが、今回はAIエージェントのうち、プログラムコード自動生成機能(コーディングエージェント)に特化して紹介します。それ以外の機能や事例は次回以降に紹介します。
つまり、AIエージェントに対して「課題があって、それを解決する手段としてシステムを作って動かしたい」と指示するだけで、必要なプログラムを作成してくれる、という流れです。細かい説明よりも、まずは実際に試してみましょう。
OpenAIが提供している「CodeX CLI」というツールを使ってみます。
同様のツールは他の生成AIでも展開されており、例えばAnthropicの「Claude Code」やGoogleの「Gemini CLI」、AIエディタのCursorが提供する「Cursor CLI」などがあります。どれを選んでも大丈夫です。
CodeXのセットアップやログイン方法は、ここでは詳しく書きません。ネット上に参考になる記事が多いので、そちらを御覧ください。
CodeXをセットアップした環境(PCあるいはサーバのターミナル)で、作業用のディレクトリを作成します(今回は /User/kawaguchi_com/codex/myFirstPeoject)。
このディレクトリの中でシステムプロンプトファイル(AGENTS.md)に次のような指示を書いて、保存しておきます。なお、慣れてくると、このAGENTS.mdそのものをCodeXに書かせることもできます。
# Repository Guidelines (Streamlit) 技術スタックは Streamlit (Python) です。最小限の運用ガイドです。 docker compose で動作させることを想定しています。 データの永続化は SQlite3 を使います。 /User/kawaguchi_com/codex/myFirstPeoject より上の階層のファイルはのフォルダは絶対に書き換えないでください。 ## 構成 - アプリ: `app/`(例: `app/main.py`) - テスト: `tests/` - ドキュメント: `docs/` - 静的: `assets/` - スクリプト: `scripts/` ## よく使うコマンド - 実行: `streamlit run app/main.py --server.port 8501` - セットアップ: `pip install -r requirements.txt` - テスト: `pytest -q` - Lint: `ruff check app tests && black --check app tests && isort --check-only a pp tests` - 整形: `isort app tests && black app tests` ## コーディング - Python: Black(4スペース) + isort + Ruff - UI は Streamlit、ロジックは関数/クラスに分離(テスト容易性のため) ## 秘密情報 - `.env` と `.streamlit/secrets.toml` はコミットしない - 配布は `.env.example` を使用 ## 付録(必要に応じて設置) ### .env.example STREAMLIT_PORT=8501 STREAMLIT_BROWSER_GATHER_USAGE_STATS=false ### .gitignore 追記 .env .venv/ __pycache__/ *.pyc .pytest_cache/ .streamlit/secrets.toml
ここまで準備したら、CodeXを実行して、次のような問いかけをしてみましょう。前回紹介した「庁内ワークシェアリング」を管理するためのシステムを作ることにします。簡単におさらいしておくと、生産性の低い残業をなくすために、
――といった「庁内ワークシェアリング」の実施を前回の記事で提案したのでした。
# 指示 - 次に示す「プログラムの概要」を参照して、新規に開発してください。 - 不明点がある場合は質問してください。 # プログラムの概要 - 私達の自治体の中で動作させるWebサービスです。 - 募集者は自分たちの部署で時間外作業として実施して欲しい内容を掲示し、募集を受け付けます。 - 応募者は募集に対して応募します。一つの募集にしか応募できません。 - 双方がマッチングすれば作業依頼成立です。 - 募集に対して応募者が多い場合は応募締切後に抽選となります。 - 抽選に漏れた応募者は他の募集に応募することができます。 - 利用者種別は3つです。 - 管理者:システム上のデータメンテナンスを行う者 - 募集者:作業内容を掲示し募集を受け付ける者 - 応募者:掲示された募集に対して応募する者 - 募集の際に掲示する事項 - 作業日時 - 募集者と担当者連絡先 - 応募締切時間 - 作業内容 - 想定作業時間 - 作業に際して募集者から与えられるもの - 作業の結果求める成果物 - その他注意事項
これでCodeXと対話しながら、プログラム作成を進めていきます。
作成したプログラムを実行した際、エラーが出ることもありますが、エラーの内容をコピー&ペーストして伝えると、CodeXが自分でエラーの原因を調べて、修正してくれます。その結果、このようなWebサービスを作ることができました。
運用してみて、機能追加が必要ならば、後からでもCodeXの指示をしてプログラムの修正もしてくれます。
また、基本的には目的が達成できたら、このプログラムは捨てるべきですが、もし組織でこのWebサービスを継続運用していくのならば、CodeXにプログラムの仕様書を書かせることもできますので、事業者に保守を引き継いでもらいやすくできます。
CodeXは他のコーディングエージェントに比べて、まだ荒削りなところがありますので、他のエージェントも試してみると良いと思います。
次回はプログラム作成以外のAIエージェントの使い道を一緒に考えてみましょう。
「志はある。でも……」 自治体職員の意欲が育たないのはなぜ? デジタル化以前に取り組むべきこと
デジタル人材を入れたのに、なぜ失敗? 自治体DXに潜む「構造的ミスマッチ」とは
DXが進まない自治体、職員の行動を阻むものとは……? Deep Researchが出した答えは
ネットワーク分離環境でもクラウド版Office製品を使うには? 自治体CIO補佐官が自作した、おすすめツール2選
行政に欠けている「デジタル人材育成」の概念 スキル研修が機能しない理由は?Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR注目記事ランキング