0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI弱弱エンジニアがClaude Codeと出会った2025年

Posted at

1. はじめに

ネクストスケープ Application CoEチームの醍醐です。

この記事は「NEXTSCAPE Advent Calendar 2025」の22日目です。

弊社ではもう随分前からAIを利用する事が推奨されています。というか、使わないといけない / 使いこなせる人材にならなければならないというレベルでのメッセージが社長から常々発信されています。

私の直近の業務はPMとしての作業比率が高くなり、実装作業はエンジニアメンバーに任せるような状態となっていました。その為、資料や文書作成等にはAIを利用しているが、開発・実装へのAI活用からは離れたところに身を置いてしまっていました。

2. Claude Codeが話題に

そんな中、2025年春~夏頃 社内のTeams上でClaude Codeの話題を目にするようになりました。そして、ネット上でも自律型AIエージェントとして話題になっていました。
社内で希望者に対してライセンスの払い出しが行われたので、一足遅れて自分も触り始めました。
始めは Claude と Claude Code の違いも分からない、そんなポンコツ状態です。

3. まずは「バイブコーディング」から

とりあえず最初はプロンプトエンジニアリングなんて無視の以下のような指示から始めたと思います。

  • TODO管理Webアプリを作ってください

勿論こんな指示は正しい使い方ではありませんが、AIエージェントは文句も言わずにアウトプットしてくれます。
「何を作るのか」「機能の一覧」「使用する言語やフレームワーク、ライブラリ」「フロント・バックエンドのアーキテクチャ」なども補足したプロンプトを使うともう少し意図したものにマッチするものが作られます。
ただ、このレベルのノリで本格的なアプリケーションを作ろうとすると一定規模まで作り進めたところで破綻してきました。

  • トークン消費量が爆増してきた
    無計画にモノリスに実装が積み重ねられた結果、1つの機能を追加実装するのに必要なトークン消費が肥大化して、すぐトークンリミットを引き起こすようになりました
  • Claude Codeが作業を後回しにする
    複雑な実装処理になってきた結果、実装してほしい機能やテストをClaude Codeが保留して、とりあえずここまで作って残りは〇〇ステップの後で実装しましょう、という提案をしてきて実装が終わらなくなった

上記はバイブコーディングを否定するような記述ですが、バイブコーディングを行う上でのプロンプトによる指示方法のコツが掴めてくると、ちょっとしたツール、それなりのアプリも作ってくれる印象です。
※プロンプトをうまく指示すれば結構なアプリもバイブコーディングでも行けると思います

今まで、「業務でこんなツールが欲しいんだけど作るとしたら1週間くらいかかるかなぁ」と思いエンジニアタスクに積むのを躊躇していたようなものがAIエージェントを使うとサクッとバイブコーディングで完成させられそうです。

あらためて2025.12.20段階でSonet 4.5に以下の雑なプロンプトで指示を出してみました。

マインドマップアプリをReactを使って作ってください。

以下の4つほどの確認質問をしてくれたのでそれぞれ選択形式で答えました。

Q1. プロジェクトのセットアップにどのツールを使いますか? → Vite (Recommended)
Q2. TypeScriptを使用しますか? → Yes
Q3. マインドマップの視覚化にどのアプローチを使いますか? → React Flow (Recommended)
Q4. どの機能を実装しますか? → ノード追加/削除/編集, ドラッグ&ドロップ, 保存/読込み, エクスポート機能/

作られたものは以下です。従来であれば、今日作ってとエンジニアに依頼したら断られるレベルのものかと思います。

image.png

4. 社内からいろんなキーワードが聞こえてくる

社内には既にAI駆動開発で推進しているプロジェクトも立ち上がっていました(Cursorを採用したプロジェクトが多かったようです)。
Claude CodeやAI系の勉強会も立ち上がりはじめ、「フック機能が便利だぞ」「スラッシュコマンドを活用すべきだ」「サブエージェントを使ってロールの切り分けを」「実装とレビューで別のLLMを使用する」等々。。。
フックについて情報収集すると --dangerously-skip-permissionsモード についての話や、デンジャラススキップを安全に利用する為にはコンテナ上でClaude Codeを動かそうなど、Claude Code開発特有の色々な技術要素がある事を知りました。

自律型AIエージェントによる開発作業に関して、正直 ふわふわとした掴みどころのない感覚を持っていたのですが、AIエージェントにパートナーとして活躍してもらう為のテクニック、そんな世界の広がりを認識することが出来ました。

機能を拡張する「MCP (Model Context Protocol)」

