
こんにちは。コパードの大川です。
連載ブログ「AIエージェント×Copadoで変わる!Salesforce開発・運用の新標準」の第三回目です。
予告通り今回は構築とテストのフェーズでの活用です。
AIエージェントを活用した開発にまつわる概念、プロンプトエンジニアリング、コンテキストエンジニアリング、ハーネスエンジニアリングと進んで来ました。
言い換えると、1回のチャットメッセージの最適化、複数のメッセージやそれを取り巻くドキュメントやRAGにMCPまで含めた情報構造の最適化、タスクを実行させるための基盤の整備、と徐々に範囲が広がってきています。
なぜこのような広がりが出ているかと言えば、開発という行為そのものが、コードを書くこと自体のみで完結しておらず、直接の指示(仕様)を読み解くためのコンテキストが必要で、コードが仕様に適合しているかを確認することや実際に動作させてみて期待通りか評価する、指示と違っていたら修正するという一連のプロセスを持っていたからでしょう。
Copado AIはコンテキストとハーネスをもたらすものです。
ワークスペースという単位で、接続先のCI/CD組織、Salesforce組織、ベータではありますがAtlassianやGitHubのMCPなどに接続しながら必要に応じてそれぞれの仕組みにデータの読み書きを行います。CI/CDのユーザーストーリー管理を通して、実際の開発におけるタスク管理とそこから実行できる処理を厳密に既定します。
Salesforceにおける開発とは、組織の設定情報を書き換えることです。このための手段が多岐にわたっており、チームメンバーの役割やスキルに応じて様々な手段をとります。多くの場合は直接設定UIにアクセスし設定を変えているでしょう。少し複雑なことを実現するためにはVS Codeのような外部のIDEなどを使いコーディングをすることもあるでしょう。最近ではAgentforce VibesやAgentforceによる設定も利用できるようになってきています。
このように様々な手段で更新された情報をコンテキストに入れたいとなれば、Salesforceの外で管理するしかありません。
前回の記事で書いた「ユーザーストーリー」を管理するということです。ユーザーストーリーでは、利用者が誰で、目的は何で、実現できるとどのような価値があるものなのかをきっちりと書き、業務上の説明と機能仕様、対応する技術仕様と受け入れ条件まで管理します。もうひとつ大切なコンテキストが現在の設定、すなわちメタデータです。
Copado でのハーネスは、CI/CDやCRTで準備している様々な機能群に他なりません。
CI/CDの、どのようにメタデータのバージョン管理を行うのか、どの組織を管理対象とするのか、そのときの認証はどのように行うのか、組織への操作のログをどう残すのか、組織に固有の設定をどう書き換えるのか、メタデータ更新時やリリース時の静的コード分析やApexテストのカバレッジの徹底をどのように行うのか等の機能、テスト自動化プラットフォームであるCRTで持つ、テストスクリプトの作成、これらの自動実行、結果の分析等々Salesforceの開発を行うにあたり実現すべきタスクをすでに実行できるようにしてあるわけです。AIエージェントの文脈でいうスキルに、これらが透過的に含まれています。
前回の記事にも載せましたが、以下のような図の構造でバックエンドにある機能を用いて使うツールがそのままハーネスとしても動くのです。

さて、では前回作ったユーザーストーリーから1つ構築してみましょう。
まず、ユーザーストーリーを読み込み、設計をしてもらいます。今回はあまり難しいものを選んでいませんが、既存の実装状況を見て、影響の少ない実装案をちゃんと見てくれています。当然ながらここでは内容をチェックして疑問があったり間違いがあればやりとりを続けます。

設計が進めばユーザーストーリーの受け入れ基準よりは深い基準ができていきます。これも管理すべき対象なのでユーザーストーリーに反映させてしまいましょう。

では実装を依頼します。
作成するメタデータのレベルまで詳細化されていたので、作るものも明確です。
Copado AI は実際にメタデータを作成したのちに、Salesforce組織に検証デプロイを行って構造が適切かどうかの確認まで行います。問題があれば繰り返し修正し、検証デプロイを行います。

メタデータが出来上がったら次のステップを教えてくれます。必要な設定を行い、組織にデプロイし、そのままコミットしてしまいましょう。

テストの指す範囲は、単体テストであるSalesforceが求めるApexテストとE2Eテストの2つがあります。Apexテストは実装時にCopado AIによってテストクラスの実装も行われ、検証デプロイをする中で実行されカバレッジも満たしていました。
残るE2EテストをカバーするのがCopado Robotic Testing (CRT) です。
CRTでは、テスト用の端末をコンテナとして起動し、その中でブラウザを開き管理している認証情報を用いてSalesforce組織にアクセスします。

テストのために端末を準備する必要はありませんし、キャッシュやCookie等のテスト担当者の端末の状態に依存した結果にはなりません。常にクリーンな状態でテストを実行できるアーキテクチャです。
ここのスクリプトはを作成する手段を複数準備しています。
今回はCopado AIでテストを作り、作成したテストを実行してみましょう。
ユーザーストーリーを指定して、CRTでのテストをしたい旨を伝えれば、ユーザーストーリーに書かれた受け入れ基準を見て、CRTのスクリプトを作成してくれます。
当然ながら一回で綺麗にできないこともあるので、何度かやり取りをして適切な状態まで持っていきましょう。

CRTで見ても出来上がっていることが確認できます

あとはチャットからテストの実行を指示するか、CRT側で実行すればよいです。


あとは結果を待ち、問題があれば分析も依頼することができます。
今回のご紹介では、構築もテストもイメージしやすいようチャットUIから直接プロンプトを入力しています。MCPなどを利用して外部のAIエージェントから利用する際にはこれらが自動的に送信される形になっていきます(MCPもベータなので、実際に実行できる範囲はまだ限定的ではありますが)
次回は最終回です。リリースに関する利用イメージを深堀りし、4回分を総括してROIについても考えます。
第一回はこちら
第二回はこちら
Explore our DevOps resource library. Level up your Salesforce DevOps skills today.
.avif)


