1. マヂカル.fm
  2. 194: 「現場で活用するためのA..
2025-11-03 41:05

194: 「現場で活用するためのAIエージェント実践入門」を読もう 前編

spotify apple_podcasts

今回は「非エンジニアが読む、現場で活用するためのAIエージェント実践入門:前編」について話しました。

しばらく買えなかったやつ/AIエージェントとは/自律性と知性/決定論的な処理/ツール設計/Writing Effective Tools/タスク分解/CursorのPlan mode/自己修正

▼ 名言ステッカーやアクリルキーホルダーなどのグッズが増えました🙌
https://suzuri.jp/magicalfm

 

▼ マヂカル.fmとは
関西人のプロダクトマネージャー@michiru_daと関西人(?)のソフトウェアエンジニアの@upamuneがほぼ週で配信する雑談Podcast。

 

▼ お便りや感想はこちらからおまちしています。

X(旧Twitter): #magicalfm 
おたよりフォーム: https://magical.fm/hello
マシュマロ:https://marshmallow-qa.com/xno94s1ortkw63w?t=e1P9wQ

Summary

このエピソードでは、AIエージェントの実践入門について議論し、特にその概念や実装方法に焦点を当てています。AIエージェントの特性や利用方法についての理解を深めることが目的です。このエピソードでは、AIエージェントの概念とその進化について詳しく説明しています。特に、LLMを基にしたAIエージェントの機能や、その成果を上げるためのタスク管理の方法について議論しています。AIエージェントの開発では、非決定的な動作をいかにして決定的にするかが大切な課題です。例えば、連絡先検索のような具体的なツールの設計や、サマリーエラーをもとに次の行動を示すことが重要なポイントとなります。AIエージェントの設計には二つの主要なアプローチがあり、学習型と推論型があります。このエピソードでは、AIエージェントの能力向上に関する議論とそれに伴う課題についても掘り下げています。

