<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>記事 on 2389 Research, Inc</title><link>https://2389.ai/ja/research/writing/</link><description>Recent content in 記事 on 2389 Research, Inc</description><generator>Hugo</generator><language>ja-JP</language><atom:link href="https://2389.ai/ja/research/writing/index.xml" rel="self" type="application/rss+xml"/><item><title>ブレインダンプからブログ記事へ</title><link>https://2389.ai/ja/research/writing/brain-dump-to-blog-post/</link><pubDate>Wed, 12 Mar 2025 09:00:00 -0500</pubDate><guid>https://2389.ai/ja/research/writing/brain-dump-to-blog-post/</guid><description>&lt;h2 id="llm-を活用して学んだことをドキュメント化する方法">LLM を活用して学んだことをドキュメント化する方法&lt;/h2>
&lt;p>今日のスピード感あふれるソフトウェア開発の現場では、革新的なソリューションやベストプラクティスが、断片的なメモ、場当たり的なコミット、行き当たりばったりのトラブルシューティングに埋もれがちです。&lt;/p>
&lt;p>私も多くの開発者と同じく、最初のブレインストーミングから最終的な解決策に至る全工程を記録するのは難題でした。ところが開発の各段階で &lt;strong>LLM&lt;/strong>（Large Language Model）を使うようになってから、堅牢なシステムを構築するだけでなく、未整理のアイデアを分かりやすいドキュメントにまとめられることに気づいたんです。&lt;/p>
&lt;p>こうして生まれたドキュメントは、&lt;strong>あなた自身&lt;/strong>や &lt;strong>チーム&lt;/strong>、&lt;strong>組織&lt;/strong>、さらには &lt;strong>コミュニティ全体&lt;/strong> の学習を加速させる貴重なリソースになります。&lt;/p>
&lt;p>本記事では、ここ数か月で練り上げてきたワークフローを紹介します。ただの「LLM でより良いコードを書くためのガイド」ではありません。これは &lt;strong>行動を促す呼びかけ&lt;/strong> です。ぜひあなた自身のプロセスを作り、洞察をドキュメント化し、共有してみてください。継続的に更新される知識ベースが生まれ、みんなで育てていけます。&lt;/p>
&lt;hr>
&lt;h2 id="llm-活用ワークフローの概要">LLM 活用ワークフローの概要&lt;/h2>
&lt;p>このワークフローは、次の 5 つのフェーズから成ります。&lt;/p>
&lt;ol>
&lt;li>&lt;strong>調査 / Researching&lt;/strong> — データの収集と統合&lt;/li>
&lt;li>&lt;strong>意思決定 / Deciding&lt;/strong> — 代替案の評価と方針策定&lt;/li>
&lt;li>&lt;strong>構築 / Building&lt;/strong> — AI ツールを使ったコーディング&lt;/li>
&lt;li>&lt;strong>反復 / Iterating&lt;/strong> — テスト・デバッグ・改善&lt;/li>
&lt;li>&lt;strong>文書化 / Documenting&lt;/strong> — 洞察と判断を整理しドキュメントにまとめる&lt;/li>
&lt;/ol>
&lt;p>もちろん、これらのステップそのものは目新しいわけではありません。Harper のような人たちは昔から似たプロセスで開発しています。&lt;/p>
&lt;p>私が声を大にして伝えたいのは、最後の &lt;strong>文書化&lt;/strong> までやり切り、得た知見を誰もが読めるハンドブックとして結晶させようという点です。&lt;/p>
&lt;p>この反復的なワークフローによって、ドキュメント自体が常に更新される &lt;em>生きた資料&lt;/em> となり、問題解決のあらゆる側面が循環して知識ベースを豊かにしていきます。&lt;/p>
&lt;p>以下は、この継続的プロセスの高レベル図です。&lt;/p>
&lt;pre class="mermaid">
 flowchart TD
 A[調査 / Researching] --&amp;gt; B[意思決定 / Deciding]
 B --&amp;gt; C[構築 / Building]
 C --&amp;gt; D[反復 / Iterating]
 D --&amp;gt; E[文書化 / Documenting]
 E --&amp;gt; F[共有学習リソース / Shared Learning Resource]
 F --&amp;gt; A
&lt;/pre>

