watsonx Code Assistant for Red Hat Ansible Lightspeedの機能まとめ

# はじめに
watsonx Code Assistant for Red Hat Ansible Lightspeed( 以下、WCA4RHAL )をご存知でしょうか？
10月26日にGAになったこの製品ですが、**入力した自然言語をもとにAIがコード生成のレコメンドをしてくれる**製品となっております。

この記事ではwatsonx Code Assistant for Red Hat Ansible Lightspeedがどういう製品か知りたい、どういった機能を持っているか知りたい方に向けて、製品のできることに注目して紹介します。

:::note info
この記事を読むことがおすすめの方
* Ansibleをお使いの方
* Ansibleのコードレコメンドに興味がある方
* 生成AIによるコード生成に興味がある方
* GA版で何が変わったのか？に興味がある方
:::

## watsonx Code Assistant for Red Hat Ansible Lightspeedとは？
watsonx Code Assistant for Red Hat Ansible Lightspeedは「ナビゲーター」シートでAIと「ペアプログラミング」を行うことで、Ansibleプレイブックの作成プロセスを簡素化し、AIが生成したレコメンデーションを提供するソリューションです。

特徴は以下のようになります。
* 自然言語を入力するとコードが自動で生成される
* AIの部分はIBM独自のモデル**granite**のAnsibleに特化して調整されたモデルを使用している
* その他エンタープライズ向けに特徴的な機能が含まれている

それでは具体的にどのような機能があるのか次章以降記述していきます。

## watsonx Code Assistant for Red Hat Ansible Lightspeedの機能

### 機能その１: シングルタスク生成 / Post-processing
この機能はWCA4RHALの基本の機能となります。
機能を使うために、以下の図のようにplaybookの目的や静的な変数を指定した後に、「 - name: 」まで記述します。( この辺りも参考にしながらWCA4RHALはコードを生成します )

![スクリーンショット 2023-12-20 14.33.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3631727/a30238dc-78c4-793f-6469-476488f67530.png)

「- name:」の続きに自然言語の英語を入力します。今回は以下のように**Install cockpit package**と入力します。
![スクリーンショット 2023-12-20 14.41.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3631727/2dbea322-4f65-7856-a44f-3d48a6f80426.png)

Enterを押して、しばらく待つと以下のように自動でコードが生成されました。
![スクリーンショット 2023-12-20 14.44.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3631727/c2429b8b-33f8-0937-15ed-9a8fce0e99fc.png)

このように自然言語から自動で目的のコードが出力されます。

また、ここではもう一つ重要なポイントがあります。生成されたコードを見ると一番上に**ansible.builtin.package**と出力されています。これはFQCNと呼ばれ、これを使用することはAnsibleのベストプラクティスと言われています。このベストプラクティスは後処理の形で生成AIから出力されたコードに組み込まれています。
この後処理機能は、Ansibleに対するIBMとRed Hatの独自の洞察と、お客様の大規模な自動化を支援した実証済みの経験に由来しており、Ansibleの効率と精度を向上させます。

### 機能その２: コンテンツ・ソース・マッチング機能
この機能はWCA4RHALの強力な機能の１つです。
この機能はWCA4RHALが生成したコードの提案を、提案されたタスクコードの生成に利用されたトレーニングデータおよびソースと照合できる機能です。

以下の図のようにコードを生成すると画面下に**ANSIBLE: LIGHTSPEED TRAINING MATCHES**というタブが出てきます。
![スクリーンショット 2023-12-20 14.56.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3631727/1605aa61-3b99-2e1b-df8d-5feb5fab267e.png)

タスクコードの生成に利用された可能性が最も高い 3 つのコンテンツ・ソースがタブにリストされています。これにはURLや、パス、データソース、ライセンスなどの情報が含まれています。

これによりWCA4RHALはオリジナルのコンテンツ・ソースを明確に提示することで、生成AIの透明性と信頼性を維持できます。

### 機能その3: マルチタスク生成
実はここまでの機能は似たような内容がWCA4RHALのテックプレビュー版でも使用できました。ただし、このマルチタスク生成はGA版のみの機能となっております。( 他にGA版では基盤モデルもアップデートされています )

これはシングルタスク生成を一気に行うような機能となっております。
例えばシングルタスク生成だけだとやりたいタスクが複数ある場合、その度に実行する必要があります。しかし、このマルチタスク生成では、シングルタスク生成の自然言語を「&」で繋げることでシングルタスクを複数一度に生成できます。
![スクリーンショット 2023-12-20 15.40.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3631727/a117e429-b5e9-bc3a-315a-ed995348838a.png)

![スクリーンショット 2023-12-20 15.21.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3631727/6237effa-324a-288c-1f6e-5096cf97dbce.png)
![スクリーンショット 2023-12-20 15.26.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3631727/f6bc94f6-7e46-fb04-9676-b1791097ee34.png)


# 終わりに
ここまでWCA4RHALの機能を手短に紹介させていただきました。ビジネス向け、Ansible特化のこの製品ですが、将来的にさらに機能が増える予定もあり、非常に期待できる製品だと思います。

ぜひ興味を持っていただけましたら、テックプレビュー版から触っていただければと思います。
以下の記事がとても参考になります！( みなさんありがとうございます！ )
[Ansible Lightspeed with IBM Watson Code Assistant で自動コード生成](https://qiita.com/yaskitie/items/3693163bca36d8fa582e)
[Ansible Lightspeed with Watsonx Code Assistant (Technical preview) を使ってみる](https://qiita.com/c_u/items/b1f90856b663f6f024f3)