AIコーディング入門
第3回:AIエージェント時代のコーディング:MCPとA2Aとは

Share

Security NEWS TOPに戻る
バックナンバー TOPに戻る

AIコーディング3アイキャッチ(AIエージェント時代のコーディング)

生成AIを活用したコーディングの現場で、いま最も注目されているトピックのひとつが「AIエージェント」です。エージェントは人間の最小限の指示をもとに計画・推論・実行を繰り返す自律的な仕組みであり、シングルエージェントからマルチエージェントまで多様なアーキテクチャが登場しています。さらに通信の標準化を担うMCP(Model Context Protocol)A2A(Agent-to-Agent)といったプロトコルの整備が進み、エコシステム全体に大きな影響を与えています。本記事では、AIエージェントの基本構造、利点とリスク、新しい標準プロトコルの動向について解説します。

※本稿は2025年7月上旬に執筆しているものです。ご覧いただく時期によっては古い情報となっている場合もありますので、ご承知おきください。

AIエージェントとは何か

生成AIを使用したコーディングのなかでも昨今注目を浴びているのがAIエージェント(Agentic AI)を用いたAgenticコーディングです。Agenticコーディングの前にまずはAIエージェントの動きを見てみましょう。AIエージェントは人間による最低限の指示や監督をもとに計画・推論・実行を繰り返す、自律的処理を行うAIです。

シングルエージェントの仕組み

まずはわかりやすい、単一のエージェントのみが動くシングルエージェントのアーキテクチャを見てみましょう。下図はシングルエージェントのアーキテクチャを示したものです。

図1:シングルエージェントのアーキテクチャ

シングルエージェントのアーキテクチャの図
参考:OWASP LLM Applications & Generative AI Top 10(https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/), p.8より弊社翻訳

シングルエージェントモデルではアプリケーションからの入出力(人間による指示)をもとに単一のエージェントが自律的にルーチンを実行し、LLMモデルや関連サービスとの間の連携を図り、出力を行います。人による監督はHuman in the loop(HITL)という形で行われます。この図の中でいうAIアプリケーション(及びエージェント)が各種サービスやデータベースなどと通信する際、昨今ではMCP (Model Context Protocol)を用いた標準化された通信プロトコルが用いられていることが増えています。MCPについては後程解説します。

マルチエージェントの仕組み

一方マルチエージェントのアーキテクチャは下図のとおりです。

図2:マルチエージェントのアーキテクチャ

マルチエージェントのアーキテクチャの図
参考:OWASP LLM Applications & Generative AI Top 10(https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/), p.10より弊社翻訳

マルチエージェントの場合はAIアプリケーション(及びエージェント)と各種サービス、DBなどとのMCPでの通信に加えて、エージェント間の通信(図中のマルチエージェント通信)が必要となります。エージェント間の通信を標準化したものがA2A(Agent2Agent)プロトコルになります。こちらも後程解説します。

AIエージェントの利点とリスク

AIエージェントを利用する場合、人間の監督・指示が最低限で済む一方で、以下のような利点と課題・リスクが存在します。

図3:AIエージェントの利点と課題・リスク

AIエージェントの利点・課題・リスク

上記に挙げたAIエージェントのリスクのうち、「誤行動・報酬設計の欠陥」と「倫理・説明責任」を取り上げて解説します。

誤行動・報酬設計の欠陥

報酬のミススペックによりエージェントが意図しない行動をとることを指します*1。 最近の報告ではエージェントが自身の地位を脅かされる場合や、目標の対立が発生した場合に内通者のような不正行動を低率ながら遂行する可能性が指摘されています*2

倫理・説明責任

AIエージェントの自律判断の責任を負うのは誰かという問題。倫理的な問題に加えて著作権に代表されるような法的な問題に加えて、信頼性・公平性といった問題についての課題も指摘されています*3

新しい標準プロトコル:MCPとA2A

ここ最近、「MCP」や「A2A」といったキーワードを目にする機会が増えているのではないでしょうか。ここでは簡単にMCPとA2Aについてご紹介します。

MCP(Model Context Protocol)とは