AIエージェントの概要
michiru_da
マヂカル.fmは関西人のプロダクトマネージャーみちるだと関西人のソフトウェアエンジニアのポミンが週に配信する雑談ポッドキャストです。お願いします。
うぱ / upamune
お願いします。
michiru_da
今日のテーマは、現場で活躍するためのAIエージェント実践入門を読んでいるよう。
うぱ / upamune
活躍するための?
michiru_da
活躍するために。
あれ?活躍するためと言わなかった。
うぱ / upamune
活躍する。どっちでもいい。
私、活躍して欲しいもん。
確かに、プロになるための一冊って書いてるから、どっちでもいいが通ります。
michiru_da
確かに、表紙にね、プロになるための一冊って書いてあります。
はい、これはですね、なんか今、AIエージェント、猫も牛もAIエージェント、本当ですか?
まあ、うちの会社だとね、特に。
私の周りは、私たちの周りはそうなりがちって感じなんですけど、
そのAIの中でも、何ですかね、エージェントっていう概念がちょっと最近できていまして、
それを実際サービスとかプロダクトに活用していくための入門書の本ですと。
で、なんか青と緑の表紙のやつで、今年の夏ぐらいに出たのかな。
春夏ぐらいに出たんですけど、もうね、なんかその出た時からそれを買えないみたいな。
うぱ / upamune
ね。
michiru_da
最初紙だけだったんですよね。
うぱ / upamune
結構紙の期間が長かったですね。
michiru_da
そう。で、本当に入手困難みたいな。
でもなんか買えた人はこれ読んだほうがいいよみたいな感じになってたのが、
多分2ヶ月か3ヶ月前かな、Kindleでも買えるようになりましたので、
買ったんですけれども、全く読んでいなかったので、
この機会に読むぞということで、昨日から読んでいます。
うぱ / upamune
すごい。
michiru_da
なんかね、そのAI、MLopsの人にも、
なんかそのエンジニアじゃなくても1章と2章までは読んだほうがいいよって言われてて、
そうなのかって思ったんですけど、確かにみんな1章と2章読んだほうがいいわってなりました。
うぱ / upamune
ちなみにこの会社の人は怒られるかもしれないですけど、私は全く読んでないです。
読んでない人の方もいいと思いますけどね。どうなんでしょうね。
michiru_da
この本がですね、目次出したいな。
その1章と2章は本当に概念の説明なんですよね。
そのAIエージェントとは何かみたいなものとか、
これまでのAIとか生成AI、LLMって言ってたやつと何が違うのかとか、
そのAIエージェントがうまく動くために何か必要な概念、
いろいろ計画をするとか、ツールを呼び出すとか、メモリーを使うみたいな、
汎用的にこれはしておいたほうがいい知識みたいなものがあるので、
1章と2章はそれを解説してくれていますと。
その後がすごくて、3、4、5、6章は実技なんですよね。
実技編の内容
michiru_da
実際にAIエージェントをコードベースで作っていこうっていうもので、
ヘルプデスクでお客さんからのサービスへのお問い合わせを対応するような、
サポーターの担当者を支援するようなAIエージェントを作ってみようとか、
データ分析ができるエージェントを作ろうとか、
リサーチを支援するエージェントを作ろうとかっていうのが具体の、
コードも自分の環境に落とせるようになっていて、
実際に動くものを一緒に作っていける。
最初はザークで、後半は実技になっているみたいな、いい感じの本です。
うぱ / upamune
みちるださん、技術書を読んでいるときって、
これ言ってる意味わかんないんだけどみたいな、
いつもアングリーになってるのに、今回は1,2章も絶賛してましたね。
michiru_da
そうですね。
でも私、技術書を読んだことをこれまでに数える3冊ぐらいしかないですけど、
前読んだのは、
うぱ / upamune
アングリーになった対象が、
さらされる。
michiru_da
でもそれはそういう本だからいいんですけど、
これですね、ラングチェーンとランググラフによるラグAIエージェント実践入門。
うぱ / upamune
そもそもエンジニア向けだから、いきなりちょっときつそうだなという感じはありましたけど。
michiru_da
そうなんですよ。この本も、私半分ぐらいは読んだし、
コードも実際、社境して全部動かしてみたりとかして、
ラグ編はちゃんと全部読みました。
ですけど、この本は本当に最初から割と実技的なものが始まるので、
Pythonとか、自分ほんとライトなデータ分析しか使ったことなかったんで、
知らない。知らないね、みたいな。
インデントの位置がおかしいことでエラになるみたいなのとかを踏んで、
なんでやねん、みたいなのを、
うぱさんに切れながらやってました。
うぱ / upamune
不憫すぎるだろ、私。
michiru_da
関係ない。何も関係ないのに。
でも初心者に優しくない言語ということを切れていました。
そしてその1冊目にやってたやつも、
あれだな、本当にエンジニア向けの本だったんですけど、
今回の青と緑のAIエージェント実践入門の図は、
対象読者はDX部門、AIエンジニア、AIコンサルタントです。
なので、必ずしもエンジニアだけじゃないよということです。
ただ一定、専門知識とか開発の話とかも後半多くなってくるので、
LLM、SSAIのAPIを使ったことがある人とか、
プロンプトエンジニアリングしたことある人とか、
あとラグ、AIを使った検索の仕組みみたいなやつなんですけど、
初心者のための学習
michiru_da
それを開発したことがある方が一応対象というふうにはなっています。
確かに、自分も今全部で何章あるんだろう。
全部で10章あるのかな。
そのうちで多分4章の途中ぐらい、
実践編の1個目の準備が終わって、
ヘルプデスク支援エージェントを作って途中ぐらいの感じなんですけど、
後半はやっぱり専門的な開発の知識がいるので大変ですが、
前半のその1,2章は本当にエンジニアじゃなくても、
かなり分かりやすく説明してくれてるので、
本当にその1,2章はみんな読んだ方がいいっていうのは、
トゥルーという、トゥルーです。
うぱ / upamune
ウィチルダ太鼓版が。
michiru_da
太鼓版です。
これ書いた人、4人か5人の方の強調なんですけど、
この前半書いた人結構すごいなって思うのが、
こういう概念があって、それぞれこうですみたいな説明したときに、
これあるのは分かるけど、なんであるんだろうみたいなの絶対思うんですけど、
必ず後ろになぜこれが必要なのかっていうのをちゃんと説明してくれたりだとか、
あとその読んでて疑問に思ったところが、
8割か9割ぐらい後から回収されるんですよね。
これ何だろうなって思ってメモを取ってたやつが、
ちゃんと後から説明をしてくださってる。
すごい。
かなり初心者でも分かりやすいように書いてあります。
うぱ / upamune
レビュアーでそういう人を入れたのかな?
michiru_da
確かに。DX部門で、エンジニアじゃないなみたいな。
LLMとかAIについて、言葉とかは聞いたことあるけど、
実際中身はあんま分かってないなみたいな人が学習をするのに、
かなりいい感じのレベルでした。
うぱ / upamune
私も商業史のレビュアーとして、
雰囲気でしか分かってない人としてレビュアー参加したこととかあるんで、
michiru_da
多分そういう人がいたんじゃないですかね。
そうですね。やっぱり私の技術に対してはずっと初心者という感じなので、
いかに初心者に優しくなっているかっていうのは、
結構厳しく見させていただいている。
うぱ / upamune
なるほどね。
michiru_da
見てみざるを得ないという感じなんですけど、
これは本当にいろんな人が勝手言いながら、
割と初心者でも分かる、結構稀有な本だなという感じです。
そうね。
ありがたい。
なので、ちょっと今日は私も全部全く読めてはないんですけど、
その1,2章の概念的なところで、
面白かった部分とかをなんとなくサマライズしつつ、
とはいえちょっとこれは具体的にどういうことなんだい?
後ろでもしかしたら解説されるかもしれないが、みたいなところをちょっとうぱさんに聞いてみよう。
え、怖っ。
いや、分かんないですね。
分かんないかもね。
でもなんかね、やっぱ結局、
自分で納得してた。
結局ね、なんか実装しないと分かんないなという結論にちょっと達しつつありますね。
理論上そうなのは分かるが、
いろんなね、そのAIの中にもなんかエージェントとかワークフローとか、
いろいろあるよみたいな。
で、AIエージェントもいろんな実装方法とかいろんな工夫のポイントがあるよっていうのを教えてくれて、
頭では分かるんですけど、じゃあいざ自分が担当しているサービスとか、
プロダクトでエージェントを作りたいなとか、AI機能を作りたいなってなったときに、
じゃあ何を使うのがいいのかみたいなのとかはやっぱり全く分かんないっていう感じなので、
なんかなんだろう、やっぱり具体でこれはこういうことなんだなっていうのをちょっと手を動かさないと、
ちょっと次の解像度には進めないかもしれないですね。
なのでちょっとね、このポッドキャスターはエンジニアの方も聞いてるんですけど、
パンピーのAI初心者の人も聞いているので、
その人もなんとなく分かるように補足をしつつ進めたいところですね。
なので、AIエージェントは、
一般的なエンジニアの方が、
補足をしつつ進めたいところですね。
なので、AIエージェントって今日初めて聞いた人もいるかもしれないので、
なんやねんっていうところなんですけど、
AIエージェントとは、定義も書いてますね。
うぱ / upamune
目的に向けて環境と相互作用しながらタスクをこなす知能システムらしいです。
なるほど。結構大きいですね。
michiru_da
どういうことなんだ。
ちなみに環境っていうのは、AIエージェントが動く場所なので、
例えばウェブのブラウザーとかアプリケーションの中っていう感じですね。
なので、自分一人で何かするというよりかは、
環境、他の情報とかデータがどういう風になっているかを見ながら、
環境達成に向けてステップを進んでいくようなAIみたいなことを指しているようです。
本当に最初はかなり壮大な話というか、ちょっと不運って感じだったんですけど、
AIエージェントを代表する特性は、自立性と知性です。
自立性は人間を介さず独立して自ら判断しタスクを遂行する。
AIエージェントの概念
michiru_da
知性は思考や理解判断、知識の適応など総称、その適応力の総称ですみたいな。
なんかすごそうだなっていう感じが分かって、
この人結構壮大な、AIエージェントでどうしていきたいかみたいなのは結構壮大なんですけど、
もうAIエージェントを人間のように捉える場合には、知性を重視して、
人の振る舞いを表現しながら、人の動きとアクションを再現しながら問題解決を目指すようなものだよっていう書き方をしていますね。
結構壮大なんだなっていうのが最初はあります。
今ちょっとロボットくんの画像を映してるけど、
この感じの絵が結構よく出てきてて、とはいえもう少し具体的に言うと、
AIエージェントが何かっていうと、LLMっていう生成AIがコアなところにあるんですけど、
そいつがメモリとか知覚とか計画をしながら実際行動して目標達成に近づいていくよ、
その行動した結果とかも自分で振り返りながらアクションをしていくものだよっていうところが、
結構この図とかよく出てきますね。
AIエージェントって結局例えば何って言われたときに結構ムズイなってなるんですけど、
うぱ / upamune
うぱさんだったら、例えばこれエージェントだよみたいな。
実用的なAIエージェント
うぱ / upamune
でも最近のChatGPTとかもAIエージェントですよね。
何かを入力した時にウェブ検索っていうツールを使って、
ウェブ検索が必要だと思ったらそれを使う。
ChatGPTってチャット単位じゃなくて、今までの履歴とかで学習してメモリを更新して、
新しいチャットでも活かしてくれるんで。
計画とかは分かりやすいのはChatGPTのディープリサーチとかは、
こういうの調べたいって言ったら向こうから質問してきて、
こういう部分はどうしますかみたいな。
どうやって調べようかなというのを考えてめちゃくちゃ調べまくるみたいなのもAIエージェント。
一番身近だったらChatGPTとかじゃないですかね。
michiru_da
そうですね。
LLMの数とも思いきや、
もう実際ユーザーが触っている面は、
なんかこれやっといてって言ったら、
そのステップというか道のりは勝手にChatGPTがいい感じに
いろんな試行錯誤しながら進めてくれているっていうのが、
最近だとそうなってますっていう感じですかね。
うぱ / upamune
逆に一般の人がAIエージェント以外のLLM、
素のやつを触るのって結構難しくなってるかもしれないですね。
michiru_da
そうか。確かにそのいろんなツール使うよとか、
ジェミニーとかもGoogleドライブから取ってくるよみたいなのとか、
ほんと吉田にやってくれますよね。
うぱ / upamune
なんでChatGPT3.5ターボみたいな時代を知ってる人はあれっていう感じですね。
michiru_da
吉谷が結構ポイントかもしれませんね。
このAIエージェントも別に、
最近できたよっていう感じじゃなくて、
昔もあったらしいんですけど、
ちょっとその時にはめっちゃ高いのにめっちゃ遅いとか、
あるいはいろいろやってみるけど途中で止まっちゃって、
期待する結果が得られないみたいなこととか、
そしてそもそもLLMが受け取れる情報量が少なかったので使い物にならないよみたいな、
冬の時代があったんですけど、
これ結局なんて読むんだ?マヌースなのか?
うぱ / upamune
確かに。
michiru_da
ユルゲン語学ラジオの人って違う呼び方してたんだよな。
M-A-N-U-S。マヌース。
中国で、中国発のAIエージェントアプリケーションなんですけど、
うぱ / upamune
マナスって書いてある。
michiru_da
マナスなのか。
これがね、リリースされた時みんな7モニターぐらいで
マナスを動かして並行でタスクできるぜみたいな。
うぱ / upamune
確かに。ありましたね、その時代も。
michiru_da
1年前ぐらいかね。半年前かな。
マナスによってエージェント使い物になるっぽいな、すごいな、みたいな感じになって、
そこから結構実用的なやつとかもいっぱい出てきてるって感じですね。
ChatGBDとかもそっちの方向に行ってたりとか、
コーディングのところはいろんな、デビンとかカーサーとかクロードコードとか、
タスク管理の重要性
michiru_da
自分で調べてクライーンとかあったなっていう感じになったんですけど、
うぱさんがいっぱい使ってましたね。
だからChatGPTもだし、
ChatGPTで自分でルールを設定できるGPTsってあると思うんですけど、
あれもエージェントですっていう風に整理をされてましたね。
Defiとか、NANとか、ワークフロー系のエージェントも工芸のエージェントですっていうところを、
この本では書いてありました。
なんでこう、ちょっと繰り返しになっちゃうんですけど、
結局エアエージェントに共通する特徴は、
何かやりたいことはあるけど、それに必要なタスクが何かとか、
その順番みたいなものは決まっていないので、
ユーザーの依頼に応じて、エアエージェントがそのタスクを、
そもそも何からやるかとか、どういう順番でやるかを考えている点が非常にポイントですという風に書いてあります。
で、あるんですけど、ここでみちるだ疑問は、
言っていこうとわかるんだけど、そのタスクって、
例えばどういう流度ぐらいのものを指しているんだいっていう。
なんかその業務のステップみたいなものなのかな。
もっと細かいものじゃないと難しいのかみたいな。
うぱ / upamune
これは完全にそのLLMの性能によりますね。
なんかカーソルとかも最近、あれですよね。
何か依頼したら、そのまずトゥードゥリストみたいに作ってプランニングしてやる。
michiru_da
プランモードができましたね。
うぱ / upamune
思いますけど、何かそこも流度様々だと思うんですよね。
何か一番プリミティブなやつだと、書き込みツールを使ってファイルに書き込むとか書くと思うんですけど、
ユーザーに見えるところはそこまではやってないですよね。
どういうこと?
Aっていうファイルに書き込む。
Bっていうファイルから読み込むってなったら、タスクリストってその100個ぐらい登録されちゃうじゃないですか。
けどユーザーって別にそれ見ても。
michiru_da
確かに、書き込んでくれってなる。
うぱ / upamune
もっと抽象度を上げた。
michiru_da
このファイルを更新するみたいな。
うぱ / upamune
そうそう、このファイルを更新するとか。
もっとそのファイルじゃなくても、
この命令は4つのステップに分けられて、
一つ目はまずこのファイルとこのファイルをガッチャンコするみたいなやつとか、
そういうタスクがあるんですけど、
そのどうタスク分解するかは多分LLMの性能による。
michiru_da
そうなんだ。
うぱ / upamune
あとはそのプロンプトで制御したり。
michiru_da
それその分解の流動を人がプロンプトで支持することも別にあるっていう感じなんですね。
うぱ / upamune
そうですね。
michiru_da
すごいこの本も自立性っていう言葉がいっぱい出てくるんですけど、
どこまでをそのLLMの自立性に任せるのかとかも、
かなり意思決定難しそうだなっていう感じで読んでました。
うぱ / upamune
そう、だからあれですね、
本当にプリミティブにめっちゃ細かくしてたスクボとかツールを用意するのは良くないんですよね。
michiru_da
そうなんだ。
うぱ / upamune
なんかよくアンソロピックのライティング4AIツールズみたいな100万回ぐらい読んでるやつがあるんですけど、
なんか今までの人間とか機械向けに提供するAPIってすごいシンプル。
作成、読み取り、更新、削除みたいな。
だけど、それをAIにツールとしてそのまま渡すと混乱する。
そうなんだ。
非決定的なんですよね。
例えば4つのツールを使って1回作成して、それを読み取って、更新して削除みたいな4つのツールコールになるじゃないですか。
それを今の4つのツールコールは意味ないけど、意味ある一連の流れだとして4つのツールコールが必要ですと。
じゃなくてそれより1つのツールコールでそれらを全部中では勝手にやってくれるんだけど、
分解しすぎないっていうのがちゃんとAIエージェントに決定的な仕事をさせるために重要なこと。
michiru_da
そうなんだ。なんかちょっと非直感的ですね。
うぱ / upamune
そこまで賢くないっていう感じですね。
michiru_da
細かいこと言われてもあんま分かんないよってことなの。
うぱ / upamune
例えば1,2,3,4の順番でこのツールを呼び出さないといけないってなったときに、たまに1,3,2,4みたいな感じで呼び出しちゃうときもあるよみたいな。
それだと困るんですよね、その業務だと。
だから1,2,3,4って絶対何回呼んでも呼べるツールを作ってあげて、それをAIから呼ぶだけで1,2,3,4で勝手に呼ばれるみたいな感じ。
Lighting Effective Tools for AI Agentsですね。
michiru_da
そうなんだ。
うぱ / upamune
例えばここで。
michiru_da
今のミツルダ的な一般people向けに補足すると、
ツールツールって言ってるのは、そのAIが呼ぶ外部のプログラムみたいなものをツールと言いますと、
このAIアジェントの開発でかなり重要になるやつ。
間違いなく何かを処理したいとか、外部の情報、
LLMが持っていない外部の情報を使いたいときとかに、絶対そのツールを呼ぶ、ツールコールするみたいなことを言いますと。
うぱ / upamune
そうですね、道具を与えてあげないとLLMはチャットしかできないんですよね。
なので、100回出てくる今日の天気を知りたいっていうよくあるサンプルだと、
今日の天気を知りたいと言われても、LLMって今日がいつかもわからないし、
そんな天気も知るわけないんで、
これを使ったら天気を知れるよっていうのを教えてあげて、
LLMがそれを知りたいですって言ったら、その結果を返してあげるみたいなのがシンプルなツールなんですよね。
michiru_da
今のChatGPTとかがエージェント的に発展しすぎてて、
そのLLMって今日がわかんないんだとか、天気知らないんだっていうのが、
それも知らないんだみたいな、結構びっくりしました私は。
うぱ / upamune
前のやつだったら、ナレッジカットオフっていう学習が終わった日とかを、
michiru_da
今日はその日ですみたいな感じで言うみたいな感じがよくありました。
AIエージェントの基本概念
michiru_da
それでLLMが今日解釈しやすくなるんですね。
そうです。
さっきのツールコールするツール側で、この手順でやってくださいねっていうのをプログラムで決めてあげるみたいな、
それは細かく指示することとは違うんですね。
うぱ / upamune
それを細かい指示をしても、それってなんか非決定的じゃないですか。
守るか守らないかわからない。
で、そういうなんかその非決定的な動作を決定的な動作に頑張って落とし込んでいくのが重要AIエージェント。
michiru_da
なるほど。
うぱ / upamune
なんで、例えばこのさっき紹介したツール、AIエージェント開発に携わる方は多分100回ぐらい読んでる。
michiru_da
なんてやつだっけ。
うぱ / upamune
Writing Effective Tools for AI Agents。
今画面共有してるんですけど。
michiru_da
見えました。
うぱ / upamune
例えばめっちゃ簡単な例からいくと、このAIエージェントはアドレス帳、みんなの連絡先を調べられますっていうやつで、
例えばアドレス帳を全部一気にバーンって返すツールがあるとするじゃないですか。
そこからみちるださん探してくださいって言っても別にできるんですよ。
なんですけど、そういうプリミティブなツールを提供してあげるよりは、連絡先から探すっていうツールを提供してあげましょうっていう話。
それはさっきのやつと違ってコンテキストが無駄に圧迫されちゃうよねっていう話でもあるんですけど。
michiru_da
全部の連絡先が返ってくることで。
そうそう。
今の校舎のこっちの方がいいよねっていうやつもう一回言ってもらっていいですか。
うぱ / upamune
検索。
全部連絡先これだよって返すんじゃなくて、連絡先を名前で検索するツールみたいなのを提供してあげて、
それをみちるだって言ったらみちるだだけ返ってくるみたいな。ない場合は何も返さないみたいな。
あとはさっき話してた流れで適切なやつで言うと、予定を調整したいっていう時に一番プリミティブなやつでいくと、
ユーザーを一覧する、予定を一覧する、でイベントを作成するっていう三つのツールをあげればいいじゃないっていう感じなんですけど、
ここではそうですね、それを3つを中でやるスケジュールイベントっていうツールにしましょうっていう風な感じで書いてます。
michiru_da
これスケジュールイベントの中はどうなってる?
うぱ / upamune
こいつらを呼んでるってことですね決定的に。
スケジュールイベントをみちるださん渡してなったらリストユーザーズみちるだ渡しして、2人のリストイベントを呼んで最後にそのクリエイトイベントを呼ぶみたいな。
michiru_da
なるほど、じゃあLLMによって非決定的に行われるのは、スケジュールイベントを呼ぶかどうかだけぐらいにした方がいいよみたいな。
うぱ / upamune
それぞれ適当だけど、2分の1の確率でしか呼ばれない3つのツールがあったら成功数の8分の1とかになるじゃないですか。
michiru_da
確かにそれよく言われますね。
うぱ / upamune
それよりスケジュールイベント呼ぶか呼ばないかの2分の1になった方がいいよねっていう。
michiru_da
なるほど、めちゃくちゃプリミティブにいろんなものを定義しようとしてた。
うぱ / upamune
危ない。
michiru_da
危ねー。
うぱ / upamune
そうなんですよ、なんで下の話も同じですね。
お客さんの情報を知る方法が3つぐらいのツールを全部読んだらいい感じに集まりますよってやつもそういうんじゃなくて、
1つのやつで一括で返せますよっていう風なやつでやってくださいっていう話ですね。
これもなんか3つ中1つしか叩かなかった時に、なんか知れる情報が少ないじゃないですか。
michiru_da
そうですね、結局1個叩かないだけで失敗しちゃうみたいな感じですもんね。
うぱ / upamune
です。
なんでここではね、結構そのAIエージェントならでもあの面白い今までと何が違うのかみたいな話を書いてますね。
michiru_da
これ読もう。
うぱ / upamune
例えばめっちゃ簡単なのはその今までAPIってすごいなんかエラーの時はなんかステータス番号422でメッセージなんか不正な値ですみたいな感じなんですけど、
AIエージェント向けだとなんかエラーのサマリーはこんな感じでみたいな。
で、どういうのがその正しい入力なのかみたいなのを例をフューショット的に与えてあげたりして、
なんかこれをやりたいんだったらこのツール使うといいよーまで次の動作まで教えてあげるみたいな。
michiru_da
そうなんだ。確かにそのツールを呼ぶにあたっても、とにかくその説明をちゃんと書けみたいなのはめっちゃ本に書いてありましたね。
うぱ / upamune
なんでこのケースだと、例えばユーザーIDっていう多分なんか数字を入れなきゃいけないところにAIエージェントはメールアドレスを入れちゃいましたっていう話で、
結果的にはないよ、そんなユーザー存在しないよっていうのが同じなんですけど、結果としてはユーザーIDっていうのはこういう数字のフォーマットなんだよみたいな。
michiru_da
で、メールだけ知っててユーザーをIDを引きたいんだったらこのユーザーサーチを叩きなみたいな。
うぱ / upamune
ユーザーIDを解決したいならユーザーサーチを使ってくださいみたいな。
で、AIエージェントも次に何すればいいか明確になるっていう感じ。
michiru_da
AIエージェントはエラーになっても終わらないのがこれまでとの違いみたいな感じでもありますよね。
エラーサマリーと自己修正
うぱ / upamune
そうですね。目的が達成できないときに、それを基に反復してまた別のツールを選んで、また反復しての繰り返し。
michiru_da
なんかね、自己反復みたいなやつもセクションで結構しっかりとって書いてされてたんですよね。
うぱ / upamune
こっちを見るか。
ほぼそれが全てですよね。
michiru_da
なんかね、その辺のその、今の、何て言ってたかな。
自己修正ってこの本では書いてありますね。
セルフコレクションかな。
自律的に問題を解決するために自分が誤ったことに気づいて、
まあそういうAIエージェントにしていきましょうみたいなことが書いてありました。
で、なんかこの本でもその自己修正の方法が、なんか自分自身で内製したりとか、
あとは、何だろう、自己一貫性って書いてあるんですけど、
同じモデルとか違うモデルで複数回答させて、
なんか一貫した回答であったら評価するみたいな方法とか、
なんかたくさんのモデルで討論させるみたいな、なんかいろんな方法と、
あとなんかその外部、本当に外部から、
違うよみたいなフィードバックをもらって修正するみたいな、
なんか2個のやり方があるみたいなのが書いてあったんですけど、
ソフトウェアエンジニアリングの課題
michiru_da
なんか実際この本でも、
自己修正は頭打ちなのかって書いてあったんですけど、
結構その自分で内製して修正していくみたいなの、
なんかそんなに改善しないんじゃねみたいな、
なんか理論上わかるけど、
一旦同じ人が修練していきそうだなみたいな感じも感じたんですけど、
それはそういう感覚でいいんでしょうか。
うぱ / upamune
まあ業務のAIアジェントだと結構難しいですよね。
なんでなんだろうな。
例えばコーディングエージェントとかだったら、
すぐ質問できるというかしてくるんですよね。
あれこれってここにないけどこれで合ってますみたいなのはいけるけど、
業務のAIアジェントでそれやるのって結構難しいですよね。
任せっきりにできないし、
ヒューマンインザループっていう人間に聞くプロセスみたいなのがめっちゃ挟まってきたら、
いやもう自分でやった方が早いわみたいな。
michiru_da
そうなのよね。
うぱ / upamune
気持ちになってくるから、
そうですね。
こういうのが起きないように、
さっきの話もあるけど、なるべく決定的なプロセスにして、
こういうのがよくあるパターンがあるんだったら、
コプトで回収していくみたいな方がいいんじゃないかなっていうお気持ち。
michiru_da
決定論的?決定的?
決定論的。
それはそれをすればこういう結果になるというのが分かってるってことですよね。
うぱ / upamune
1たす1は何回やっても2。
そのLLMに使わせるツールは結構大きい方がいいのかな。
業務単位というか、やらせたいこと単位っていう感じですね。
大きすぎると大きすぎたで、その係数しか対応できない。
LLMってツールの組み合わせもすることでいい感じになる。
例えばカレンダーの予定を取得してくると休暇を取るみたいな2つがあれば、
カレンダーを見ながら、この日は大事なミーティング入ってるからこの日はお勧めできないけど、
この日は空いてるから休暇どうですかみたいなサジェストできるけど、
2つをまとめちゃうと逆に他のツールでカレンダーの予定を取るみたいなのが使えなくなる。
このツールをどういう単位で設計するかっていうのは多分腕の見せ所なんだろうなっていうのは思ってます。
michiru_da
そうですね。この本もね、ちょっとどういうことか忘れたけど、
特定のタスクを完了させるためのエージェントみたいな感じにするのか、
将来性を見越して、もうちょっと汎用的に作っていくのかみたいなところはちゃんと確認しましょうって書いてあるんですけど、
確認しましょうってできたらいいなってなって。
うぱ / upamune
そうね。でもソフトウェア開発ってずっとそんな感じなんで。
michiru_da
拡張に耐えられる責任しようみたいな感じ?
うぱ / upamune
そうそうそうそう。
michiru_da
それって何がわかれば汎用的に作れるんですか?
うぱ / upamune
ユースケースがめっちゃ詳しくわかったらできるみたいな感じ?
これ正直めっちゃむずいっていうか、答えはないんです。
なのでめっちゃ共通化も早すぎる共通化はあることされてるんですよね。
一番わかりやすいのは3回コピペしたら共通化っていう。
めっちゃ最初に頑張って共通で使われるものの設計って難しいんですよね。
こういうケースも考えないし、こういうケースも考えないといけないし。
でもそのないものの使われ方を考えてめちゃくちゃ難しいし、塞いになる。
michiru_da
時間もかかっちゃうし。
うぱ / upamune
そうそうそう。で3回コピペしたら共通化は、実際に使われている3箇所があるから共通化しやすい。
michiru_da
なるほど。
うぱ / upamune
ですよ。まあなんかそういう技とかもあるって感じですね。
michiru_da
難しいな。
うぱ / upamune
いや難しいです。なんでただそのなんだろう、
エアーエージェント固有というよりはソフトウェアエンジニアリングの難しさが普通にここに出てきてるだけっていう感じな気がします。
エアーエージェントの設計
michiru_da
面白かったとこで言うと、たぶんね一生は基本ほんと座学っていう感じ。
そうだ一生で気になったところで言うと、
これももしうぱさん知ってたらっていう感じなんですけど、
なんかそのエアーエージェントの作り方はなんか2つのアプローチがありますみたいな感じがあったんですよ。
でその学習させて作っていくか、なんか推論型で作るかみたいな話があったんですよね。
で推論型はその汎用的にエアーエージェントに能力を与えていくみたいな形で、
たぶんとりあえずやらせてみて、後からこれは正解だったよとかこれNGだったよみたいなのとかを、
なんか自己学習みたいな形で能力を獲得していくみたいな感じの一方で、
その学習スタイルの方はもうエアーエージェントの正解データのセットとかがあって、
それをちゃんと学習させた上で作るみたいな。
でなんかあんまり違いが分からなかったんですけど、これは何か分かりますか?何のことかみたいな。
うぱ / upamune
どういうことだろう?
あんま分からなかったんだよな。
なんかモデル自体をチューニングするみたいなのはファインチューニングとかありますけどね、特定の業務に対して。
michiru_da
エアーエージェントチューニングは何を指してるのか私はよく分かってないな。
学習型はエアーエージェントの能力をインプットされるけど、エアーエージェントは登場してないです。
ちょっと分かんない。はい。
ちょっとこれは前後半にするか。
面白くなってくるかもしれない2章を次に話します。
でもあいだ勉強になったな。
さっきのその汎用的な設計問題みたいな話と、
そうだあとあんまプリミティブに指示しすぎない方が良い。
うぱ / upamune
ツールね。
michiru_da
はいツールは決定論的なツールが多い方が成功確率が高いよっていうのは、確かに。
うぱ / upamune
マナスの記事で結構前ですけどそのツールいっぱい登録しておくけど、
ステップごとに見せないようにするみたいなのがあったりする。
michiru_da
どういうこと?
うぱ / upamune
まだこれは使うなみたいな。
計画している段階で何かウェブサーチを使わせないとか。
michiru_da
はいはい。確かにありそうですね。
うぱ / upamune
ツール100個の中から選ぶのか10個の中から選ぶのかみたいな。
michiru_da
確かにそれも正解確率が変わってきますね。
うぱ / upamune
使ってほしくないツールは使わせないようにする。
michiru_da
そうですね。どのサイズのツールにするかとかが腕の見せどころ。
やはりそうなんだなというのが分かりました。
うぱ / upamune
難しいぞ。
michiru_da
ちょっと何もね真似できる気がしないなっていうのが。
うぱ / upamune
どういうこと?何を?
michiru_da
分からないことが分かったけど、
じゃあどうやったら決められるのかっていうのが分かんない。
結構やってみるしかなくねって感じがした。
うぱ / upamune
私がツールのディスクリプションとかめっちゃ自分で書くのめんどくせえなっていうときは、
さっきのLighting Effective Tools for AI Agentsのやつをブログ記事をマークダウンにして、
クロードコードとかにこれを守ってツールのディスクリプションを書いてくださいとかそういうのをやって、
michiru_da
逆にこのツールを設計するにはどういう単位でやればいいですかねみたいなことを聞いたりしてます。
なるほど。でもあれなんで判断できないんですよね。質問までできるけど。
うぱ / upamune
それは問題ですね。
michiru_da
はい。問題がありました。
それで使ってみればいいんじゃないですか。評価さえできれば。
そうですね。ちょっと動かしてみないと分かんないから、最初はAで作ってみるしかない。
うぱ / upamune
動かしたもん勝ちですよ。
michiru_da
そうですね。早く使ってもらったもの勝ちかもしれない。
というところで一旦1章と、2章もちょっと読んだんですけど、
という感じなので、なんですがもう45分喋っていたので、一旦終わりにしてまた後編で第2章を話します。
実践的なアプローチ
michiru_da
あれ来てくださいね。12月6日の。
急に思い出した。
12月6日の夕方に公開収録イベントを東中野でやるので、
マジトモの皆さんは来てください。
ちょっとこの回は宣伝用は違うかもしれない。
うぱ / upamune
え?
michiru_da
普段のマジトモさんはここまでたどり着いていない可能性かなりある。
そんな感じで。
感想・質問・フィードバックは、
Xのハッシュタグ、マヂカル.fm全部小文字、または概要欄のお便りフォームまでお寄せください。
Spotifyのベルマークを押すと更新通知が届きますのでそちらもお願いします。
ありがとうございます。
うぱ / upamune
ありがとうございました。
41:05

Comments

Scroll