「MCPを接続するとClaude Codeが賢くなるぞ」これも大きなトピックでした。

  • Microsoft Learn MCP Server
    Azureや.NET等のMicrosoftの公式ドキュメント情報をLLMに提供。これらの正確な情報を元にLLMが正しいアウトプットを行えるようにする。
  • Playwright MCP Server
    LLMがブラウザを操作する為のMCP。
  • Context7 MCP Server
    React / Next.js / Vue等のライブラリ / フレームワークの最新ドキュメント情報をLLMに提供。これらの正確な情報を元にLLMが正しいアウトプットを行えるようにする。
  • Serena MCP Server
    コードを文字列ではなく構造的に理解する。IDEと同様にコードを抽象構文木(AST)で解析するというようなことを行う事で、LLMが正しくコードを理解できるようにする。

役割を与える「ロールプロンプティング」

これも気が付いたら皆さん使っていました。
AIにプロンプトを与える際に、どのような役割として思考してほしいかを指示することで、アウトプットの精度が上がるというものです。

あなたは.NET/C#開発技術に精通したベテランのソフトウェアアーキテクトです。
・・・(以下開発に関しての指示を記載)

chatGPTはロールプロンプティングは以下のような理由で効果があると言っていますが、あまり効果がないという主張もあるようですね。

・思考の前提条件が固定される
・評価基準が明確になる
・不要な一般論を減らせる
・専門家らしい判断を引き出せる

スペック駆動開発(Kiroが話題に)

スペック駆動開発(SDD)も とにかくワイワイ盛り上がっていたキーワードですね。
KiroがSDDをIDEとして明確に実装してダウンロード待ちになったりしていました。
Kiroでスペックを作成し、実装はClaude Codeに任せる等、色々な模索が世の中で行われていましたね。

5. CLAUDE.mdとコンテキスト管理

CLAUDE.mdも最初は何を記載すればよいのやら・・・でした。
Claude Codeが起動時に読み込んでくれるので、ここに書きべきは「プロジェクトのコンテキスト」「指示」「ルール」などになります。
始めはとりあえず /init コマンドでClaude自身に作ってもらい、必要と感じたルールをちょろっと書き足すようなことをしていました。
まぁ、否定されますよね。。。↓↓↓

Don't use /init or auto-generate your CLAUDE.md

プロジェクトにおいて、設計、実装、レビュー、テストなど異なる役割をClaude Codeに行ってもらう場合、それぞれの作業に対して「指示」や「ルール」があります。これもCLAUDE.mdに書くべきか?これはNOですね。
プロジェクト全体に関わる事のみルートCLAUDE.mdには記載します。

設計の際に必要な「指示」「ルール」、実装の際に必要なもの、レビューの際に必要なもの、テストの際に必要なものは、それぞれの役割のエージェントが実行されるときにのみ必要な情報です。これらは分離したmdに記載し、必要な都度プロンプト上から参照して読み込ませます。

なぜ、ルートのCLAUDE.mdになんでも入れてはいけないか?AI(LLM)は超絶頭が良いように見えて情報量が多いと忘れてしまうから。AIエージェントにとって同時に保持・理解することが出来る記憶域の上限であるコンテキストウィンドウがあり、これがオーバーしそうになると優先度が低いと判断された記憶は消し去られていきます。

単発のプロンプト指示ではなく、複数の情報・複数の指示・複数の思考によって自律度の高いAIを適切に働かせるためのテクニックとしてコンテキストエンジニアリングというものも提唱されていますね。

6. さいごに:AI時代のエンジニアの学び

従来のソフトウェア開発における学びである「オブジェクト指向、DDD、クリーンアークテクチャ」等々とはまた別の世界、プロンプトエンジニアリングやコンテキストエンジニアリングなどの世界がAI活用開発の世界にはありました。
本記事での記載は本当に初歩の初歩にしか触れていませんが、エンジニアにはまた新しい領域の学習を楽しむ機会が与えられましたね。

ネクストスケープのCoEチームについて

ネクストスケープではCoE(Center Of Excellence)という部署を置いています。
以下のようなチームで構成され、それぞれの担当技術分野に関して顧客案件開発とは別に時間を取って学習活動を進めています。

  • Data Smiths Team(データベース)
  • Infra Forge Team(インフラ)
  • Dev Stream Team(DevOps)
  • Guardians Team(セキュリティ)
  • Design Practice Team(UI/UX)
  • Developer Productivity Team(コード品質)
  • Device Frontier Team(スマホ/XR)

AIエージェントによるコードの自動生成が進んでも、それを操るエンジニアがコードやアーキテクチャの良し悪しを判断できなければなりません。
エンジニアとしての本質的な技術を固めながら最先端の技術を利用し、顧客に最高のソリューションを提供することを目指しています。

ネクストスケープでは共に学んで活躍するエンジニアを募集しています。
興味があればぜひ以下よりエントリーしてみてください!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?