1.はじめに
DataikuでのAIエージェント機能ではノーコードでAIエージェントを構築できるVisual Agentとコードを用いてAIエージェントを構築できるCode Agentがあります。
AIエージェントをコードを書いて構築するメリットとしては、Visual Agentでは構築できないツールを独自に作成できるところです。
今回はCode Agentを使ってVisual Agentには無い機能を持つAIエージェントを構築しようと思います。
参考
https://www.keywalker.co.jp/blog/dataiku-new-feature-13-4-aiagent.html
2.Code Agentの構築
Code Agentはフローのその他>生成AIから選択できます。

Code Agentを選択すると、次のような画面に遷移します。

Code Agentでもある程度テンプレートが用意されています。今回はSimple tool calling agentのテンプレートを使ってみようと思います。
Simple tool calling agentでは以下のようにテンプレートが用意されています

ここでは@toolでエージェントが使用するツールを設定しています。今回は@tool部分を変えることによってVisual Agentでは使えないツールを作成します。

今回は単位変換ツールを作成して見ました
@tool
def convert_units(value: float, from_unit: str, to_unit: str) -> float:
"""
簡単な単位変換を行います。
- value: 数値
- from_unit: 'km','m','cm','inch','ft' など
- to_unit: 同上
"""
factors = {
('km','m'): 1000,
('m','km'): 1/1000,
('cm','m'): 1/100,
('m','cm'): 100,
('inch','cm'): 2.54,
('cm','inch'): 1/2.54,
('ft','m'): 0.3048,
('m','ft'): 1/0.3048,
}
key = (from_unit, to_unit)
if key not in factors:
raise ValueError(f"{from_unit}→{to_unit} の変換は未サポートです")
return round(value * factors[key], 4)
テストとして以下のようなクエリでエージェントに投げてみます。
{
"messages": [
{
"role": "user",
"content": "10インチはセ何センチ?"
}
],
"context": {}
}
応答は以下のようになりました

Text responseでクエリに対する回答が表示されています。またクエリに対して適切なツールを使用し回答を生成してくれています。
このような形でCode Agentではより自由にツールをエージェントに使わせることができます。APIなどと連携するとより業務の幅が広がると思います。
ビジネス上で有用なツールを作る場合、クエリに対してweb検索をしてくれたり、スクレイピングをしてデータを取得するなども考えられそうです。
Webデータ収集を行い、集めたデータをもとにレポート作成するツールを作れば、クエリ→Webデータ収集→レポート作成という市場調査のタスクを自律的に行えるAIエージェントの利用も考えられるのではないでしょうか。
3.おわりに
Dataikuではノーコードで誰でもAIエージェントが作成できるVisuaal Agentだけでなく、カスタマイズされたCode Agentを構築することによってより高度なタスクを行うことができるようになります。
これを機に日々のルーチンワークや複雑な業務をAIエージェントを活用し、業務効率化を図ってみてはいかがでしょうか?
