（２）開発者のためのNow Assist：AI活用したATFテスト作成支援で開発者の時間を節約

## 概要
みなさん、生産性あげてますか？？

## Now Assist for Creator
**Now Assist for Creator** には、Now Platform での開発をより効率的にできる生成 AI スキルが入っています。具体的には以下のシチュエーションでの活用が想定されます。
- 自動テスト
- レポート
- コードのリファクタリング
- カタログの新規生成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/6403d347-153f-4b41-b42c-52dbb71b11fd.png)

新規開発のためのソリューションでもありますが、既存のServiceNowを導入されたユーザーにとってのリファインメントとして活用できるのかなと思っています。
とりあえずServiceNowを入れて、運用も回しているが、より高度なServiceNow活用をしたいユーザーやこれまでの開発と運用の中で出てきた技術的負債や個別最適として作られたアーキテクチャの見直しを図りたいユーザーにとっては、AIによる検査とリファクタリングはよいソリューションになりそうです。

## デモ
具体的な使用感を確認していきます。

### 自動テストの生成
テストレコードの「Create With Now Assist」ボタンを押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/5d435246-563b-45bd-82dc-99a111a0e88c.png)

テキストベースでテストシナリオを入力します。


記載するときの注意点は以下です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/57e13aef-d79c-4fb7-9cda-b525d5bb7401.png)
参考：[AIを活用したATFテスト：テスト作成支援で開発者の時間を節約(ServiceNow Community)](https://www.servicenow.com/community/developer-advocate-blog/ai-powered-atf-testing-how-now-assist-for-test-creation-saves/ba-p/3177051)

実行プロンプトは以下にします。
```Test Scenario 1: Normal System - Normal transmission of IT equipment request and workflow progress
Test Name: Normal System Test of IT Equipment Request Catalog (PC)
Objective: To verify that a regular user submits a request with the correct input and that three approvals and three catalog tasks are generated.
User Roles: General User (submit request), Approver (process approval).  

Step 6: Validate the Approval Process (3 times)
ATF Step: Impersonate User (Approver 1, 2, 3)

Details: 1.
Log in as approver 1 (e.g. manager1) and approve (sc_request.approval = approved).

Log in as approver 2 (e.g. manager2) and approve.

Log in as approver 3 (e.g. manager3) and approve.
ATF Step: Record Update

Expected Result: The status of sc_request is updated after each approver has approved it.
Step 7: Confirm generation of catalog tasks (3)
ATF Step: Record Query

Detail: sc_task
Table: sc_task

Condition: request_item = <generated RITM number

Number of items: 3
Expected Result: 3 catalog tasks```
```


以下のような画面になります。
よければ保存をします。
これで完全なテストフローを網羅するわけではないので、Scaffold（土台）をすぐに作って細かなステップに関しては補足していくという作り方に適していそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/b4c757c8-c2b9-41cd-89ee-114b75f20f2f.png)
---
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/a33d1827-7604-48a9-9ff6-596080b372ec.png)

### フローの自動生成
フローに関しても同様に自動生成が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/c462b319-f8dd-4248-850b-b6425b3a77aa.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/1d399eaf-8897-4d64-bc99-f52af71d71d8.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/7a1a2f4a-3398-4bf9-aa56-77da8585102c.png)

### コードの自動生成および検査
コードの自動生成と検査に関してもNow Assistで可能です。
例としてビジネスルールを自動生成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/cf988b5a-573a-4d89-bbd8-4731dc0071a7.png)

また、コチラに関しては良い記事を見つけたのでリンクしておきます。
[【ServiceNow】生成AIでコードを自動生成して開発業務を効率化する](https://blog.usize-tech.com/nowassist-for-creator-codegeneration/)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/c17415ce-8161-4596-bd43-658627e764ea.png)

### AIエージェント
いま話題のAIエージェントもYokohamaリリースで実装されています。

**AIエージェント** は、環境を感知し、データを処理し、目標達成のために行動する能力を持ちます。例えば、音声アシスタント（SiriやAlexa）は、ユーザーの声を認識し、質問に答えたり、タスクを実行したりします。AIエージェントは、機械学習や自然言語処理を活用し、データから学習して性能を向上させます。
主な特徴は、自律性、適応性、対話性です。チャットボット、自動運転車、推薦システムなどが例で、顧客対応や交通管理、个性化推薦などに役立ちます。エージェントは、単純なルールベースから、複雑な深層学習モデルまで、技術の幅が広いです。by Grok AI

実装された内容を見てみましょう。
#### 1.タスクの分析を依頼します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/6c5f4746-6a68-4d42-adf3-dcd8b7af0627.png)

#### 2.タスクの内容を分析して割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/c2571591-393d-4b9a-9b76-7b699594800b.png)

#### 3.タスクの実行を確認します。
Agentがインシデントに以下の更新をかけたようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/346364e8-9227-49b9-879c-a67f736036cd.png)

エージェントは以下のシナリオを実行してくれるそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190712/679b5d2e-918e-4ce2-ae28-72f4d8f9e848.png)

ワークフローの自動実行タスクにエージェントを組み入れたらタスク処理時間がかなり早まりそうですね。

## まとめ
ServiceNowのNow Assist機能は日進月歩の進化を遂げているため、今時点の紹介が次のリリースでは古い情報になっている可能性は十分にあります。
しかしながら現時点のところでも、実用に耐えるのではないかという機能が多くみられますし、
実務で使っているDX部門やコンサル・ベンダー視点ではTechnology Workflowもそうですが、こういったCreator Workflowにおける開発者生産性の向上の方がよかったりするとも考えます。

良ければご参考ください。。。