その他

【claude code】はじめての指示を出してみた!

その他
この記事は約8分で読めます。

はじめに

インプルの岩崎です。

今回ははじめてclaudeに指示を出してみた!という内容です。今更感のある記事ですが(笑)、まだ使ったことのない方がいたら、一緒にこのワクワクを味わいましょう・・・!

前回の記事をご覧になった方、ありがとうございます。セットアップなどの記事は下記からご覧ください。

コード解析をさせてみる

さて、前回までのセットアップで、いつでも指示を出せる状況です。早速指示を出してみましょう!

今回は、前回まで作っていたスライド生成AIのプログラムをElectronでまとめているファイルを読み込ませてみます。スライド生成AIも非常に面白い内容になっていますので、よければご覧ください!

claude起動

下記コマンドでclaudeを起動させます。おはよう!

claude

指示を出す

起動すると、指示を入力する部分があるので、ここから指示を出していきます。
これまではGUIで動くAIエージェントをメインで触っていたので、CLI上で動くAIはちょっと新鮮です。

あまり指示が長くなるのもよくないかなと思い、今回は、

このプロジェクトの構成を簡単に説明してください!

と指示を出してみました。すると、動き出しました!おお!

ファイルを読んでいいかの確認

しばらくすると、Bash command という選択肢が出てきました。
これは、出ない人もいるかもしれませんが、Claude Code が「このディレクトリ構造を調べて(=tree コマンドを実行して)プロジェクト全体を理解していいですか?」と確認しているところです。
つまり、「このリポジトリのフォルダ構成を読ませてよいか?」という許可ダイアログ です。

初回は 「2. Yes, and don’t ask again」 を選ぶのがオススメです。そうすると、今後、このファイル内では今後スムーズに動作します。

実行結果

すると、下記のように実行結果を表示してくれました。

英語の方が詳しくやってくれる?

ちなみに、当たり前のように日本語を使えているclaudeですが、生まれがアメリカということもあり、英語の指示の方が詳細に解説できるぜ、という意見もあります。

そこで、chatGPTに同様の指示を英語で出して日本語で返答するよう、プロンプトを作ってもらいました。

You are a helpful AI coding assistant.  
I will give you instructions in English, but please output all explanations, comments, and summaries in **Japanese**.

Please take a light look at this project and give me a simple overview in Japanese.

(日本語訳)
このプロジェクトを軽く見て、ざっくりどんな内容なのか教えて。
主なフォルダの役割や使われていそうな技術を、あまり細かくなく簡潔に説明して。

すると、日本語よりも若干ボリュームよく返答してくれました。
そもそも日本語と英語ですので、言語が違う時点でどっちの方がいいとか評価をするのは難しいですが、”ざっくり返答して”の言葉に対して、少し多めに詰め込んでくれるのが、英語のプロンプトでしたね。

GPT曰く・・・

英語プロンプトだと、「曖昧さ」を避けようとしてつい説明が丁寧=長めになりやすいんですよね。
AI的には「浅く」「ざっくり」というニュアンスを汲み取りにくい(=曖昧にしにくい)構造なので、
どうしても “a brief overview” とか “light summary” と書いても、
「じゃあ一応丁寧に概要を説明しておこう」と判断しがちです。

一方、日本語の「ざっくり」「軽く見て」は、文化的にも“ざっくりでOK”のコンテキストが強く、
AIもそれを学習しているので自然に軽めのトーンで返してくれます。
(つまり、日本語の曖昧さが良い方向に働くケースです😄)

とのことでした笑。

修正箇所を探してもらう

さて、続いてはこのアプリの修正箇所を探してもらいます。
アプリ自体はDevinにバーっと作らせたので、AIが作ったコードをAIが調査するという、、、指示が悪いのがバレてしまいますね笑

指示を出す

先ほどの続きからですので、すでにclaudeは起動している前提で話が進みます。
今回は下記のように指示を出します。短い指示でしっかり動作してくれるので、その点はAIエージェントよりも楽ちんですね。

今回のプログラムの中で、修正を加えた方がいい点はありますか? 

実行結果

すると、優先度:高/中/低 の3つの順に、修正をすべき箇所をリストアップしてきてくれました笑
まだプロトタイプでの制作ですので、セキュリティ面での指摘を多く受けていました。改善しなきゃ・・・!

