kintoneアプリをAIと作った|人の手が要ったのは2箇所だけ

kintoneで案件管理と原価入力のアプリを2本作った。ほとんどAIに指示を出して進めたんやけど、自分で画面を触ったのは2箇所だけやった。

作ったのは、案件を管理するアプリと、その案件にかかった原価を入れるアプリ。2本をつないで、案件ごとの粗利が勝手に出るようにするのが狙いや。

先に言うとくと、手が要った2箇所は「難しかったところ」やない。kintone側が「ここは人がやること」に決めとる場所やった。

AIが作れんかった1箇所目|アプリの箱そのもの

kintoneにはREST APIがある。外から命令を投げて、レコードを入れたり設定を変えたりできる。AIに任せるならここを通す。

ただし、アプリを新しく作るAPIだけは通らんかった。APIトークンでは認証が足りん。パスワード認証が要る。

AIに渡してあるのはトークンだけや。渡してある鍵では、そもそもドアの種類が違う。というわけで、アプリの箱は自分で画面から作った。案件管理と、日報・原価入力。空の箱を2つ。

AIが踏んだ罠2つ

kintoneの案件管理アプリ一覧画面。ステータスや受注日、受注額の列が並ぶ
「ステータス」の列がちゃんと表示された案件管理アプリ

箱ができたら、中身はAI側が組んでいく。フィールドを足して、サンプルデータを流し込んで。その途中で2回、はっきり止まった。

「ステータス」という名前が保存できない

案件管理アプリに進捗の項目を作ろうとした時。項目には画面に出る名前とは別に、システムが中で使う名前をつける(フィールドコードという)。そこに「ステータス」と入れた。保存できん。

出てきたのは「このフィールドコードは既に使用されています」。まだ何も作ってへんのに、既に使用されてる、と言われる。

調べたら、kintoneの予約語やった。システム側が最初から押さえとる名前で、こっちが使うことはできん。「案件ステータス」に変えたら普通に通った。

ややこしいのは、エラーの文面が理由を教えてくれんところや。「予約語です」と出てくれたら1秒で分かる。「既に使用されています」やと、自分がどこかで作ったんかと探しにいってしまう。

APIトークンを2本つなぐ

原価のサンプルデータをCSVで流し込む時。原価明細には「どの案件のぶんか」を指す項目があって、これは案件管理アプリを参照しに行く仕組み(ルックアップ)になっとる。

ここで弾かれた。原価アプリのトークンは持っとるのに、参照先の案件管理アプリを見る権限がない。当たり前といえば当たり前で、鍵が1本しかないから隣の部屋が開かん。

正解は、鍵を2本まとめて渡すことやった。原価アプリのトークンと、案件管理アプリのトークンを、カンマでつないで1つとして渡す。

これはドキュメントの目立つところには書いてない。ルックアップを使ってCSVを入れる、という組み合わせで初めて出てくる。

AIが作れんかった2箇所目|JavaScriptの適用

kintoneの案件詳細画面。JavaScriptで描画した粗利サマリカードと赤字案件バッジ、原価合計486,000円・粗利-36,000円・粗利率-8.0%の表示
JavaScriptで自動計算した粗利カード。赤字がひと目で分かる

このアプリの山場は、案件の詳細画面を開いた瞬間に粗利が出るところ。原価を集計して、粗利と粗利率をカードで描く。赤字ならカードが赤くなる。

このJavaScriptはAIが書いた。ここは詰まってない。

詰まったのは、書いたファイルをアプリに適用するところ。適用用のAPIはあるんやけど、アプリ管理の権限を付けたトークンでも通らんかった。結局、設定画面を開いてファイルをアップロードした。ここが2箇所目。

結局どこまで任せられるんか

やってみて、線がはっきりした。

  • 任せられた:フィールド設計、データ投入、JavaScriptのコード
  • 任せられんかった:アプリを新しく作る、JavaScriptを適用する

この2つに共通しとるのは、技術的に難しいことやない。どっちも権限の壁や。アプリの構造そのものを変える操作は、外から鍵1本では触らせん、という設計になっとる。

逆に言うと、それ以外は全部通る。だからkintoneをAIと組んで作る時に、人が画面の前に座らなあかん時間は、思ってるよりだいぶ短い。

ちなみにこの2本のアプリで何ができるようになったかは、こっちに書いた(kintoneで粗利管理アプリを作った|赤字案件が3秒で見える)。案件ごとの粗利が出るようになって、赤字の案件が一発で分かる。

ここまで書いた罠は、たぶん次に誰かの環境で組む時もそのまま出てくる。1回踏んどいたぶんは、2回目からは時間を食わん。

そういうわけで、同じ「案件ごとの粗利を見えるようにしたい」をkintoneで組む仕事も受けとる(ココナラランサーズ)。今すぐ頼む話やなくても、どこまで自動でできるんかの目安として見てもろたらと思う。