メインコンテンツまでスキップ

AIネイティブ開発の流れ

エージェントを使ったAIネイティブ開発は、仕様の策定からユーザモジュール化までを、生成と検証を繰り返しながら進めます。

基本フロー​

  1. エージェントを起動する
  2. 生成したい成果物の仕様を策定する
  3. 以下の基準でプロンプトを作成し、エージェントに指示する
    • 仕様を明記すること(別ファイルにある場合はファイルの場所を明記する)
    • スキルセットに従って成果物の生成を行うこと
  4. 成果物が src/ 配下に保存される
  5. 成果物を intra-mart の検証環境にデプロイして、動作を確認する
  6. 動作に不具合があった場合、エージェントに修正を依頼する
  7. 成果物が動作するまで、4~6 を繰り返す
  8. 成果物が完成したら、ユーザモジュール化して IM-Juggling のプロジェクトに登録する
成果物生成中のAI操作許可について

エージェントに作業を依頼中、エージェント側から以下のような操作の許可が求められることがあります。 許可を求められた際は、プロジェクト配下の操作であることを確認して、許可操作を行ってください。

  • ファイルの保存
  • Node.js スクリプトの実行

精度を上げるために​

生成の精度が思うように上がらないときは、次のような工夫が有効です。

プロンプトや仕様書が大きすぎるとコンテキストがあふれてしまう場合があり、仕様や指示の一部が無視され成果物の精度が低下することがあります。 精度が落ちてしまう場合は、成果物生成後に再度仕様や規約と矛盾がないか確認する旨をプロンプトに入力し、成果物を修正させてください。

出力された成果物に対して、提示した仕様書と矛盾した箇所を確認し、矛盾箇所があれば修正してください。
また、チェックリスト/検証スクリプトに従って、成果物をチェックしてください。

不具合の調査、修正をする場合、例外メッセージが出力されていればメッセージをプロンプトに含めると精度向上に繋がります。 特に、原因と直結するエラーメッセージや実際にエラーが発生したファイルパスと行番号を含めると、精度が向上しやすくなります。

申請画面から申請を行った際に、以下のエラーが発生しました。原因を調査して修正してください。
```
log.message=最終処理タスクIDの取得に失敗しました。システム案件ID:ma_8hz8171jnvj0aqh、アクションノードID:lv_req_apply

jp.co.intra_mart.system.workflow.engine.common.EngineException
at jp.co.intra_mart.system.workflow.engine.tool.EngineMatterUtil.getLastProcessID4ActiveMatter(EngineMatterUtil.java:34)
at jp.co.intra_mart.system.workflow.engine.action.AbstractActionEventBase.removeFlowXMLCache(AbstractActionEventBase.java:2530)
at jp.co.intra_mart.system.workflow.engine.action.AbstractActionEventBase.fire(AbstractActionEventBase.java:336)
at jp.co.intra_mart.system.workflow.internal.manager.action.ActionManager.apply(ActionManager.java:127)
at jp.co.intra_mart.foundation.workflow.application.process.ApplyManager.apply(ApplyManager.java:421)
at jp.co.intra_mart.system.workflow.javascript.application.process.ApplyManagerObject.jsFunction_apply(ApplyManagerObject.java:282)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at jp.co.intra_mart.system.javascript.MemberBox.invoke(MemberBox.java:126)
at jp.co.intra_mart.system.javascript.FunctionObject.call(FunctionObject.java:442)
at jp.co.intra_mart.system.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
at _im_95_workflow._common._proc._exec._apply_95_jssp_46_js._c_apply_1(%USERPROFILE%\resin\webapps\imart\WEB-INF\jssp\platform\src\im_workflow\common\proc\exec\apply_jssp.js:163)
at _im_95_workflow._common._proc._exec._apply_95_jssp_46_js.call(%USERPROFILE%\resin\webapps\imart\WEB-INF\jssp\platform\src\im_workflow\common\proc\exec\apply_jssp.js)
```
MCP を使用した場合

AIネイティブ開発支援機能と MCP を使用して、開発環境の iAP と接続している場合は、MCP を経由して例外ログを取得してくるため、プロンプトで例外ログを貼り付ける必要はありません。 AIネイティブ開発支援機能の導入手順と使い方は、AIネイティブ開発支援機能 を参照してください。

画面不具合については、具体的にどのような事象が発生しているか、どのように修正してほしいかを明確に指示することによって、不具合修正の精度が向上します。

申請画面についてですが、以下の問題がありました。原因を調査して修正してください。
1. 開始日・終了日を選択しても取得日数が更新されません
2. 開始日・終了日にテキストボックスがありません(日付入力はテキストボックス+カレンダーが望ましい)