また、優先度の中では、UIやシステムを安定化するための提案をいくつかもらいました。

優先度低では、さほど急ぎではない、UXを向上させるための提案をいくつかもらいました。また、修正スケジュールなんかも作ってくれました。すごいですね・・・!

コードを修正してもらう

それでは、せっかくもらった修正案なので、一つ実行して修正してもらいましょう。

今回の修正箇所

今回は、どのようなスライドを生成するのか、内容を記載する際のバリデーションエラーを実装(修正)してもらいます。

入力文字数があまりにも少なかったり、多かったりすると、スライド作成するのに支障がでるでしょ!という指摘です。ごもっとも・・・。

修正を依頼。しかし、トラップ!

修正の依頼をしていきます。先ほどから続けてチャットをしているので、Noとともに、入力検証を修正してほしい!とプロンプトを送信しました。

すると、Slect memory file to edit : と表示されました。
これは、プロジェクトメモリのファイル作成で、どこにこのプロジェクトについての記憶についてのファイルを置くかを聞いてきています。今回は、このプロジェクトについての記憶ファイルになるので、2. Project memory を選びます。

選択後は、Claude が CLAUDE.md を作成します。
CLAUDE.md については、公式ドキュメントにも記載されていますので、ぜひご覧ください。(機会があれば記事にもします!)

Manage Claude's memory - Claude Code Docs
Learn how to manage Claude Code's memory across sessions with different memory locations and best practices.

修正が動作しない

しかし、修正が動作しません。どうしてだ・・・?
調べてみると、与えたプロンプトが良くなかったのではないか説が出てきました・・・。

今回プロンプトとして与えたのは、下記のとおりです。

# 2 入力検証を修正してもらってもいいですか?

実は、ここの”#”が、悪影響を与えた可能性がありました。このプロンプトを入力した時点で、Claudeは・・・

「#2」=Markdownの見出しか、
あるいは「プロジェクトメモリ内のセクション・項目」への参照

でもまだ CLAUDE.md が存在していない
→ 「参照対象が存在しない…?じゃあプロジェクトメモリを初期化しよう」と判断

と判断し、CLAUDE.md を制作したのではないかと考えられます。結果、CLAUDE.md を生成して“プロジェクトメモリを準備する”動作が走って、「メモリ設定だけ完了した」と認識して止まった、というわけです。

でも、肝心の「コード修正」は実行されず、終わったわけです・・・。

どうしていればよかったのか・・・。

今回の原因は、頭に”#”をつけていたことが考えられます。
つまり、下記のようなプロンプトであれば、しっかりと実行してくれる可能性が高いです。

さっき提案してくれた #2 入力検証の修正を実際に反映してください。

これだとClaudeは、

「#2」は“参照”として軽くスルー

主文が “修正を反映してください” = 実行命令
→ コード修正フローを開始(diff 生成 → 編集確認)

と認識してくれて、CLAUDE.md は生成されずに、コード修正まで進められた可能性が高いです。

いずれにしろ、CLAUDE.md をうまく使うことで、claudeを使いこなすこともできますから、作っておくことに越したことはないのですが、そんな寄り道がありました。

改めて・・・。修正実行!

さて、上記のプロンプトを実行させてみますと、どんどん動いて修正を加えてくれます。よかった!

しばらくすると、修正箇所に対してファイルの変更を加えていいか聞かれますので、1. Yes で回答しましょう。ちなみに、2. Yes, allow edits during this session でも構いませんが、こちらは今後許可しなくてもどんどん変更していってOKだよ!という意味になるので、それでよければこちらを選ぶといいかもしれません。

しばらくすると、修正が完了したと連絡をくれました。
テスト計画なども作ってくれています。最高ですね!

GitHubに上げてもらう

特に連携などはしていなくても、CLIにいるAIなので、GitHubに上げてもらうこともコマンドでやってくれます。今回の実行した結果も、GitHubにコミットし、pushしました。(pushは一応自分でしました)

おわりに

いかがだったでしょうか?

初めて使うので、まだまだ使いこなせていない感がありますが、CLAUDE.md などを使いこなせるようになれば、もっと便利になりそうな気がします。今後はその辺りにも注目してみたいですね。

ご覧いただきありがとうございました!