
字幕一覧(クリック)
(00:00:00) 〜コード生成エコシステムを成功させる3つのポイント〜
(00:00:08) これまで
(00:00:09) コーディングを生成AIで行う方法を
(00:00:13) 記事にしてきたことがあるわけですが、
(00:00:17) 今回は一応一つの節目というか、
(00:00:20) 区切りとして整理しておきたいと思います。
(00:00:25) 生成AIには代表として
(00:00:28) ChatGPT、
(00:00:30) Claude、
(00:00:32) Geminiの3つがあります。
(00:00:34) 私は成り行き上、
(00:00:37) Geminiを今のところ使っています。
(00:00:41) それからクラウドかローカルかという選択の問題もありますが、
(00:00:48) 今回の3つのキモに関しては、
(00:00:51) 両方に共通だと思っています。
(00:00:56) その3つとは、「知識ソースを蓄える」、
(00:01:00) 「秘匿化を行う」、
(00:01:02) 「迅速なエラー対策」ということなのですが、
(00:01:07) 一般に考えたAIの活用ということなら、
(00:01:11) 「知識ソース」必須ということだけで十分かもしれません。
(00:01:17) 私の場合コーディングも非常に比重が大きいので、
(00:01:22) さらにそこに「秘匿化」と
(00:01:24) 「エラー対策」が追加されてきます。
(00:01:28) 1つ目の「知識ソース」です。
(00:01:31) 私は図書館に例えています。
(00:01:38) まず「知識ソースの基盤」です。
(00:01:42) 大手IT企業だと社内Wiki、
(00:01:46) 全社ポータルというような箱というか入れものをですね、
(00:01:51) 情報システム部が用意してくれるでしょう。
(00:01:54) 一方、私は
(00:01:56) GeminiのNotebookに
(00:01:58) 自分用・公開用の図書館を用意します。
(00:02:04) 次に「コンテキストの管理」、
(00:02:07) つまり記事の引き出し方ですが、
(00:02:10) 大手IT企業はベクターDBとか
(00:02:13) 本格的なRAGシステムを使っています。
(00:02:19) RAGは記事をコンピュータが理解しやすい形に
(00:02:22) 変換したもの。
(00:02:25) 料理で言うところの仕込み、
(00:02:28) あるいは御膳立てというのですか、
(00:02:31) その種の物と捉えてください。
(00:02:34) 一方、私はNotebookを使いますが、
(00:02:38) これは幸いにもRAGシステムが
(00:02:40) 使われていますので、
(00:02:42) そのまま役に立ちます。
(00:02:47) 次に「情報区分の統制」というところですが、
(00:02:51) 私はtxtファイルを実行用の
(00:02:55) exe.txtファイルと、
(00:02:57) 公開用の
(00:02:59) pub.txtファイルにシンプルに区分けしています。
(00:03:04) 具体的には目的別に図書館を分けています。
(00:03:10) 自分用imakat図書館、
(00:03:12) 公開用imakat図書館。
(00:03:15) それからソースファイルの厳格な
(00:03:18) 区分ルールをつけています。
(00:03:22) コード類、
(00:03:24) それからimakatブログ、
(00:03:26) それから備忘録の3種類がありますけども、
(00:03:30) コードは
(00:03:32) 実行用コードと公開用コードがあります。
(00:03:36) imakatブログは
(00:03:38) ブログの全記事をテキスト化しています。
(00:03:43) 備忘録ですが、
(00:03:45) 内部備忘録と
(00:03:47) 外部備忘録があります。
(00:03:50) 内部備忘録は個人情報とか
(00:03:52) 外部秘にしたい記録が含まれてますので、
(00:03:57) 今後セキュリティに強いAppleのAIに含めることになると思います。
(00:04:02) とりあえずは使いません。
(00:04:05) それから外部備忘録ですが、これが
(00:04:08) 作業記録とか
(00:04:10) チャットログ、
(00:04:12) 技術アイデアなど、
(00:04:14) そういった知識とか経験の蓄積として
(00:04:17) 自分用の図書館にリンクさせ、
(00:04:20) AIの頭脳にしていきます。
(00:04:23) この外部備忘録をNotebookに入れていくことになります。
(00:04:31) 次に2つ目に大事なのが「秘匿化」です。
(00:04:35) 個人情報が外に漏れると大きな損失につながってきます。
(00:04:42) プログラムを動かす秘密キーやパスワードは、
(00:04:48) 運用上でリミッターをかけて暴走を止めることはできますが、
(00:04:53) それでもその間、無駄な損失を拡大させてしまいます。
(00:05:00) 「機密情報の保管」ですが、大手IT企業ではクラウド金庫サービスで厳格に運用されます。
(00:05:11) 私としては秘密情報はローカルの.envファイルに隔離させます。
(00:05:19) 「パラメーターの払い出し」では、
(00:05:23) 大手IT企業は専任のセキュリティシステムが、
(00:05:29) 一定時間だけ有効な合鍵を発行して認可するような仕組みになっています。
(00:05:36) 私としてはNotebookを管理塔として、パラメーターのみをAIに渡すようにしています。
(00:05:45) 「プライバシー対策」では、大手IT企業は
(00:05:51) GitGuardianなどで監視して自動的な遮断を行うようになっています。
(00:05:58) 私としては誰かとコーディングの共同作業をすることもないので、
(00:06:04) GitHubまでは使わず、ローカルのテキストファイルで管理して、
(00:06:09) その中で固有名詞のマスキングを行なっています。
(00:06:16) 具体的には「ハード秘匿化」ですが、
(00:06:19) 危険度の高い個人情報やキー情報は、
(00:06:23) コードの中には直接には書かないようにしています。
(00:06:28) もしセキュリティの弱いAI Studioなどで作業中に秘匿化が必要な場合は、
(00:06:36) 必ずNotebookにパラメーター化を依頼して、
(00:06:42) Notebookからは設定されたパラメーターだけを返答するようにします。
(00:06:48) 「ソフト秘匿化」については、これを知られても困るようなことはほとんどないのですが、
(00:06:55) マスキングしておきたいような情報、例えば本名のようなものでしょうか、
(00:07:02) これは自分で任意に設定できるようにしてあります。
(00:07:07) それから最後の3つ目に大事なのが「エラー対策」です。
(00:07:13) 実はこれが一番難しいです。
(00:07:18) と言いますのは、私自身にとって、
(00:07:23) まず起きている現象がエラーなのか何なのか分からないということ、
(00:07:29) エラーである場合、何のプログラムが起因してるかが分からないことです。
(00:07:36) 病気と同じで、最初に総合診断をしてもらって専門医に行き、
(00:07:44) 難病なら大病院に行くというような移動が生じるわけですね。
(00:07:51) 今の私のようなクラウド型AIの利用の場合は、
(00:07:58) 初期の総合診断はGemini、
(00:08:02) 専門医の選定はNotebook、
(00:08:06) 簡単な治療ならNotebook、
(00:08:10) 難病ならAI Studioという運びになります。
(00:08:14) ただ私としては、初期の総合診断から簡単な治療までは、
(00:08:21) 地元の医者、つまりローカルAIで済ませて、
(00:08:25) 難病の場合は専門的な大病院、
(00:08:30) つまりクラウドAIというような棲み分けをしたいと思っています。
(00:08:39) それでは最後におまけです。
(00:08:43) Notebookでコーディングを行うことも可能ですが、
(00:08:47) 画面に表示されたコードやコマンドをそのままコピペして
(00:08:52) ターミナルで実行したり、実行ファイルに保存したりすることになります。
(00:09:00) その時に単純なコピペではですね、この様に改行なしのベタ書きになってしまいます。
(00:09:10) そこで、3回クリックした時の3回目を押したまま末尾までもってくる。
(00:09:18) それをコピーする。
(00:09:24) そして、それを貼り付けると、
(00:09:28) ということで正常にペーストすることができます。
(00:09:35) すると、元のままでペーストされます。
(00:09:38) 以上です。
(00:09:43) 〜コード生成エコシステムを成功させる3つのポイント〜でした。

