WIP 2025-01-17 サイボウズラボ勉強会
百聞は一見にしかず
AIエージェントの概念
AIの「見ることのできるもの」「更新できるもの」(AIにとっての世界)は何か、という視点
ChatGPTがインターネットを検索できる「ブラウジング機能」を初めて利用可能にしたのは、2023年9月27日です。この機能は、有料プラン(ChatGPT Plus)でGPT-4を利用するユーザー向けに提供されました。
今後の発展について: ChatGPT的なものとの結合としてはToolformer的なアプローチが長期的には魅力的
<img src='https://scrapbox.io/api/pages/nishio/GPT-4/icon' alt='GPT-4.icon' height="19.5"/>簡潔にToolformerについて箇条書きで説明します。
Toolformerは、言語モデルが外部ツール(検索エンジン、計算機、カレンダーなど)を使えるようにするモデルです。
つまりAIにグループウェアの使い方を教えるということ
必要に応じてグループウェアを操作して情報を引き出して、それを読んで判断する
どういう操作をしたいかという情報がマイクロフォーマットで回答文に埋め込まれている
現状でも「こういうことをしたいんだけど何を検索すればいい?」と聞けば検索キーワードが出てくる。これを進歩させて、機械的に扱える形で出力させる
グループウェアに「AIのアカウント」があって、メンションやDMでやり取りできる未来
「チャットの見た目」だとユーザを1分待たせることがしにくいがグループウェアの通知の見た目だと「AI社員」に作業をお願いして、10分後に仕上がってくるのでも許容できそう
用途によって速いリアクションが欲しいものとそうでないものがある
ChatGPTがPlugin機能をサポートし始めたのは、2023年3月23日です。この日、OpenAIはプラグイン機能のアルファ版を発表しました。
プラグインにより、ChatGPTは外部サービスと連携したり、リアルタイムでインターネットを検索したり、データベースにアクセスしたりといった高度なタスクを実行できるようになりました。当初は限定されたユーザーや開発者向けに提供され、徐々に拡大されました。
ChatGPTがCustom Actionsの呼び出しをサポートするようになったのは、2023年11月6日です。この日、OpenAIはGPT-4 Turboの更新とともに、開発者やユーザーがGPTの機能をカスタマイズしやすくするためのツールや統合機能を発表しました。
利便性と危険性のトレードオフ
チャットログよりももっとリッチなデータ形式
BabyAGI(2023年3月28日)がリリースされたときには既にオーケストレーション層が持つデータをチャットログのような追記データベースよりもリッチな形にすることが行われてた
それを使って、与えられた目的を「プラン」に分解し、更新していく
これはChatGPTみたいなチャットサービスをチャット的に使ってるだけだと見えてこないので理解していない人も多そう
ここでDevinのプランボードを見てみよう
ChatGPTで実際にやってみよう
AIのアクセス範囲拡大の話
Devin.ai
AIエージェントの知識
ChatGPTにMemory機能(会話履歴を保持して、それを基にパーソナライズされた応答が可能になる機能)が導入され始めたのは、2024年7月です。
人間のエミュレータとしてのDevin
プロトタイプを作るのに良い
「VSCode拡張やDocker・仮想マシンを使ってAIに開発環境を操作させるとき、万が一AIが誤操作して環境を壊してしまうリスクはどれくらい現実的なんでしょうか?どんな防御策があるのか気になります」
teramotodaiki TLがDeepSeek-V3+Clineで盛り上がる中、うちのDevinはさっき Firebaseプロジェクトのサービスアカウントを取り違えて別アプリにデプロイして全てを破壊したよ。かわいいね
「チームにAIを入れてタスク管理を任せるとき、Slackなどから自然に会話してタスク化できるのは便利そうですが、複数人で同時に話しかけると競合や混乱は起きないのか、そのあたりはどう処理しているんでしょう?」
-----以下メモ
AIタスク管理システム2025-01-08の話をするのをすっかり忘れてた
Cline
AIタスク管理システム2025-01-08 プロジェクトのソースコードをまとめてクリップボードに入れるツール#6759c19aaff09e00009f1487
「ブラウザやVSCodeと連携してDOM情報やファイルツリーを取得しながらAIが自動操作する仕組みを、どのように抽象化してAPI化しているのでしょうか? 特に、DOM構造やASTなどツリー型データをどの粒度までAIに渡す設計になっているのか気になります。」
「仮想マシンやDockerコンテナをAIに与える際、ネットワークやファイルシステムへのアクセス権限の範囲をどのように制限・トラッキングしているのでしょうか? 例えばOSレベルの監査ログやNamespaced FSアクセスの仕組みを使っているのか、より独自の砂箱(Sandbox)設計があるのか知りたいです。」
「ClineやDevin.aiのようにAIがソースコードを直接操作・生成する場合、Git履歴やブランチのコンフリクト解消などはどう処理しているのか興味があります。AIが誤って大量のファイルを編集したり、破壊的なリベースを実行しないような制御ロジックはあるのでしょうか?」
「AnthropicのComputer UseやBrowser Useのアプローチを見ると、操作対象を画面キャプチャではなくDOMやプログラムASTといった高レベルオブジェクトで扱う流れがありますが、マウス操作相当の座標情報を扱う場合など、低レイヤと高レイヤをどう切り替えているのか技術的に気になります。」
「Devin.aiではユーザごとに独立したVMが立ち上がるとのことですが、VM間で状態を共有したいケース(例:共通のキャッシュや学習用データ)はどう扱うのか気になります。分散ファイルシステムやネットワーク越しのデータベースを参照するのか、あるいは意図的に分断しているのか、設計の意図を知りたいです。」
「今後さらにAIの権限が拡大していくとき、権限昇格(sudoや一部レジストリ書き換えなど)の要件が出てくると思います。AIが認証を必要とする操作を行う際、ユーザ視点ではどのタイミング・どの形式で承認インタラクションを設計するのが望ましいと考えられていますか?」