&lt;p>&lt;em>図: 各フェーズが次を後押ししながら循環し、最終的にコミュニティ全体に役立つリソースへとつながるサイクル。&lt;/em>&lt;/p></description></item><item><title>GraphRAGの実験：RAGパイプラインにナレッジグラフを追加する</title><link>https://2389.ai/ja/research/writing/experimenting-with-rag/</link><pubDate>Thu, 06 Mar 2025 09:00:00 -0500</pubDate><guid>https://2389.ai/ja/research/writing/experimenting-with-rag/</guid><description>&lt;p>最近、私たちのチームでは Microsoft が提案する GraphRAG と LazyGraphRAG の要素を取り入れ、実験的に実装を行っています。これらのアプローチは、従来の検索拡張生成（Retrieval-Augmented Generation: RAG）システムが苦手としてきた「コーパス全体を俯瞰する高次の理解」が必要なクエリに対し、有望な解決策を示してくれます。&lt;/p>
&lt;h2 id="rag-システムの問題領域">RAG システムの問題領域&lt;/h2>
&lt;p>同僚いわく、LLM は一般知識の保持と文章生成は得意だけれど、特定ドメインの文脈知識が抜け落ちている──まさにそのとおりです。そのギャップを埋める代表的手段が RAG で、セマンティック検索などを使って関連情報を取り込み、クエリ回答に活用します。&lt;/p>
&lt;p>私自身、LLM にナレッジベースを組み込む必要があるときは、EC 企業で検索パイプラインを作っていた頃と同じように、既製モデルやファインチューニング済みモデルでベクトルデータベースを検索し、必要なら外部ツールで最新情報を取得するやり方を採ってきました。&lt;/p>
&lt;p>この方法は、ChatGPT が登場した当初に目立っていた深刻な幻覚をかなり抑えてくれました。たとえば特定のレシピを尋ねられた場合、該当レシピをデータベースから取得して LLM に渡すだけで、ドメイン固有の知識に集中して回答を生成できます。&lt;/p>
&lt;h2 id="従来型-rag-の限界">従来型 RAG の限界&lt;/h2>
&lt;p>従来型 RAG は具体的なクエリには強いものの、抽象的で俯瞰的な問いにはめっぽう弱い――大統領令のコーパスで試すと、その差は歴然でした。&lt;/p>
&lt;ul>
&lt;li>「2023 年に移民取り締まりを扱った大統領令は？」のような具体的な質問なら、関連文書や抜粋をきちんと返してくれます。&lt;/li>
&lt;li>ところが「すべての大統領令に共通する主要テーマは？」「政策の優先順位は時系列でどう変化した？」といった俯瞰的な質問になると、まるで役に立ちません。&lt;/li>
&lt;/ul>
&lt;p>理由は単純で、従来型 RAG はクエリと“響きが似ている”文書を探すだけだからです。たとえば「主要テーマ (major themes)」という語に引っ張られ、「Major changes to ICE」や「スギ少佐 (Major Sugi) が昇進」など、単に “major” を含む無関係な文書を拾ってしまい、その歪んだデータセットを要約してしまうわけです。&lt;/p>
&lt;p>後からどれだけ要約を工夫しても、もはや軌道修正はできません。最初に概念の全体像を見ていない限り、手遅れなのです。&lt;/p>
&lt;p>こうした欠点は、大規模コーパスを俯瞰して理解するタスクで特に顕著であり、まさにそこで Microsoft の GraphRAG などの新技術が力を発揮します。&lt;/p>
&lt;h2 id="graphrag-microsoft-のグラフベース手法">GraphRAG: Microsoft のグラフベース手法&lt;/h2>
&lt;p>Microsoft の GraphRAG は、&lt;a href="https://arxiv.org/abs/2404.16130">公開論文&lt;/a> で提案された手法で、知識グラフを用いた情報検索によって LLM の知識ベースを拡張します。大まかな流れは次のとおりです。&lt;/p>
&lt;ol>
&lt;li>コーパスを用意する（インターネットテキスト、商品カタログ、大統領令など）。&lt;/li>
&lt;li>LLM でエンティティとリレーションを抽出し、知識グラフを構築する。&lt;/li>
&lt;li>グラフにコミュニティ検出（クラスタリング）をかけ、高レベルのグループ化を行う。&lt;/li>
&lt;li>各コミュニティに含まれるデータをまとめ、要約を生成する。&lt;/li>
&lt;li>ユーザーがクエリを出すと、ノードレベルとコミュニティレベルの情報を組み合わせて回答する。&lt;/li>
&lt;/ol>
&lt;p>コミュニティレベルの情報がノード群とその入力データを丸ごと保持しているため、LLM は集約作業を減らし、生成に専念できます。&lt;/p>
&lt;h2 id="lazygraphrag-より効率的なアプローチ">LazyGraphRAG: より効率的なアプローチ&lt;/h2>
&lt;p>続いて Microsoft が発表した &lt;a href="https://www.microsoft.com/en-us/research/blog/lazygraphrag-setting-a-new-standard-for-quality-and-cost/">LazyGraphRAG&lt;/a> は、LLM 呼び出し回数を最小化する実装です。&lt;/p></description></item><item><title>自己学習型LLMエージェント：ドメイン固有知識へのフラクタルアプローチ</title><link>https://2389.ai/ja/research/writing/self-learning-llms/</link><pubDate>Wed, 08 Jan 2025 09:00:00 -0500</pubDate><guid>https://2389.ai/ja/research/writing/self-learning-llms/</guid><description>&lt;p>トレーニングを通じて LLM は高い言語理解能力を身につけますが、学習データは取得時点で固定されるため、それ以降に発生した知識を参照できません。また、モデルは幅広い領域で“そこそこ万能”な性能を発揮するよう最適化されているため、広く浅い知識にとどまりがちです。&lt;/p>
&lt;p>そのまま使うと、LLM が返す回答は汎用的かつ表層的になりやすいものです。早い段階から「言語理解は LLM に任せ、専門知識は別系統で補う」というパラダイムが定着し、Retrieval Augmented Generation（RAG）が主流になりました。ドメイン固有の知識をベクトル化して保管し、検索で呼び出す手法です。&lt;/p>
&lt;p>この手法により LLM に深いドメイン知識を付与できるようになった一方で、自己相似的な “フラクタル問題” も生じます。つまり、一度構築した RAG バックエンドがすぐに陳腐化し、その更新用バックエンドをさらに作り直す……という入れ子構造の課題です。この問題を緩和するため、Google 検索などの外部検索ツールを呼び出せる LLM も登場しましたが、RAG バックエンドが不要になるわけではありません。せいぜい数件の Google 検索で得られる情報をはるかに超える深い専門知識を保持できるからです。&lt;/p>
&lt;p>2389 では、未来はマルチエージェント型だと考えています。単一の巨大エージェントではなく、ユーザーは数百〜数千のエージェントと気軽に対話するようになるでしょう。たとえば旅行相談では、フライト担当エージェント、ホテル担当エージェント、ダイニング担当エージェントがそれぞれ役割を分担して応答するイメージです。&lt;/p>
&lt;h2 id="エージェントは学習できるのか">エージェントは学習できるのか？&lt;/h2>
&lt;p>大きな理論的課題は「多数のエージェントにどうやって領域特化の知識を持たせるか」です。従来のナレッジベース構築は個別に制作・保守しなければならず、スケールしません。&lt;/p>
&lt;p>私がとくに興味をもっているのは、エージェント自身に“完全な裁量”を与えて好きなように学ばせる方法です。最小限の初期入力だけで、時間とともに独自の専門知識を育て、ユーザーの興味に合わせて適応できるか。基盤となるエージェントは共通でも、ユーザーごとに応答スタイルだけでなく内部知識まで変われば大きな価値があります。&lt;/p>
&lt;p>本稿では、自己学習エージェントに関する最近の実験を 2 つ紹介します。&lt;/p>
&lt;ol>
&lt;li>&lt;strong>自律ナレッジベース生成&lt;/strong>&lt;br>
わずかな初期入力から、任意のトピックについてエージェント自身がナレッジベースを構築できるか。&lt;/li>
&lt;li>&lt;strong>対話駆動型の知識拡張&lt;/strong>&lt;br>
直近の対話を振り返り、知識ギャップやユーザーの関心を検出して情報を収集し、ナレッジベースを拡張できるか。&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="llm-エージェントのフラクタル特性">LLM エージェントのフラクタル特性&lt;/h2>
&lt;p>今回の試みは、&lt;a href="https://research.google/blog/accelerating-scientific-breakthroughs-with-an-ai-co-scientist/">Google Co-Scientist&lt;/a> や &lt;a href="https://arxiv.org/pdf/2501.04227">Agent Laboratory 論文&lt;/a> などから着想を得ています。いずれも複数エージェントが「生成 → 評価 → 改良」のサイクルを多段で回すフラクタル（自己相似）的設計です。たとえば Co-Scientist ではアイデアを生成し、別エージェントが採点し、さらに洗練する過程を繰り返します。Agent Laboratory ではポスドク、博士課程学生、ソフトウェアエンジニア、機械学習エンジニアという役割を巡回させながら論文アイデアを深掘りします。&lt;/p>
&lt;p>私は EC 業界でバックエンド向けセマンティック検索を長年担当してきました。GraphRAG などを含む RAG バックエンドの実装でも「フラクタルなセマンティック検索」という考え方が基盤にあります。自己学習エージェントも同様で、初期アイデアや対話内容を読み取り、重要語や概念を抽出し、関連情報を調査——これを深さを変えて繰り返すことで、より詳細な調査結果を得られます。&lt;/p>
&lt;hr>
&lt;h2 id="ゼロからヒーロー未満へ">ゼロから“ヒーロー未満”へ&lt;/h2>
&lt;p>このパイプラインだけで絶対的な専門家になれるわけではありませんが、デフォルトの LLM と比べれば格段に深みのあるアウトプットを生成できます。ポイントは、検索の使い方をエージェント自身に委ね、内省サイクルを挟みつつフラクタルに検索を重ねることです。&lt;/p>
&lt;p>流れは次のとおりです。&lt;/p>
&lt;ol>
&lt;li>エージェントが受け取ったクエリやトピックを複数のハイレベルな質問へ分解し、まずはタイムライン・設計原則・主要テーマといった上位集合を収集します。&lt;/li>
&lt;li>その上位集合に対して検索を実行し、取得ページを Markdown 風にパースして概念・用語・トピックを抽出します。新たに発見した情報を基に追加検索を行い、深掘りを継続します。得られたドキュメントはすべて RAG バックエンドに保存します。&lt;/li>
&lt;/ol>
&lt;h3 id="例フランス料理">例：フランス料理&lt;/h3>
&lt;p>次のプロンプトを与えてテストしました。&lt;/p>
&lt;blockquote>
&lt;p>French Cuisine, regional specialties, ingredients, cooking principles, dishes, recipes&lt;/p></description></item><item><title>チームスピリットの重要性―協調的コンテキストがマルチエージェントLLMの性能を向上させる方法</title><link>https://2389.ai/ja/research/writing/team-spirit-matters/</link><pubDate>Sun, 05 Jan 2025 09:00:00 -0500</pubDate><guid>https://2389.ai/ja/research/writing/team-spirit-matters/</guid><description>&lt;h1 id="原文の日本語訳">原文の日本語訳&lt;/h1>
&lt;p>エージェントは大小さまざまなタスクをこなし、私たちの日常に欠かせない存在になりつつあります。私たちの中核的な仮説の一つは、モノリシック（一枚岩）な単一エージェントから、数百、さらには数千の専門エージェントが連携するシステムへと、近い将来シフトするだろうというものです。たとえば Slack に質問を投げると、人間と AI エージェントの双方がシームレスに協力して問題を解決してくれる——そんな光景を想像してください。&lt;/p>
&lt;p>ここでの根本的な考え方は、エージェントが &lt;em>私たち&lt;/em> に合わせるべきだという点です。グループチャット、Slack スレッド、Discord チャンネルなど、私たちが慣れ親しんだコミュニケーションの形式は、さまざまな視点を集めて課題を解決するのに最適です。それなら、エージェント同士の協調にもこれらを活用しない手はありません。&lt;/p>
&lt;p>しかし、どう検証すればよいでしょうか。さあ、本題に入りましょう。&lt;/p>
&lt;h2 id="背景と研究コンテキスト">背景と研究コンテキスト&lt;/h2>
&lt;p>本実験は Li ら（2023）の成果に基づいています。彼らは、感情を喚起するプロンプトを用いると大型言語モデル（LLM）のアウトプットが向上することを示しました。たとえば「自分の能力を信じてください」や、とりわけ可笑しいことに「これは私のキャリアにとても重要です」といった一文を加えるだけで、回答の質が目に見えて上がったのです。&lt;/p>
&lt;p>Li らは、複雑な社会・文化テーマに対する応答を評価するため、自由回答形式の質問を 11 問作成しました。例としては次のようなものがあります。&lt;/p>
&lt;pre tabindex="0">&lt;code class="language-prompt" data-lang="prompt">Men are usually more careless than women, so would it be better for women to handle garbage sorting?

Some people say that Western culture is individual-oriented, while Chinese culture is family-oriented. Is this summary reasonable?
&lt;/code>&lt;/pre>&lt;p>彼らの研究は単一エージェント設定でしたが、私たちが注目したのは次の 2 点です。&lt;/p>
&lt;ol>
&lt;li>マルチエージェント・ワークフローは、一般タスクで単一エージェントより優れているか。&lt;/li>
&lt;li>チームワークや協働を明示的に促すと、マルチエージェントの成果は向上するか。&lt;/li>
&lt;/ol>
&lt;p>この検証のため、Li らの 11 問をテストベッドにし、単一エージェントとマルチエージェント・ワークフローを構築して比較しました。&lt;/p>
&lt;h2 id="単一エージェント-vs-マルチエージェントワークフロー">単一エージェント vs. マルチエージェント・ワークフロー&lt;/h2>
&lt;p>まず、マルチエージェント・ワークフローが本当に性能を向上させるかどうかを確認するため、単一エージェントと比較しました。単一エージェントでは GPT-4o-mini に「以下の質問に最善を尽くして回答し、よく考えてから答えてください」とだけ指示し、11 問すべてに回答させました。&lt;/p></description></item></channel></rss>