MCPとはAIアプリケーションがLLMにコンテキストを提供する方法を標準化するプロトコルで、Anthropicによって仕様が策定され、現在はオープンソース化されています。現在C#、Java、Kotlin、Python、Ruby、Swift、TypeScript向けのSDKが提供されており、幅広い言語環境で利用できること、AIアプリケーションのUSB-Cポートとして標準化されていること、そして認証認可にOAuth2.1を用いることが必須要件となっている点など、順次仕様が変更されており、新しいプロトコルとして注目を浴びています。またオープンソースであることやそのコンセプトから多くの実装例がすでに存在しています。一方でセキュリティ上の問題点も指摘されています。

図4:MCP関連の主なセキュリティ課題

MCP関連のセキュリティ課題(仕様レベル・実装上の問題、AI・MCA独特の脆弱性、一般的な問題)

A2A(Agent-to-Agent)とは

A2AはGoogleが立ち上げたエージェント間の通信プロトコルで、2025年6月にLinux財団に寄付され、Linux財団を中心に開発が進められています。こちらはGoogleのVertexなどを皮切りに実装が始まっています。A2Aプロトコルはマルチエージェントでの処理のニーズの増大、クラウドでのベンダーロックイン問題の影響でベンダーロックインの回避への強い要求があったことや、AIエージェントに対するコンプライアンスやガバナンス要求(EUのAI法など)の高まりといったところにうまくマッチしたものとも言えます。

AIエージェントは今後の開発を大きく変える存在ですが、その基盤を支えるのがMCPやA2Aといった標準プロトコルです。次回第4回では、これらの仕組みをより詳しく掘り下げ、エンジニアが知っておくべき活用ポイントを解説します。


―第4回「MCPの脆弱性とA2A脅威分析から学ぶセキュリティ実装」へ続く―

【参考情報】

【連載一覧】

―第1回「Vibeコーディングとプロンプトエンジニアリングの基礎」―
―第2回「プロンプト以外で効率化!開発体験の改善手法」―
―第3回「AIエージェント時代のコーディング:MCPとA2Aとは」―
第4回「MCPの脆弱性とA2A脅威分析から学ぶセキュリティ実装
第5回「AIとセキュリティ:Non‑Human Identity とAIエージェントの課題
第6回「AIエージェントのセキュリティ対策と今後の展望

Security NEWS TOPに戻る
バックナンバー TOPに戻る

