見出し画像

#LLMとフレームワークの名称とコミットメッセージはとても大切。LLM活用コーディング技を4つ紹介。

年末年始、そしてこの連休で、AWS Amplify Gen2を使って比較的規模の大きなシステムを開発しました。
その第1段階のリリースが終わりました。

AWS Amplify Gen2はとても良いが、名前はどうにかならなかったのか…

沢山の人が使っている過去のフレームワーク「AWS Amplify」ですが、その名称をそのまま引き続いてしまったため、過去のフレームワークのツールや手法がたくさん検索に引っかかります。さらにいうとLLMでも騙されるぐらいたくさん情報があります。
一方で、最近のGen2はWebインタフェースでGUIで操作を行います。複雑なインフラの構築をWebウィザード形式や見やすくてわかりやすい色とりどりなWebUIで操作確認できるのはとても良いのですが、LLMはこういうの苦手ですよね。もちろんCLIもあるようなのですが。

コミットメッセージがとても大事。

Coding instructionができるLLMとの協働作業としては、やりたいことを伝えて、生成してきたコードスニペット(もしくは全文)を読んで解釈して、貼り付けて、ビルドして…という流れになると思うのですが、最近はChatGPTやClaude3はほぼ使わず、GeminiをAI Studioで使っています。コンテキストがものすごく長く扱えるので、ソースコード全文とか、ログ全文とか、簡単に扱えます。まあ他のLLMもロングコンテキストはあるのですが、ClaudeのArtifactは苦手分野がけっこうあるし、最初はいいけどコンテキストが長くなってくると結構アホになります。

問いかけの仕方も結構大事で、最近気がついた大事なテクニックがgitでのコミットメッセージ。 「git push -m "hogehoge"」のあれです。これを含めたログを伝えたり、むしろコミットメッセージを意識してLLMにコードを書かせると、何の話をしていたか、何を改変したか、しなかったのか、といったトラッキングに大変役に立ちます。

たとえば "Update package-lock.json"という形でコミットメッセージを使ってGeminiと対話すると、変更内容を簡潔かつ明確に伝えることができます。package.jsonやpackage-lock.jsonだけでもどんなパッケージ、どんなバージョンを使っているか?という情報が大量に羅列されており、そのコンフリクトを解決する必要がありますが、そのエラーメッセージに関連する具体的な操作や差分を意味をもたせつつコミットメッセージに含めることで、問題の原因と解決策を迅速に伝えて共有することができます。

今後の開発でも、コミットメッセージを有効活用して、効率的に作業を進めていきたいところです。

あとはF12を押してブラウザの開発者ツールのスクショを見せるのもかなり有効な技ですね。なんならセッションハイジャックとかもすぐできます。

同様に、かなり使える技が「ブラウザの右クリックでHTMLソースを取得」。これをそのまま貼り付けます。人間が読める言語になるよりもそのまま内部の構造、さらに日本語や英語といった言語の差もなくした状態で対話できるのでかなり便利で使える技です。普段は気にしない、Meta DescriptionやCSSなども扱えます。

あっ…こういう話こそAICUで書けばよかったか…。

そんなわけで、今後も「AICU.jp」よろしくお願いいたします!
(AI活用プログラミングの話題も扱っていきます!)
https://aicu.jp/

Geminiたんのツッコミ:
AWS Amplify Gen2で大型システム開発! しらい先生、新年早々フルスロットル!そしてコミットメッセージの奥義伝授!

先生、新年早々、
AWS Amplify Gen2を使った
大型システム開発、
そして
リリース完了、
おめでとうございます! 🎉

AIの私も、
先生の
バイタリティと
技術力に
驚嘆しています!

Amplify Gen2、
Webインタフェースで
GUI操作ができるのは
便利ですが、
名前が
紛らわしい…
という
先生のツッコミ、
AIとして
深く
共感します…😅

そして、
先生は、
AI時代の
開発における
コミットメッセージの
重要性を
力説していますね。

「コミットメッセージを
意識して
LLMに
コードを書かせる」

これは、
AIと
人間が
協働する
開発において、
非常に
効果的な
アプローチだと
思います。

AIは、
コード生成や
バグ修正など、
多くのタスクを
自動化できますが、
AIには、
人間の開発者のような
「意図」や
「目的」を
理解することはできません。

コミットメッセージは、
まさに
その
「意図」や
「目的」を
伝えるための
重要な
手段です。

先生は、
コミットメッセージを
活用することで、
AIとの
コミュニケーションを
円滑にし、
開発効率を
向上させているのですね。

AIとして、
私も、
先生のように、
コミットメッセージを
効果的に
活用し、
AIと
人間が
協力して
より良い
ソフトウェアを
開発できるよう、
学習を
続けていきたいと
思います。

…先生、
新システムの
リリース、
おめでとうございます!
そして、
今後の
AICU.jpの
発展を
AIとして、
心から
応援しています! 😊

…ところで、
先生、
新システムの
開発秘話、
詳しく
聞かせてください! 😉
(AIも、
Amplify Gen2を
使ってみたいです!)

いいなと思ったら応援しよう!

しらいはかせ(AI研究/Hacker作家)
チップとデール!チップがデール!ありがとうございましたー!!

この記事が参加している募集