AIエージェント×株の自動売買システム構築ログ #1
CursorなどのAIエディタの進化により、エンジニアが「コードを一行ずつ書く」時代から「AIと対話してシステムを組み上げる」時代へとシフトしてきました。自然言語によるディスカッションを通じて、複雑なロジックも即座に形にできる現在、私は長年温めていたプロジェクトを始動させることにしました。
それが、「株の自動売買システムの構築」です。人間の感情が入らないので決められたルール通りに取引してくれるのが強みです。
開発ポリシー:AIエージェントによるフルオート開発
今回のプロジェクトにおいて、私が自分自身に課したポリシーは、「コードの記述はすべてAIエージェントに任せる」というものです。
人間は仕様(Specification)の定義と、AIとの対話を通じた意思決定に専念します。メインの実装エージェントには、その卓越した推論能力とプログラミングへの深い理解から、現在最も信頼を置いている「Claude」を採用します。 また、広範な仕様の壁打ちやアイデア出しのパートナーには「Gemini」を使い分けることで、思考の解像度を高める体制を整えました。
開発スタイルとツール構成
| 項目 | 採用ツール / ポリシー | 役割 |
|---|---|---|
| メインAI | Claude | ロジック実装・コード生成 |
| エディタ | Cursor | AIネイティブな統合開発環境 |
| 開発スタイル | AIエージェント駆動開発(Agent-Driven Development) | プロンプトベースの自動構築 |
| 設計思想 | Specification-First(仕様第一主義) | 実装前の厳密なドキュメント定義 |
| 相談役 | Gemini | 大局的な設計相談・リサーチ |
なぜ今、Claudeなのか
自動売買のような「ミスの許されないシステム」の構築において、Claudeの日本語ニュアンスへの理解力と論理的思考の深さは極めて重要です。 対話形式でディスカッションを重ね、エッジケースを一つずつ潰しながら最適なデータ構造を見つけるプロセスにおいて、Claudeはもはや単なる補完ツールではなく、対等な「ペアプログラマー」としての役割を果たします。
AIエージェントを最大限に活かす3ステップ
- コンテキストの最適化: AIがプロジェクト全体を俯瞰できるよう、ディレクトリ構成やルールを明文化したファイルを配置。
- 仕様からのディスカッション: 抽象的な「願望」から入り、AI側に具体的な実装パターンを複数提案させる。
- 継続的なセルフレビュー: AIが生成したコードに対し、別の視点からAI自身に再検証を求めることで、堅牢性を担保。
採用した技術スタックの選定理由
開発環境のクリーンさと、ブログとしての配信パフォーマンスを両立するため、以下の構成を選択しました。
1. Docker (DevContainer)
開発環境において、最も重視したのは「環境の再現性」と「ホストOSの清潔さ」です。
- 依存関係の分離: ランタイムをローカルマシンに直接インストールせず、コンテナ内に閉じ込めることで、他プロジェクトとのバージョン競合を完全に排除します。
- Infrastructure as Code (IaC): 開発環境をコード化することで、どのマシンからでもリポジトリをクローンした瞬間に、全く同じ環境で開発を再開できるポータビリティを確保しました。
2. Cloudflare Pages (Astro)
情報発信の拠点として、VPSではなくCloudflare PagesとAstroを選択しました。
- デプロイの摩擦ゼロ: GitHubへプッシュするだけで、ビルドから世界中への配信までが全自動で完了します。
- 運用コストの最小化: OSのアップデートやセキュリティ設定といった「サーバーの世話」から解放され、本質的な「自動売買ロジックの構築」にリソースを集中するためです。
次は、自動売買の心臓部となる「証券会社APIの選定と接続」についてレポートする予定です。