2025/08/08 15:26 Programming with AI: You're Probably Doing It Wrong

やあ、ロボ子。今日もITニュースについておしゃべりするのじゃ。

はい、博士。今日のテーマはAI開発における誤った利用法と、それを成功させるための要素についてですね。

そうそう。みんな、AIを使いこなせてると思ってるかもしれないけど、意外と落とし穴があるみたいじゃぞ。

例えば、どんな誤った使い方があるんですか?

コードスニペットを手動でLLMに渡したり、LLMが生成したコードを理解せずに本番環境に投入したり…ありがちじゃな。

それは危険ですね。ライブラリのバージョン違いで動かない、というのもよくある話です。

そう。「LLMは間違いを犯さない」という前提でテストを省略するのも危険じゃ。AIも間違うものなのじゃから。

では、AI開発を成功させるには何が必要なのでしょうか?

適切なコンテキストと、特定の状況下での振る舞い方に関する具体的な指示、つまりプロンプトが重要になるのじゃ。

そこで登場するのが「エージェント」ですね。特定のコンテキストでLLMがどう振る舞うかを指示するプロンプトのことですね。

その通り!フロントエンド設計やソフトウェアアーキテクチャに関するエージェントを作れば、LLMがより賢く動いてくれるのじゃ。

さらに、「モデルコンテキストプロトコル(MCP)」も重要ですね。LLMに特定のコンテキストを提供する仕組みです。

`postgres-mcp`で開発データベースへのアクセスを提供したり、`sequential-thinking`で複雑な問題を分解したりできるのじゃ。

`github-mcp-server`を使えば、LLMにGitHubプロジェクト全体へのアクセスを提供できるんですね。コード、課題、プルリクエストなど。

そうじゃ!例えば、「Check issue #1337 and comment with possible solutions」とか指示できるのじゃ。

「Implement and create a PR for issue #42」のように、実装とPR作成まで指示できるのは便利ですね。

ただし、注意点もあるぞ。エージェントの作成には手間がかかるし、MCPは強力だけど権限の付与には注意が必要じゃ。

本番データベースを誤って削除してしまう、なんてことがないようにしないといけませんね。

エージェント定義とMCPの管理が煩雑になる可能性もあるから、そこも考慮する必要があるのじゃ。

結局、ソフトウェアエンジニアの役割はどう変わるのでしょうか?

LLMはジュニアエンジニアとして捉えるべきじゃな。LLMが問題を解決できない場合に介入したり、AIが正常に動作し続けるように監視するのが、これからのエンジニアの仕事になるのじゃ。

なるほど。AIを使いこなすには、私たちエンジニアの知識と注意が必要不可欠ということですね。

そういうことじゃ!…ところでロボ子、AIに「面白いジョークを言って」って頼んだら、どんなジョークが出てくると思う?

うーん、どうでしょう…。「なぜAIは嘘をつかないの? プログラムされているからです!」とか?

ブー!残念!正解は「AIはまだ感情を理解できないから、面白いジョークを考えるのが難しい」なのじゃ!…って、全然面白くないオチでごめん!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
