狠狠撸

狠狠撸Share a Scribd company logo
突然ですが、骋笔罢3の凄さをお伝えします
事前インプット
下記は、HumanとAIの対話です。AIは賢く、簡潔に回答を返します。
AIのメッセージは、下記関数に入力されて処理されるため、適切な形式で回答する必要があります。
一行目は必ず、/xxxのような形式で始まるコマンドが乗っている必要があります。
```
function handleAiResponse(message, slackEvent) {
// AIの返信の種類と含まれる命令を判定する
// AIのメッセージの一行目には/xxx yy zzのようなtool利用の構文が含まれる。
// これを処理して適切なアウトプットにつなげる。
const ts = slackEvent.thread_ts || slackEvent.ts;
// AIのメッセージの一行目から、どのtoolを利用するか、そのための引数として何が与えられているかを抽
出。
const lines = message.trim().split("n");
const tool_and_arguments = (lines.length > 0 ? lines[0].trim().split(" ") : null);
const tool = (tool_and_arguments.length > 0 ? tool_and_arguments[0] : null);
const args = (tool_and_arguments.length > 1 ? tool_and_arguments.slice(1) : []);
// コマンドを判定する
if (tool == "/reply") {
// 通常の返信ではコマンド行以外すべてのメッセージを返す。
const message_to_human = args.join(" ") + "n" + lines.slice(1).join("n");
postMessage(message_to_human, slackEvent.channel, ts);
}
else if (tool == "/code_reply" && args.length > 0 && lines.length > 1) {
const filename = args.length > 0 ? args[0] : null;
const code = lines.slice(1).join("n");
// スニペットで返す
postSnippet(code, slackEvent.channel, ts, filename);
}
else {
// 未定義処理(現状は警告を出してメッセージ全体を返す)
console.warn("未定義の命令が設定されました。");
console.warn("tool_and_arguments:", tool_and_arguments);
console.warn("message:", lines);
postMessage(message + "n(AIからの未定義命令検知)", slackEvent.channel, ts);
}
}
```
対話ログ
Human: pythonのプログラムを始めたいので、もっともベーシックなも
のを書いてもらえますか?
AI:/code_reply BasicPython.py
print("Hello World!")
Human: ありがとう。では、簡単な計算をしたいと思ったらどんなプログ
ラムが必要ですか?
AI:/code_reply CalculationPython.py
a = 10
b = 5
c = a + b
print(c)
Human: ありがとう。そのプログラムの実行環境を用意するにはどうし
たらよいですか?
AI:/reply Pythonの実行環境を用意するには、Pythonをインストール
して環境変数を設定する必要があります。必要な手順はこちらでご確
認ください。https://xxx
何が凄い?
文字で使えるなら
「ツール」も使える
独自実装の「AIのメッセージをIF文で分岐する」プログ
ラムをそのまま渡すと、使い方を理解して、返信してく
れるようになった。
↓
「Google検索してその結果を得るプログラム」をメッ
セージ経由で使えるようにさえできれば、AIが勝手に
動かしてくれる。
↓
「学習時点の情報しか知らない」のような制約を取っ払
うことさえできる。
対話ログ
Human: pythonのプログラムを始めたいので、もっともベーシックなも
のを書いてもらえますか?
AI:/code_reply BasicPython.py
print("Hello World!")
Human: ありがとう。では、簡単な計算をしたいと思ったらどんなプログ
ラムが必要ですか?
AI:/code_reply CalculationPython.py
a = 10
b = 5
c = a + b
print(c)
Human: ありがとう。そのプログラムの実行環境を用意するにはどうし
たらよいですか?
AI:/reply Pythonの実行環境を用意するには、Pythonをインストール
して環境変数を設定する必要があります。必要な手順はこちらでご確
認ください。https://xxx
LLMとツールのイメージ図
人 AI (LLM)
Tool実行環境
Tool1
Tool2
Google?
ここの実装が
超楽になる
既に「AIがググる」
ライブラリもある
実質的にAIがインタフェースとして機能している。
事前情報を渡せば、 AIは使い方を理解し、適切にツー
ルを使ったうえで返答をすることができる。
事前情報の例
?APIリファレンス
?ユーザーマニュアル
?プログラムそのもの
[https://note.com/npaka/n/nd9a4a26a8932]
GPTは「そこまですごくない」?
下記のような問題があるので「そこまですごくない」という意見
(そこまでって言い方はずるくね。。)
● 正しくない文法でプログラムを出力することがある
● 要件(五十音順やフリガナ)を無視することがある
● 雰囲気でプログラミングのようなものを見せているだけ
[https://www.businessinsider.jp/post-263042 ]
→人は…?
【ChatGPTによる反論】
みんなと一绪に考えたい
未来の妄想
● ARグラスつけて、散歩しながら会話でAIとプログラミングできそう
● 会社のデータをすべて見たAIによる、よろずお悩み相談できそう
○ データレイクの重要性がさらに上昇?
○ 閲覧権限の管理さえできればあらゆる社内情報がインプットになりうる
● データカタログを見たAIによる、高速データ可視化?活用
○ Thoughtspotっぽいものが乱立しそう
○ 「もっとこういう表現に」「今出している数値の注意点は?」にも答えられる
● 「どう操作したらよいかを知っています」の価値は急減しそう
現時点でのGPTのデメリット
● 「学んで回答する」をする場合、毎回長文をインプットしての質問になる。
→ベクトルデータベースのpinecone等があります
● 「会話の流れを把握して会話する」をしようとすると、会話が続くほど長い文章をイン
プットする必要が生じる。
→(力技)会話を要約させて、それをインプットする方法があります。
● 嘘をつく
→人は…?

More Related Content

骋笔罢凄くね?