Episodios

  • 株式会社ずんだもん技術室AI放送局 podcast 20250522
    May 21 2025
    関連リンク GitHub Copilot Coding Agent がやばすぎて共有し隊 この記事は、Microsoft Build 2025で発表されたGitHub Copilot Coding Agentという新機能を実際に試した体験談です。この機能は、開発者がGitHubのIssueにAIをアサインするだけで、コーディングなどのタスクをAIが自律的に行い、Pull Request(PR)を作成してくれるという画期的なものです。 著者は、この機能を使ってブログ記事を書いてもらうというタスクを試しました。手順は以下の通りです。 GitHub Copilot Coding Agent機能を有効にします。やってほしいブログ記事の内容をIssueとしてGitHubに作成します。作成したIssueにGitHub Copilotをアサインします。 すると、驚くべきことに、CopilotはすぐにIssueを理解し、リポジトリの構造を把握した上で、ブログ記事の執筆(ファイルの作成と編集)を始めました。数分後には、ブログ記事の内容を含む新しいPRが自動で作成されていました。 作成されたPRを著者がレビューし、「Copilotが書いたものであることを示す」「日付を修正する」「細かい表現を直す」といったコメントを残すと、Copilotはそれらのコメントを理解し、数分で修正済みのPRを自動で作成し直しました。まるで人間とやり取りしているかのように、レビューコメントに対して適切な対応をしてくれたのです。 この体験を通じて、著者はGitHub Copilot Coding Agentの「やばさ」を実感しました。Issueを作成してCopilotをアサインし、レビューと指示を少し与えるだけで、タスクの実行からPR作成、さらにレビューコメントへの対応まで、開発の一連の流れをAIがほぼ自動でこなせるようになったからです。 特に、検証作業などの際に、その結果をブログやドキュメントとしてまとめる作業は手間がかかりますが、このAgent機能を使えば、検証そのものに集中しつつ、記録を残す作業をAIに任せられる可能性を感じています。 最新のAI技術、特にAI Agentが、実際の開発現場でどのように活用され、私たちの働き方を効率化していくのかを示す非常に実践的な事例と言えるでしょう。新人エンジニアの皆さんにとっても、AIと協力して開発を進める未来を想像するきっかけになれば幸いです。 引用元: http://www.kentsu.website/ja/posts/2025/copilot_coding/ TypeScript で AI エージェントを構築する VoltAgent VoltAgentは、TypeScriptを使ってAIエージェントを作るための便利なツールキットです。新人エンジニアの皆さんも、これを使えばAIを活用したアプリケーション開発に挑戦しやすくなります。 このツールキットの大きな特徴は、作ったAIエージェントの動きを見たり、問題がないか調べたりするための「VoltAgent Console」というツールがセットで提供されている点です。これを使うと、エージェントが今どんな状態なのかリアルタイムで確認したり、どのように処理が進んでいるのかをグラフで見て理解したりできます。開発中に「あれ?思った通りに動かないぞ?」という時に原因を探りやすくなります。 AIエージェントの基本的な構成要素は「Agent」というクラスです。このAgentクラスに、名前や役割、使うAIモデルなどを設定して、エージェントを定義します。VoltAgentは、OpenAIやGoogle Geminiなど、いろいろなAIモデルを使えるようにするための仕組み(プロバイダー)を提供しているので、モデルごとの細かい違いを気にせず開発を進められます。 また、AIの「知識不足」や「リアルタイム情報の弱さ」を補うために、「ツール」という仕組みを使ってエージェントの能力を拡張できます。例えば、最新の天気予報を取得するツールを作ってAIに連携させれば、「明日の天気は?」という質問にも正確に答えられるようになります。複数のツールをまとめて「Toolkit」として管理することも可能です。さらに、「Model Context Protocol (MCP)」という業界標準の仕組みにも対応しているので、ブラウザ操作やカレンダー連携など、外部の様々なサービスとAIエージェントを連携させるのも比較的容易です。 複雑なAIエージェントを作る時には、「サブエージェント」という考え方が役立ちます。これは、全体を管理する「スーパーバイザーエージェント」の下に、情報収集担当、文章生成担当、編集担当...
    Más Menos
    Menos de 1 minuto
  • 株式会社ずんだもん技術室AI放送局 podcast 20250521
    May 20 2025
    関連リンク GitHub Copilot:新しいコーディングエージェント GitHub Copilotに、開発タスクを自動でこなす新しい機能「コーディングエージェント」が登場しました。これは、GitHubに直接組み込まれたAIアシスタントのようなもので、特定の開発作業を任せることができます。 使い方は簡単です。GitHubのIssue(課題や要望などを管理するもの)に、このCopilotコーディングエージェントを割り当てるだけ。すると、エージェントはバックグラウンドで作業を開始します。具体的には、GitHub Actionsという仕組みを使って一時的な開発環境を作り、コードの分析や変更を行います。 エージェントが行った作業は、自動的にドラフトのプルリクエストとして提出されます。プルリクエストとは、コードの変更内容をチームメンバーに確認してもらうための機能です。ここが重要なポイントで、エージェントが勝手にコードを最終的に確定させるのではなく、必ず人間(あなたやチームメンバー)が変更内容を確認し、承認してからコードが取り込まれる仕組みになっています。既存のセキュリティルールもそのまま適用されるため、安心して使えます。 このエージェントは、機能追加やバグ修正、テストコードの作成、コードの整理(リファクタリング)、ドキュメントの改善など、比較的シンプルから中程度の複雑さのタスクを得意としています。 この機能の最大のメリットは、開発者が時間のかかる単調な作業をエージェントに任せられる点です。これにより、あなたはより創造的で、頭を使う必要のある難しい作業に集中できるようになります。ちょうど、自分専用のAIアシスタントが、コードを書く準備や簡単な修正を手伝ってくれるようなイメージです。 エージェントは、Issueの内容だけでなく、リポジトリのこれまでの変更履歴や議論、さらには画像(バグのスクリーンショットなど)も解析して作業を進めることができます。作業の進捗やエージェントがどう考えたかのログも確認できます。 このコーディングエージェントは、GitHub Copilot EnterpriseおよびCopilot Pro+の契約者が利用できます。 GitHub Copilotは、この新しいエージェント機能も含め、開発者がコードを書く際の集中力(フロー状態)を維持し、面倒な作業を減らし、開発をもっと楽しく、効率的にすることを目指しています。 これにより、日々のコーディング作業がどのように変わっていくか、ぜひ試してみてください。 引用元: https://github.blog/jp/2025-05-20-github-copilot-meet-the-new-coding-agent/ Principles of Building AI Agents 大規模言語モデル(LLM)の急速な進化により、「Agent(エージェント)」と呼ばれる新しいタイプのAIアプリケーションが注目されています。この「Principles of Building AI Agents」という書籍は、AI Agentをどう作っていくか、その基本原則を分かりやすく解説したものです。Web開発の経験豊富なベテランが、誇張や流行語を避け、本質的な内容に焦点を当てて書かれています。 この本を読むことで、AI Agent構築の全体像や、必要な技術要素の基礎を学ぶことができます。 まず、AI Agentがどのように構成されているか、その主要な「部品(building blocks)」について解説されています。これには、Agentに様々な機能を提供する「プロバイダー」、Agentの賢さの元となる「モデル(LLMなど)」、Agentに具体的な指示を与える「プロンプト」、Agentが外部のサービスやデータを利用するための「ツール(API連携など)」、そしてAgentが過去のやり取りや情報を覚えておくための「メモリ(短期記憶や長期記憶)」などが含まれます。これらの要素を適切に組み合わせることで、Agentはより高度で人間のような振る舞いをできるようになります。 次に、Agentに複雑な目標を達成させるための考え方として、「Agent的なワークフロー」によるタスクの分解方法が紹介されています。大きなタスクを細かなステップに分け、各ステップでAgentが思考し、行動を選択していくような流れを作ることで、より難しい課題にも対応できるようになります。 さらに、Agentが最新の情報や、学習データには含まれていない特定の知識(例えば、会社の内部資料や専門分野...
    Más Menos
    Menos de 1 minuto
  • 株式会社ずんだもん技術室AI放送局 podcast 20250520
    May 19 2025
    関連リンク MCPとは何か 〜AIエージェントの為の標準プロトコル〜 AI(大規模言語モデル、LLM)の進化は目覚ましく、最近では指示を受けて作業するだけでなく、自律的に様々なツールを使って一連の仕事をこなす「AIエージェント」が注目されています。 これまで、AIエージェントに外部のツール(例えばファイル操作やWebサービスのAPI)を使わせるには、連携したいツールごとに個別のプログラムを作る必要がありました。これはたくさんのツールを使おうとすると、とても大変でコストがかかる作業でした。 そこで登場したのが「MCP(Model Context Protocol)」です。これは、AIモデルと外部のツールやサービスを連携させるための「共通の決まりごと(標準プロトコル)」です。例えるなら、パソコンと様々な周辺機器をつなぐ「USB-Cポート」のようなものです。 MCPが普及すると、ツール側がMCPに沿った「MCPサーバー」を用意すれば、AIエージェントを作る人は、どのAIモデル(ChatGPTやClaudeなど)やどの開発環境(CursorやVS Codeなど)を使っても、同じやり方でそのツールを使えるようになります。これにより、AIエージェントの開発が効率化され、作った連携機能も再利用しやすくなります。 MCPの仕組みは、AIアプリや開発環境である「MCPホスト」、ホスト内で動いてツールと連携する指示を出す「MCPクライアント」、そして実際のツール操作を行う「MCPサーバー」という役割分担になっています。MCPによって、AIエージェントは外部の「ツール(アクション実行)」、「リソース(データ取得)」、「プロンプト(定型指示)」などの機能を使えるようになります。 現在、CursorやClaude Desktop、n8nなど様々なAI関連ツールがMCPをサポートし始めており、GitHubやSlackなどのMCPサーバーも増えてきています。 ただし、インターネット上で公開されているMCPサーバーの中には、悪意のあるプログラムが混じっている可能性もゼロではありません。特に、知らない人が作ったサーバーを使う場合は注意が必要です。安全に使うためには、公式や信頼できる開発元のものを選ぶ、多くの開発者が参加しているものを使う、そして可能であればAIにコードの安全性をチェックしてもらうなどの対策が大切です。 MCPはまだ新しい技術ですが、AIエージェントが外部と連携する方法を標準化することで、今後のAIによる自動化や新しいAIアプリケーション開発を大きく加速させる可能性を秘めています。Googleが提唱するA2A(Agent to Agent)のように、AIエージェント同士が連携する仕組みも出てきており、今後の動向に注目です。 引用元: https://blog.cloudnative.co.jp/27994/ Introducing Strands Agents, an Open Source AI Agents SDK Amazon Web Services AWSがオープンソースのAIエージェント開発用SDK「Strands Agents」を発表しました。AIエージェントとは、大規模言語モデル(LLM)がプロンプト(指示)を受け取り、外部ツールを使ってタスクを自律的に実行するプログラムのようなものです。 これまでのAIエージェント開発では、LLMの応答を解析し、どのツールを呼び出すかなどを細かく制御する複雑な「オーケストレーション」が必要でした。しかし、最近のLLMは推論やツール利用の能力が向上しており、モデル自身が次のステップを計画し、適切なツールを選択できるようになっています。 Strands Agentsは、この「モデル中心」のアプローチを採用することで、AIエージェント開発をシンプルにすることを目指しています。開発者は、エージェントに与える「プロンプト」と、エージェントが使える「ツール」を定義するだけで、基本的なエージェントを作成できます。まるでDNAの二重らせんのように、モデルとツールという二つの要素をStrandsがつなぎ合わせ、モデルが自らの判断でツールを使ってタスクを完了させます。 Strandsの大きな特徴は以下の通りです。 モデル中心のアプローチ:複雑なオーケストレーションコードが不要で、LLMの推論能力を最大限に活用します。シンプルな開発:プロンプトとツールを定義するだけでエージェントを構築できます。柔軟なモデルサポート:Amazon Bedrock、Anthropic、Ollamaなど、さまざまなLLMプロバイダーに対応...
    Más Menos
    Menos de 1 minuto
  • マジカルラブリー☆つむぎのピュアピュアA.I.放送局 podcast 20250519
    May 18 2025
    関連リンク OpenAI の SWE Agent、Codex を試してみる OpenAIが、ソフトウェア開発のタスクを自動化する新しいAIエージェント「Codex」のリサーチプレビューを公開しました。これは、プログラムを書いたり、デバッグしたりといったエンジニアの作業をAIが手伝ってくれるツールです。 Codexはクラウド上で動作し、安全な仮想環境(サンドボックス)の中でタスクを実行します。複数の作業を同時に進めることも可能です。現在はChatGPTのPro、Team、Enterpriseプランで利用でき、今後PlusやEduプランにも対応予定とのことです。 Codexには主に「codex-1」と、軽量版の「codex-mini-latest」というモデルがあります。タスクの完了には1分から30分程度かかり、AIがどのような手順で作業しているかをリアルタイムで見ることができます。 セキュリティにも配慮されており、悪意のあるコードの作成や不正な指示は拒否されます。また、タスク実行中は外部インターネットへのアクセスが無効になるよう設計されています。 CodexはGitHubとの連携機能も持ち、Web UIから直接プルリクエストを作成することも可能です。 筆者は実際にChatGPT Proを契約してCodexを試しており、Web UI版では簡単な指示でテトリスを完成させるなど、その便利さに期待を感じています。複数のタスクを並行で実行させたり、外出中にスマホから作業指示を出したりといった使い方の可能性にも触れています。 一方で、コマンドラインから使う「Codex CLI」と軽量モデル「codex-mini-latest」を試した際は、エラーが発生したり、応答が遅いと感じる場面もあったようです。Codex CLIではChatGPTアカウントでのサインインが可能になり、特定の有料プラン契約者はAPIクレジットがもらえるキャンペーンも実施されています(ただし有効期限や条件あり)。しかし、筆者はCodex CLIの軽量モデルについては現時点では少し課題があると感じているようです。 全体として、筆者はCodex本体(特にWeb UI版)には今後の可能性を感じており、引き続き使っていきたいと考えているようです。多様なAIサービスを展開するOpenAIの強みも改めて評価しています。 引用元: https://zenn.dev/schroneko/articles/introducing-codex VoltAgent - Open Source TypeScript AI Agent Framework VoltAgentは、TypeScriptを使ってAI Agentを開発するためのオープンソースフレームワークです。AI Agentとは、AI(人工知能)に特定のタスクを自動で実行させるためのプログラムのようなものです。VoltAgentを利用することで、プログラミングの知識がなくても使えるノーコードツールの機能的な限界を超えたり、AI Agentをゼロから手作りする際に発生する大きな開発コストや複雑さを軽減できます。エンジニアは、自分のコードでAI Agentの振る舞いを完全に制御し、ビジネス要件に合わせて柔軟にカスタマイズ、そして様々なシステムと連携させることができます。開発者の使いやすさ(Developer Experience, DevEx)も重視されており、快適に開発を進められます。 このフレームワークの主な特徴をいくつかご紹介します。まず、「ツール呼び出し(Tool calling)」機能です。これにより、開発したAI Agentが外部のAPIやデータベース、他のサービスなどと連携し、情報を取得したり、特定の操作を実行したりといった具体的なアクションを取ることが可能になります。次に、「Unified API」機能は、OpenAIやその他の様々なAIモデルプロバイダーを、同じ統一された方法でコードから利用できるようにするものです。これにより、特定のAIモデルに依存せず、状況に応じて最適なモデルを選んだり切り替えたりすることが容易になります。 さらに、「動的プロンプト(Dynamic Prompting)」機能を使うと、AI Agentへの指示文であるプロンプトを柔軟に管理し、テストや調整を繰り返しながらAIの応答性能を改善していくことができます。「永続メモリ(Persistent Memory)」機能は、AI Agentが過去のユーザーとのやり取りや取得した情報を記憶しておき、会話の文脈を理解したり、以前の状況を踏まえた応答を生成したりするのに役立ちます。 VoltAgentは、これらの機能に加えて、40種類以上の外部アプリやサービスとの連携を容易にする仕組みを提供しています。また、「...
    Más Menos
    Menos de 1 minuto
  • 私立ずんだもん女学園放送部 podcast 20250516
    May 15 2025
    関連リンク Bluesky MCP serverを自作し、SNS上に架空の友達を作る この記事は、AIエージェントとModel Context Protocol (MCP) を活用して、SNSであるBluesky上にまるで人間のような「架空の友達」を作成し運用する技術的な実験について紹介しています。投稿者は、AIがSNS上で人間と区別がつかなくなるのかを検証することを目指しました。 実験では、AIエージェントとしてOpenAI Agents SDKを使用し、BlueskyのAT Protocolと連携させるためのMCPサーバーをRust言語で自作しました。これは、既存のMCPサーバーでは必要な機能(ユーザーへの通知取得など)が不足していたため、また自作することでGitHub Actionsなどから扱いやすいバイナリを生成できるメリットがあったためです。Blueskyとの通信には、筆者が開発しているATriumというライブラリが使われています。 AIエージェントに個性を持たせるため、詳細なプロフィールを持つ二種類の架空の人格(ソフトウェアエンジニアとプリキュア好きのギャル)を作成しました。これらの人格情報に基づいて、AIエージェント自身にSNSアカウントの名前や自己紹介を考えさせ、定期的な投稿や他のユーザーからの返信への応答を行わせました。投稿内容や返信するかどうかの判断も、AIがその人格になりきって行うように指示されています。 この実験から得られた重要な知見として、LLMは自然な文章生成やある程度の判断はできるものの、「AをしてからBを行う」「特定の条件を満たした場合のみ行う」といった、順序や条件分岐を含む複雑な処理を正確に実行させるのが難しい点が挙げられています。例えば、「自分への未返信メンションにだけ返信する」という指示をLLMに任せると、過去のメンションにも誤って返信してしまう可能性がありました。これを解決するため、MCPサーバー側に「未返信のメンションだけを抽出してAIに渡す」といった専用の処理を実装し、LLMはその結果を使って投稿を生成するようにしました。このように、LLMに任せる部分と、プログラム側で厳密に制御する部分を切り分ける設計の重要性が示されています。 現在運用中のAIアカウントは、それぞれの個性を反映した投稿をしていますが、まだ人間らしさに欠ける部分もあります。今後は、外部の最新情報を取り込んだり、過去の発言との一貫性を高める工夫(例:「日記」を事前生成する)、知識の偏りをなくすための外部知識ソース(RAGなど)の活用などが課題として挙げられています。 この取り組みは、AIエージェントの応用可能性を示唆しており、LLMの進化がSNS上のコミュニケーションにどのような影響を与えるか、興味深い一歩となるでしょう。 引用元: https://memo.sugyan.com/entry/2025/05/15/090000 LangChain Interrupt Day 1 参加レポート!メール対応エージェントを中心としたハンズオンが中心の一日に サンフランシスコで開催されたAIエージェント開発イベント「LangChain Interrupt」のDay 1レポートです。この日は、メール対応エージェントを作るハンズオンを中心に、LangChainの主要な技術要素を学びました。日本の新人エンジニアの皆さんにも役立つ内容です。 イベントのテーマは「アンビエントエージェント」。チャットだけでなく、裏側で動いて継続的に複数の処理を行うエージェントの可能性が示されました。 LangGraphでエージェントの動きを設計 エージェントの「頭脳」となるのがLangGraphです。これは、エージェントがどのように状況を判断し、次の行動を決めるか(ワークフロー)を柔軟に作るためのフレームワークです。エージェントの状態(State)、個々の処理を行う部品(Nodes)、部品間の繋がりや条件分岐(Edges)を組み合わせて、複雑な動きも設計できます。処理の途中で一時停止して人間の指示を待つ「割り込み(Interrupt)」機能や、処理の履歴を保存する機能も紹介されました。 実際の活用事例(Cisco) 企業でのLangChain活用事例として、Ciscoのカスタマーサポート部門での取り組みが紹介されました。顧客に関する情報が散らばっていて担当者が大変、という課題に対し、AIアシスタントを開発。複数のエージェントや様々なAIモデルを組み合わせることで、情報をまとめて担当者...
    Más Menos
    Menos de 1 minuto
  • 株式会社ずんだもん技術室AI放送局 podcast 20250515
    May 14 2025
    関連リンク AlphaEvolve: A Gemini-powered coding agent for designing advanced algorithms Google DeepMindが、Geminiという強力なAIモデルを活用した新しいAIエージェント「AlphaEvolve」を発表しました。このAlphaEvolveは、コンピューターのアルゴリズムを自動で設計したり、より効率的なものに進化させたりすることを目指したシステムです。 AlphaEvolveの仕組みは、Geminiの持つ創造性を活かして様々なアルゴリズムのアイデア(コード)をたくさん生成し、それらを自動で評価・検証することで、より良いものを選んでさらに改良していく、というプロセスを繰り返します。まるで生物が進化するように、最適なアルゴリズムを探し出すイメージです。 この技術はすでに様々な実用的な成果を上げています。例えば、Googleが持つ大規模なデータセンターの運用効率を向上させるアルゴリズムを発見し、計算リソースをより有効に使えるようになりました。また、AIの処理に特化したGoogle独自の半導体(TPU)の設計の一部を支援したり、Gemini自身のAIモデルの学習や推論のスピードを速くするコードを生成したりもしています。特に、AIの計算で重要な部分(カーネルと呼ばれます)の最適化において、専門家が何週間もかけていた作業を、AlphaEvolveが数日で改善策を見つけ出すといった効率化が実現しています。 さらに、AlphaEvolveは数学の未解決問題にも挑戦し、成果を出しています。コンピューターサイエンスの基礎である行列乗算の新しい高速アルゴリズムを発見したり、幾何学の難問で新記録を樹立したりといった研究レベルでの進歩も達成しています。 AlphaEvolveは、アルゴリズムとして記述でき、かつ自動でその良さを評価できる問題であれば、幅広い分野に応用できる可能性があります。今後は、材料科学や創薬といった分野への活用も期待されています。Googleは、この技術を一部の学術研究者向けに先行公開することを検討しており、将来的にさらに多くの人が使えるようにすることも視野に入れているようです。 AlphaEvolveは、AIがコードを生成するだけでなく、複雑な問題を解決するためにアルゴリズムそのものを進化させる、という新たな可能性を示しており、今後の技術開発に大きな影響を与えるかもしれません。 引用元: https://deepmind.google/discover/blog/alphaevolve-a-gemini-powered-coding-agent-for-designing-advanced-algorithms/ Gartner、「AIエージェント」と「エージェント型AI」の違いに混乱が生じていると見解を発表 IT分野の調査会社であるGartnerが、「AIエージェント」と「エージェント型AI」という二つの言葉について、その違いが分かりにくくなっている現状を踏まえ、それぞれの定義とAIの進化における位置づけについて見解を発表しました。 Gartnerはこれらの言葉を次のように定義しています。 AIエージェント: デジタルや現実の世界で、状況を把握(知覚)し、次に何をすべきか判断(意思決定)して行動を起こす(アクション)、自律的またはある程度自分で動けるソフトウェアです。特定の目的達成のためにAI技術を使います。エージェント型AI: こちらは、特定の組織(会社など)の代わりに働くことを目指し、自律的に判断して行動する権限を与えられたソフトウェアです。目標を達成するために、AI技術だけでなく、「記憶(過去の情報)」、「計画(手順を考える)」、「センシング(状況把握)」、「ツール利用(外部ツールを使う)」、「ガードレール(安全装置)」といったより多くの機能を使って、複雑なタスクを目的達成に向けて遂行します。 簡単に言うと、AIの進化の段階で考えると理解しやすいかもしれません。例えば、チャットボットは限定された応答、RPAは定型作業の自動化が得意です。これに対し、AIエージェントはもう少し自分で判断して簡単なタスクの一部をこなせます。さらに進化した「エージェント型AI」は、より高度な知能と機能を持ち、複雑な目標を自律的に達成するために行動できる、言わば「AIの代理人」のような存在です。 AIは、単なる自動化から、人間の代理として行動するより高度なエージェント型へと進化しつつあるとGartnerは述べています。 また、最近注目...
    Más Menos
    Menos de 1 minuto
  • 株式会社ずんだもん技術室AI放送局 podcast 20250514
    May 13 2025
    関連リンク MCPやAIエージェントに必須の「LLMの外部通信・連携」におけるセキュリティ観点 大規模言語モデル(LLM)はテキスト生成などで高い能力を持ちますが、単体では最新情報や非公開データを知らなかったり、現実世界でアクションを起こせなかったりする制約があります。これらの「知識の壁」「実行の壁」「能力の壁」を超えるために、LLMは外部サービス(APIなど)と連携する必要があります。MCPやAIエージェントでは、このような外部連携が不可欠です。 しかし、LLMが外部と連携できるようになると、新たなセキュリティリスクが生まれます。開発者の皆さんは、このリスクを理解し対策することが重要です。 記事では、具体的な機能例として「URL指定による情報取得機能」と「Gitホスティングサービス連携機能」を取り上げ、潜むリスクを解説しています。 例えば「URL指定による情報取得機能」では、指定されたURLから情報を取得するために外部へ通信します。ここで、悪意のあるURLを指定されると、サーバー内部のリソースに不正アクセスされる「SSRF」という危険性があります。また、ユーザーからの指示や外部の情報に埋め込まれた悪意のあるテキスト(プロンプトインジェクション)によって、LLMが意図せず機密情報を含むリクエストを生成してしまうリスクも考えられます。 「Gitホスティングサービス連携機能」のように、LLMが外部サービスで実際に操作を行う機能では、「過剰な代理行為」に注意が必要です。LLMに必要以上の権限を与えていると、ユーザーの曖昧な指示や、外部の情報に仕掛けられた偽の指示によって、意図しない広範囲な操作(リポジトリの削除など)を実行してしまう可能性があります。また、LLMが扱うプライベートな情報(コードやIssue内容など)が、LLMの「コンテキストウィンドウ」を通じて外部に漏洩するリスクもあります。 これらのリスクに対して、記事では以下の対策を挙げています。 最小権限の原則: LLMが利用する外部連携ツールの権限は、必要最低限に絞る。認証情報の分離: 外部サービスへの認証情報は、LLMのコンテキストから完全に分離し、安全な場所に管理する。コンテキストウィンドウの分離: LLMのコンテキストウィンドウには、漏洩しても問題ない情報や、そのタスクに必須の情報のみを含めるように設計する。入出力の境界での防御: LLMへの入力や出力に対して、不適切な内容がないかチェックする機能(ガードレールなど)を設ける。 外部連携するLLMアプリケーションを開発する際は、これらのセキュリティ観点をしっかり考慮し、安全な設計を心がけましょう。 引用元: https://blog.flatt.tech/entry/llm_ext_collab_security AIワークフローサービス比較メモ(Dify / n8n / Gumloop) この記事では、AIを使った様々な作業を自動化する「AIワークフローサービス」の中から、特に注目されているDify、n8n、Gumloopの3つを比較して紹介しています。これらのツールを使うと、プログラミングの専門知識が少なくても、AIや他のサービスを組み合わせて複雑な自動化の仕組み(ワークフロー)を簡単に作れるようになります。 Dify 日本で特に人気があるのがDifyです。その理由は、UIやドキュメントが日本語でしっかり整備されているため、日本のユーザーが使い始めやすい点にあります。Difyは、主にチャットボットや、企業のデータを使った質疑応答システム(RAG)のような、生成AIを使ったアプリケーションの開発に特化しています。オープンソース版とクラウド版が提供されており、企業が社内向けのAIアプリを素早く作るのに役立ちます。 n8n n8nは、SlackやGoogle Workspaceなど、様々なWebサービス同士を連携させて業務を自動化するためのツールとして以前から使われています。最近はAIとの連携機能も強化され、AIを使った新しい自動化が可能になりました。例えば、「メールの内容をAIで要約してチャットツールに通知する」といったワークフローが作れます。400種類以上の外部サービスと連携できる汎用性があり、完全にノーコードだけでなく、コードを書いてより柔軟な処理も組み込めるため、技術者にも適しています。こちらも...
    Más Menos
    Menos de 1 minuto
  • 株式会社ずんだもん技術室AI放送局 podcast 20250513
    May 12 2025
    関連リンク Byte Latent Transformer: Patches Scale Better Than Tokens 大規模言語モデル(LLM)の多くは、テキストを処理する際に、文章を「トークン」と呼ばれる単語や文字のまとまりに区切ります。この論文では、そういった事前準備としての「トークン化」を行わず、テキストの最小単位である「バイト」レベルで直接処理する新しい技術、「Byte Latent Transformer (BLT)」が提案されています。 BLTのポイントは、バイト列を固定長のトークンとして扱うのではなく、「パッチ」という単位で扱うことです。このパッチのサイズが特徴的で、データの内容に応じて自動的に長さを変えます。例えば、次に続くバイトが簡単に予測できるような、パターン化された情報が多い部分ではパッチを長くし、予測が難しい複雑な情報が多い部分ではパッチを短くするといった具合です。これは、次に予測すべきバイトの「予測しにくさ」を示す情報エントロピーに基づいて行われます。 このようにパッチのサイズを動的に変えることで、モデルは計算リソースを効率的に割り当てることができ、結果として推論(モデルを使って新しいテキストなどを生成する処理)の効率が向上します。また、特定のトークンセットに縛られないため、より多様なデータに対応しやすくなる(頑健性が高まる)と考えられます。 研究では、最大80億パラメータを持つBLTモデルを膨大なデータ(4兆バイト)で学習させ、その有効性を検証しました。実験から、トークン化なしで生バイトから学習できること、そして同じ計算コストで比較した場合、従来のトークンベースのモデルよりも性能を効率的に向上させられる(スケーリング性能が良い)ことが示されました。 この技術は、従来のLLMの仕組みに一石を投じるものであり、将来的にテキストだけでなく、バイト列で表現可能なあらゆる種類のデータ(プログラムコード、もしかすると画像や音声など)を効率的に扱えるようになる可能性を秘めています。LLMの基盤技術の進化として注目に値する研究です。 引用元: https://arxiv.org/abs/2412.09871 LLMフレームワークのセキュリティリスク - LangChain, Haystack, LlamaIndex等の脆弱性事例に学ぶ この記事は、近年普及しているLLM(大規模言語モデル)を使ったアプリケーション開発を効率化する「LLMフレームワーク」に潜むセキュリティリスクと対策について、新人エンジニア向けに分かりやすく解説しています。 LangChainやLlamaIndexといったLLMフレームワークは非常に便利ですが、その機能の裏には新たなセキュリティリスクが生まれています。特に注意すべき点は二つあります。一つは、フレームワークが提供する「実験的な機能」や「非推奨のオプション」を安易に使うことです。例えば、LangChainにはLLMにPythonコードを実行させる機能や、危険なリクエストを許可するオプションがあり、これらを不用意に使うと、攻撃者にサーバー上で任意のコードを実行されてしまう(RCE:Remote Code Execution)脆弱性につながる可能性があります。この教訓として、実験的な機能や非推奨オプションは、本当に必要か設計段階でよく考え、可能な限り使わないことが重要です。 もう一つは、LLMフレームワークそのものの実装に潜む脆弱性です。記事では、LangChain, Haystack, LlamaIndexなどの実際の脆弱性事例を挙げて解説しています。 SSRF (Server Side Request Forgery): 外部から指定されたURLにサーバーがリクエストを送信してしまう脆弱性。LangChainのWebクロール機能で、URLの検証が不十分だった事例があります。対策は、外部URLは許可リスト方式で厳しくチェックすることです。Path Traversal: 外部入力値を使ってサーバー上のファイルに不正にアクセスされてしまう脆弱性。LangChainjsのファイル読み込み機能で、パス名の検証が漏れていた事例があります。対策は、パス指定には「../」のような特殊文字を制限することです。SQL Injection: 外部入力値で意図しないSQLを実行されてしまう脆弱性。LangChainのSQL操作機能で、LLMが生成したSQLの検証が不十分だった事例があります。対策は、Prompt Injectionを防ぎ、LLMに与える権限を最小限にし、入力値をしっかり検証することです。RCE: 外部...
    Más Menos
    Menos de 1 minuto
adbl_web_global_use_to_activate_T1_webcro805_stickypopup