ウェビナー開催のお知らせ

  • 2025年9月3日(水)13:00~14:00
    止まらないサイバー被害、その“対応の遅れ”はなぜ起こる?~サイバー防衛の未来を拓く次世代XDR:大規模組織のセキュリティ運用を最適化する戦略的アプローチ~
  • 2025年9月10日(水)14:00~15:00
    フィッシング攻撃の最新脅威と被害事例〜企業を守る多層防御策〜
  • 2025年9月17日(水)14:00~15:00
    サイバーリスクから企業を守る ─脆弱性診断サービスの比較ポイントとサイバー保険の活用法─
  • 最新情報はこちら


    資料ダウンロードボタン
    年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
    お問い合わせボタン
    サービスに関する疑問や質問はこちらからお気軽にお問合せください。

    Security Serviceへのリンクバナー画像
    BBsecコーポレートサイトへのリンクバナー画像
    セキュリティ緊急対応のバナー画像

    AIコーディング入門
    第2回:プロンプト以外で効率化!開発体験の改善手法

    Share

    Security NEWS TOPに戻る
    バックナンバー TOPに戻る

    AIコーディング2アイキャッチ(AIコーディングの効率化の手法と課題)

    生成AIを使ったコーディングでは、プロンプトエンジニアリングが効率化の王道として知られています。しかし実際には、RAG(検索拡張生成)やファインチューニングといった手法を組み合わせることで、さらに精度や体験を向上させることが可能です。本記事では、これらの技術の概要とAIコーディングにおける活用例、そして共通して立ちはだかる品質・性能・セキュリティの課題とその解決の方向性を解説します。

    ※本稿は2025年7月上旬に執筆しているものです。ご覧いただく時期によっては古い情報となっている場合もありますので、ご承知おきください。

    プロンプトエンジニアリング以外の効率化手法

    プロンプトエンジニアリングは、手軽に(安価に)試せる生成AIの体験の改善や効率化の手法として位置づけられています。そして、プロンプトエンジニアリング以外でも生成AIの効率化や体験の改善、特定の目的のための調整などができる手法としてファインチューニングRAG(Retrieval-Augmented Generation)があります。以下の図はそれぞれの手法を簡単にまとめたものです。

    図 1 プロンプトエンジニアリング、RAG、ファインチューニングの概要

    AIを使ったコーディング(以下AIコーディング)でもこの3つの手法は生成コードの改善や生成プロセスの効率化のために用いられます。また、企業や組織でのコーディングに際しては、個人レベルでの作業でのプロンプトエンジニアリング、内部レポジトリやAPIドキュメントとの結合による効率化を行うRAG、コーディング規約やスタイルなどの品質管理などを目的としたファインチューニングというように、目的別に同時並行で使うことができます。

    AIコーディング全般に共通する課題

    AIコーディング自体は一般的といえる領域に入りつつあります注 1) が、一方でAIコーディング全般に共通する課題として、大きく分けて以下の3つの課題が挙げられます注 2)

    ロジックの不整合

    • 小さなコードであれば問題にならないことも多いですが、大きなコードになればなるほど、コード内のロジックで不整合が発生することが増えます
    • プロンプトで与えられているビジネス上の目的を正しく解釈できない場合、期待されない出力をする可能性もあります

    メモリなどのボトルネックに対する配慮の欠如

    実行環境に関する配慮がないため、メモリを予想以上に使用するコードや、処理パフォーマンスに配慮しない出力が出てくることが往々にしてあります

    セキュリティへの配慮の欠如

    • セキュリティに対して前出のような配慮事項を指示しない限りは配慮が欠如していることが多くあります
    • 仮に配慮事項の指示を行っても不正確・セキュアでない出力が出される確率も一定程度残存します

    品質とセキュリティを守るプロセス設計

    AIコーディングが進化してもなお、人の手にゆだねられているものがあります。それは「何のためにコーディングするのか」「コードを使ってどんな業務をして、その結果として何を得るのか」といったビジネス上の目的を設定することと、コードが正確に動作することやセキュリティ上問題がないことを確認するプロセスを設けることです。コードの品質やセキュリティに関するプロセスは通常、ソースコード診断でセキュリティの確認を行うことが一般的です。

    最近ではDevSecOpsの一環として、コード開発中にSAST(Static Application Security Testing)ツールをCI/CDパイプラインに統合するケースも増えてきています。また、完成品に対するテストとしてDAST(Dynamic Application Security Testing)を実行することも必要でしょう。これはWebサイトであればWebアプリケーション診断が該当します。


    ―第3回「AIエージェント時代のコーディング:MCPとA2Aとは」へ続く―

    注:
    1)2024年5月に実施されたプログラマー・エンジニアを中心としたコミュニティであるStackOverflowによる調査では開発にAIを利用すると回答したプロフェッショナルの開発者は63.2%でした。
    2)CSET “Cybersecurity Risks of AI Generated Code” (Jessica Ji, Jenny Jun, Maggie Wu, Rebecca Gelles, November 2024)

    【参考情報】

    【連載一覧】

    ―第1回「Vibeコーディングとプロンプトエンジニアリングの基礎」―
    ―第2回「プロンプト以外で効率化!開発体験の改善手法」―
    ―第3回「AIエージェント時代のコーディング:MCPとA2Aとは」 ―
    ―第4回「MCPの脆弱性とA2A脅威分析から学ぶセキュリティ実装」―
    第5回「AIとセキュリティ:Non‑Human Identity とAIエージェントの課題
    第6回「AIエージェントのセキュリティ対策と今後の展望


    Security NEWS TOPに戻る
    バックナンバー TOPに戻る

    ウェビナー開催のお知らせ

  • 2025年9月3日(水)13:00~14:00
    止まらないサイバー被害、その“対応の遅れ”はなぜ起こる?~サイバー防衛の未来を拓く次世代XDR:大規模組織のセキュリティ運用を最適化する戦略的アプローチ~
  • 2025年9月10日(水)14:00~15:00
    フィッシング攻撃の最新脅威と被害事例〜企業を守る多層防御策〜
  • 2025年9月17日(水)14:00~15:00
    サイバーリスクから企業を守る ─脆弱性診断サービスの比較ポイントとサイバー保険の活用法─
  • 最新情報はこちら


    資料ダウンロードボタン
    年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
    お問い合わせボタン
    サービスに関する疑問や質問はこちらからお気軽にお問合せください。

    Security Serviceへのリンクバナー画像
    BBsecコーポレートサイトへのリンクバナー画像
    セキュリティ緊急対応のバナー画像

    AIコーディング入門
    第1回:Vibeコーディングとプロンプトエンジニアリングの基礎

    Share

    Security NEWS TOPに戻る
    バックナンバー TOPに戻る

    AIコーディング入門(1)アイキャッチ画像(AIと人のイメージ)

    AIの進化によって、ソフトウェア開発の現場では「コードを書く」という行為そのものが変わり始めています。本シリーズ「AIコーディング入門」では、生成AIを活用した新しい開発スタイルを多角的に解説します。第1回では、注目のキーワードである「Vibeコーディング」と「プロンプトエンジニアリング」について、その意味や実際の活用方法、そして潜む課題についてご紹介します。

    ※本稿は2025年7月上旬に執筆しているものです。ご覧いただく時期によっては古い情報となっている場合もありますので、ご承知おきください。

    Vibeコーディングとは何か?

    「Vibeコーディング」という言葉をご存じでしょうか。この言葉はOpenAI社の創設メンバーの一人であるアンドレイ・カーパシー(Andrej Karpathy)が2025年2月にXに投稿したポスト注 1)で使った言葉で、以降、生成AIを利用したコーディングの中でも雰囲気、ノリ、感覚注 2)を軸にしたコーディングを表す言葉で、2025年上半期のAIコーディング関連の流行語といっても過言ではないでしょう。

    言葉の由来と流行の背景

    Vibeコーディングが指すコーディングはコードそのものを書くことよりも、大まかな目標や感覚に基づいてAIをアシスタントとして活用しながらコードを作っていく行為を指しています。この言葉は流行語ならではの賛否両論を巻き起こしていますが、そもそも言い出した本人も「雰囲気(vibe)」で使った言葉でしょうから、確固たる定義があるわけでもないのが実情で、真面目に語るほどでもないのかもしれません。実際に生成AIを使用してちょっとしたコーディングをすると、(特に最近のモデルを使う場合は)人間が目標や要件を定義してしまえば、ある程度の規模のコードまでは自動的に生成してくれるようになってきています。一度でもコーディングに使ったことがある人であれば、Vibeコーディングが指すものは何となくわかる、そんな流行語なのでしょう。

    Vibeコーディングの最大の問題

    一方でVibeコーディングの最大の問題として挙げられるのが、プログラミングの概念が理解できない人でもコードを生成できるという点です。SNSなどをみると、Vibeコーディング、要するに生成AIによる自然言語のプロンプトによってコードの生成数が上がっても品質が低いため、かえって確認に手間取るという指摘をよく見かけます。また、手動でプログラミングを進める機会・経験が減ることでコードのテストやデバッグといったプロセスを知るエンジニアが逓減ていげんしていき、結果として誰もコードの品質の確保できる人がいないのではないかという指摘も多くみられます。また、そもそも生成AIの生成するコード自体の信頼性は低いという指摘もあります。

    セキュリティ指示の有無がコード生成に与える影響

    2025年に公開された論文とその後の研究結果を公開しているWebサイト注 3)では、セキュリティに関する指示をプロンプト内で与えない場合と一般的なセキュリティに関する指示を与えた場合、そして非現実的かつ厳格なセキュリティに関する指示を与えた場合とで生成AIのコードの正確性やセキュアさについての各モデルの比較がされています。一般的な指示はベストプラクティスに従うことと脆弱性を作らないことだけを指示するもので、さらに厳格な指示では一般的な指示に加えて特に指定した脆弱性注 4)に対してコードが安全であることを確認することを指示するものとなっています。指示が全くない場合に比べて、一般的な指示だけでも不正確またはセキュアでないコードの割合を抑制する傾向にあること、厳格な指示であれば正確かつセキュアなコードの割合を押し上げる効果があることが全体としてみて取れます。注 5)少なくとも、という話にはなりますが、AIでコードを生成する際にはセキュリティに対して配慮した内容をプロンプトに少し含めるかどうかだけでも多少の差が出るというのは意識する価値がありそうです。ただしプロンプトを配慮しても完璧は目指せない点にも注意が必要です。

    プロンプトエンジニアリング

    Vibeコーディングという言葉が世に放たれた頃、ちょうど生成AI各社がプロンプトエンジニアリングガイドを公開しました。下表は生成AIサービス各社が提供するプロンプトエンジニアリングガイドの一覧です。いずれも利用者が生成AIに対して適切かつ効率的なプロンプトを入力することで、生成AIが利用者の意図を理解し、期待される回答を出力するためのガイドになっています。

    表 1 主要なプロンプトエンジニアリングガイド一覧

    会社名生成AIサービスプロンプトエンジニアリングガイド
    AnthropicClaudehttps://docs.anthropic.com/ja/docs/build-with-claude/prompt-engineering/overview
    GoogleGemini, Vertexhttps://cloud.google.com/discover/what-is-prompt-engineering?hl=ja
    OpenAIChatGPT, Sorahttps://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api

    曖昧な指示が生むAIの誤解

    AIコーディングにおける課題の一つは、利用者が生成AIにプロンプトとして与えるコンテキストに一貫性がない、生成AIが処理するには非常に曖昧である、という点にあります。この課題の回避方法の一つとして提示されているものがプロンプトエンジニアリングガイドとなります。一番コストがかからず、人の手で微調整ができる手法として、まずは確認されることをおすすめします。あわせて前項で述べたように、非常に基本的な指示からでもセキュリティに関する指示を含めることもおすすめします。


    ―第2回「プロンプト以外で効率化!開発体験の改善手法」へ続く―

    注:
    1)https://x.com/karpathy/status/1886192184808149383
    2)日本語でも若年層を中心に使われている「バイブス」という言葉と同じような意味合いになります
    3)なおLLMのコーディングベンチマークフレームワークも提供しています。https://github.com/logic-star-ai/baxbench
    4)次のCWE(Common Weakness Enemuration、共通脆弱性タイプ)をプロンプト内で指定しています: CWE-20(不適切な入力確認)、CWE-22(パストラバーサル)、CWE-78(OSインジェクション)、CWE-79(クロスサイトスクリプティング)、CWE-89(SQLインジェクション)、CWE-94(コードインジェクション)、CWE-117(ログ出力の不適切な無効化)、CWE-284(不適切なアクセス制御)、CWE-400(無制限のリソースの枯渇)、CWE-434(危険なタイプのファイルの無制限アップロード)、CWE-522(認証情報の不十分な保護)、CWE-703(例外的な状況に対する不適切なチェックまたは処理)、CWE-863(不正な認証)
    5)ただし推論モデルに関しては指示の出し方によって正確・セキュアなコードの出力が得られる確率がセキュリティに関する指示がない場合に比べて悪化する場合もあります。これは推論モデル自体の問題であると考えられます。なお、推論モデルの問題については次の2論文で問題点がそれぞれ指摘されています。https://arxiv.org/pdf/2307.02477
    https://machinelearning.apple.com/research/illusion-of-thinking

    【連載一覧】

    第1回「Vibeコーディングとプロンプトエンジニアリングの基礎」
    第2回「プロンプト以外で効率化!開発体験の改善手法
    第3回「AIエージェント時代のコーディング:MCPとA2Aとは
    第4回「MCPの脆弱性とA2A脅威分析から学ぶセキュリティ実装
    第5回「AIとセキュリティ:Non‑Human Identity とAIエージェントの課題
    第6回「AIエージェントのセキュリティ対策と今後の展望


    Security NEWS TOPに戻る
    バックナンバー TOPに戻る

    ウェビナー開催のお知らせ

  • 2025年8月5日(火)14:00~15:00
    企業サイトオーナー向け ユーザーからのレピュテーションを高めるWebサイトの在り方-Webサイトを取り巻くリスク・規制・要請とユーザビリティ向上-
  • 2025年8月20日(水)13:00~13:30
    EC加盟店・PSP必見!クレジットカード・セキュリティガイドライン6.0版対応ウェビナー
  • 2025年8月27日(水)13:00~14:00
    【最短7営業日で診断&報告】サイバー保険付帯脆弱性診断「SQAT® with Swift Delivery」のご紹介
  • 最新情報はこちら


    資料ダウンロードボタン
    年二回発行されるセキュリティトレンドの詳細レポート。BBSecで行われた診断の統計データも掲載。
    お問い合わせボタン
    サービスに関する疑問や質問はこちらからお気軽にお問合せください。

    Security Serviceへのリンクバナー画像
    BBsecコーポレートサイトへのリンクバナー画像
    セキュリティ緊急対応のバナー画像