エンジニアのコーディングを変えたAIエージェントで一番人気のClaude Codeの初めの一歩のちょうどいい書籍として読んでみました。
これからAIプログラミングを始める人には比較的読みやすくて入り口にはちょうど良い書籍だと思ったので、Amazonの評価が高いのもよくわかりました。
digital-text
(2026-03-16 時点)
評価
★★★★☆ストーリーで進行して、AIプログラミング初心者がClaude Codeを覚えていって、使いこなしていき、会社で活躍していくサクセスストーリーです。 この本を読んで思ったのは、ストーリーの主人公は元々エンジニアとして働いていた技術者だったという点です。 途中でAIが作った仕様やドキュメント、プログラム構成などについて、レビューをすることが重要と言われていたので、 これからプログラミングを始めようと言う初心者には、少し難しめの本かもしれません。 これまで2週間ぐらいかかっていた作業が1週間ぐらいで完了できるようになったと言うのは、実際のAI開発を導入した会社の技術者から聞くことが増えてきたので、 エンジニア工数を半分ぐらいに減らして、人員削減に走る会社と、開発工数が短くなった分、作業量を増やすのかは、会社の経営体質によるかもしれませんが、 エンジニアであれば、一人で会社を立ち上げることが十分に可能であるという証明にもなりそうですね。
この書籍の学びポイント
いつものように、書籍で自分が学んだポイントを抜粋しておきます。 詳しく知りたい人は是非書籍を購読してみてね。AIコーディングの悩み
・AIが書いたコードの全体像が見えない ・既存の大規模コードにAIをどのように運用すればいいかわからない ・AIに自分たちのコード規約を守らせられない ・AI時代に不安を感じている人仕事などのAIコーディングで、こんな悩みをお持ちの方は、この書籍でこれらの悩みの解消についてのヒントや解決法が書かれています。
AI駆動開発
Claude Codeは、CLIを使ったAI駆動開発で行うことが基本です。 短期間でのプロトタイプ開発やモックアップ開発などに向いているAIコーディングツールです。 この書籍では、そんな少し無茶振りな仕事を押し付けられた主人公が、Claude Codeに出会い(先輩に教えてもらい)、 まずは設計からスタートするところからスタートします。 自分のパソコンにClaude Codeをインストールしたら、あとは、ターミナルに「claude」と打ち込むだけ・・・ こんな導入から、世界が広がり始めます。 これまでの「Hello World」ではなく、「claude」に世界の常識が変わる感じがしましたね。ルールをAIに教える
claude.mdと言うファイルに、ルールを書くことで、Claude Codeは、従順にルールを守ってくれるようになります。 書籍に書かれていた、サンプルコード[claude.md]
# CLAUDE.md -工数管理システム
## コーディング規約
- 变数名:lowerCamelCase(例:userId,orderCount)
- 例外処理: CustomExceptionを必ず使う。素のRuntimeExceptionは禁止
- Repositoryの戻り値:Optional型で統一
#アーキテクチャ
- Controller → Service → Repository D3E
- DTOとEntityは分離する
##禁止事項
- System.out.printin()でのログ出力(SLF4Jを使うこと)
- マジックナンバーの直書き(定数クラスに定義すること)
- SOLの直書き(JPAのRepositoryメソッドを使うこと)
マークダウンで、日本語で書けるので、英語がわからない人でも安易に構築することができるのがわかります。
すでに、実際の仕事の開発チームでコーディングルールや色々の作業手順などの規則があるのであれば、それをそのまま記述してみるとAIに安心して開発をしてもらうことができるようになるんですね。
Skills
Claude Codeには、強力な機能の一つである「Skills」があります。 自分の作業マクロ化するような使い方ができるんですが、 面白い点としては、他の人が公開している Skills を使うこともできるので、Skillsと言う機能をOSS化しているような感覚で使える機能です。 具体的には、「カスタムスラッシュコマンド」と言うらしいです。# まず、ディレクトリを作成して
mkdir -p .claude/commands
# 以下を記載
<!-- .claude/commands/test.md -->
以下のクラス/メソッドのユニットテストを作成してください:
## テスト方針
- テストクラス名: 対象クラス名 + Test(例: UserServiceTest)
- テストメソッド名: test + 対象メソッド名 + テストケースの説明(日本語可)
- 正常系テスト: 少なくとも2ケース
- 異常系テスト: 少なくとも2ケース(例外が正しくスローされることを確認)
- 境界値テスト: 該当する場合は1ケース以上
## 使用するライブラリ
- JUnit 5
- Mockito(依存クラスのモック用)
- AssertJ(アサーション用)
対象: $ARGUMENTS
こんな感じで、テストコードのskillsが作成できます。
AI協働テスト
Plan modeで戦略を立てることで、AIに計画を作成してもらうことができます。 正常系、異常系、境界値パターンなど、 立案から、テストコード生成、それらを実施するところまでを全てサクッとやってくれます。 それぞれが、人が行う場合の手順書や、システム更新時のドキュメントからコード修正までをAIがやってくれるので、今後は人がこうした点を考える必要ななくなりそうです。 でも、それらが、システム全体のテスト網羅性があるかどうかの判断は人が行わないといけないし、妥当性や無駄などの判断もAIに任せっきりにはできないのが現状です。大規模システムのリファクタリング
Claude Codeにリポジトリ全体を理解してもらい、 各種のドキュメントを整えてもらうことで、レガシーシステムなどへの対応はAIにほぼ任せることができます。 また、システム運用として重要な、モジュールアップデートなどに伴う改修や、コードの効率化を追求するリファクタリングなども、AIが請け負ってくれることが可能になります。 まずは、以下を入力してみると、どんなレガシーコードも瞬く間に解析してくれるでしょう。このリポジトリの全体構造を説明して。
主要なパッケージ、エントリーポイント、データフローを整理して。
特に重要なドメインモデルとその関連を図示して。
もはや、ドキュメントが無いと言う組織開発の悩みもこれ一発で解決するかもしれませんね。
Subagent(サブエージェント)
Claude Codeは通常AIエージェントツールとして知られていますが、CLIで対話式に進めていると、1つの作業しかできないもどかしさがあります。 Claude Codeでは、サブエージェントという機能があり、複数のエージェントを同時に走らせることができる仕組みがあります。 テストを行っている一方で、同時にリファクタリングを行う・・・といったことが実現できます。 イメージは、複数人いる開発チームの別担当同士が同時に作業を行うような感じで、それをマネジメントするための命令を与えるだけなんですね。 いわゆる「マルチスレッド化」です。コードレビュー
「AIが書いたコードは、AIにレビューさせろ」 これは名言ですね。 通常、人が作ったコードは、他人がレビューしないと、問題点の検知がしずらいと言うことはありますが、AIはそんなことは関係ありません。 サンプルとして、次のように投げてあげるだけで、AIが自分で作ったコードをPRベースにレビューし始めます。このPRの差分をレビューしてください。以下の観点で問題点を指摘してください:
1. セキュリティリスク(SQLインジェクション、XSS、認証バイパス等)
2. 不必要な複雑さ(現在の要件に対してオーバーエンジニアリングな設計)
3. テスト漏れ(テストされていないエッジケース)
4. CLAUDE.mdの規約違反
5. パフォーマンスの問題(N+1問題、不要なDBアクセス等)
問題を見つけたら、該当コードと改善案をセットで提示してください。
レビューの内容などは、開発組織に合わせて適宜変えるといいでしょうね。

0 件のコメント:
コメントを投稿