Coderen met een AI

AIエージェントによるプログラミング

人工知能(AI)は私たちのプログラミングの方法を根本的に変えました。AIエージェントはコードを生成し、最適化し、デバッグの支援さえ行えます。それでも、AIと作業する際にプログラマが留意すべきいくつかの制約があります。

順序や重複の問題

AIエージェントはコードの正しい並び順に苦労することがあります。例えば、初期化処理をファイルの末尾に配置してしまい、実行時エラーを引き起こすことがあります。さらに、AIは躊躇なく同一プロジェクト内に同じクラスや関数の複数バージョンを定義してしまい、競合や混乱を招くことがあります。

メモリとプロジェクト構造を備えたコードプラットフォームが助けになる

この問題への対策として、メモリやプロジェクト構造を管理できるAIコードプラットフォームを利用する方法があります。これにより複雑なプロジェクトでも整合性を保ちやすくなります。ただし、これらの機能が常に一貫して適用されるわけではありません。そのため、AIがプロジェクトの整合性を見失い、望ましくない重複や不正な依存関係をプログラミング中に導入してしまうことがあります。

ほとんどのAIコーディングプラットフォームは、ラージランゲージモデルを呼び出すためのいわゆるツールを使って動作します。これらのツールはオープンな標準プロトコル(MCP)に基づいています。そのため、Visual Studio CodeのようなIDEにAIコーディングエージェントを接続することが可能です。必要に応じてローカルにLLMを構築することもできます、 llama またはollamaを選び、統合するMCPサーバーを選択します。Fortis AIは MCPサーバー を作成して、デバッグ支援や基盤となる(Linux)システムの管理を行えるようにしています。コードを直接ライブにデプロイしたい場合に便利です。
モデルは以下で見つかります: huggingface.

IDE拡張は不可欠である

AI生成コードをより良く管理するために、開発者はコードの正確性を監視するIDE拡張を活用できます。リンター、型チェッカー、高度なコード解析ツールなどのツールは、早期にエラーを検出・修正するのに役立ちます。これらはAI生成コードの品質と安定性を確保するための重要な補完手段です。

反復的なエラーの原因:APIにおけるコンテキストと役割

AIエージェントが同じミスを繰り返す主な理由の一つは、AI APIの解釈方法にあります。AIモデルは効果的なコードを生成するためにコンテキストと明確な役割定義を必要とします。つまり、プロンプトは完全である必要があり、機能的要件だけでなく期待される結果や前提条件も明示しなければなりません。これを容易にするために、プロンプトを標準フォーマット(MDC)で保存し、常にAIに渡すことができます。これは、一般的なコーディング規則や機能的・技術的要件、プロジェクト構造に関する標準を適用する際に特に便利です。

FAISSやLangChainのようなツールが支援する

製品例としては、 FAISS および LangChain はコンテキストをより適切に扱うためのソリューションを提供します。例えばFAISSは関連するコード断片の効率的な検索と取得を助け、LangChainはAI生成コードの構造化や大規模プロジェクト内でのコンテキスト維持を支援します。しかしここでも、必要に応じてRACデータベースでローカルに構築することが可能です。

結論:有用だがまだ自律的ではない

AIはプログラマにとって強力なツールであり、開発プロセスの高速化に役立ちます。しかし、より複雑なコードベースを人間の監督なしに自律的に設計・構築する能力はまだ十分ではありません。プログラマはAIを、タスクを自動化しアイデアを生成するアシスタントと見なしつつも、良好な結果を得るためには引き続き指導と修正が必要であると考えるべきです。

取り入れる 連絡先 開発環境の設定を支援してチームが開発環境を最大限活用できるようにし、デバッグやコード作成よりも要件定義や設計により多くの時間を割けるようにするために役立てる。

 

ジェラール

ジェラールはAIコンサルタント兼マネージャーとして活動しています。大規模組織での豊富な経験により、問題を素早く解きほぐし解決に導くことができます。経済的背景と組み合わせることで、ビジネス上適切な意思決定を行います。