AB
AiBoss
チュートリアル

クロードは正式に「エージェント構築ガイド」(中国語版)をリリースしました。

この記事では、Anthropicが大規模言語モデル(LLM)とエージェントを構築する際の年間の取り組みと設計原則をまとめています。Anthropicが執筆したこの記事では、成功したソリューションの特徴、インテリジェントな...

Claude 官方发布《Agent 构建指南》(中文版)

この記事では主に、Anthropic社による大規模言語モデル構築の取り組みについて論じる。LLM)そして知的(エージェント)に関する年次概要と設計原則。この記事は、Anthropicによって執筆され、以下の内容が含まれています。成功するソリューションの特徴知的意味いつ使用するか知的フレームワークの使用モジュールとワークフローワークフローパターン知的アプリケーションシナリオ同様に実践事例[セクション一覧]などのセクション。この記事では[以下の点]を強調しています。単純魅力的であること、透明性があること、そして適切に設計されたエージェント・コンピュータ・インターフェース(ACI)の重要性、さらにツール開発のためのベストプラクティスとプラグインツールを提供すること。プロンプトワード詳細なプロジェクト情報。上記に基づき、Anthropicは価値ある構築方法を共有します...知的開発者向けに提供する実用的その提案。

2024年12月20日

過去1年間、Anthropicは複数の業界チームと協力して、大規模な言語モデルを構築してきた。LLM最も成功しているソリューションは、複雑なフレームワークや特殊なソフトウェアパッケージを使用していません。代わりに、...単純これは、構成可能なモジュールから構築されています。この記事では、Anthropicがクライアントとの協業や自社エージェントの構築を通して得た教訓を共有し、開発者向けに効果的なエージェントの構築方法に関するアドバイスを提供します。

何がAgent

何がAgent? “Agent「複数の定義があり得ます。クライアントによっては…」Agent完全自律システムと定義されるこれらのシステムは、長期間独立して動作し、さまざまなツールを使用して複雑なタスクを実行できます。その他...Agentその説明によれば、それは事前に定義されたワークフローに従い、より標準に準拠している。Anthropicでは、これらのバリエーションはすべて次のように分類される...プロキシシステムしかしワークフローそして演技両者の間には、重要な建築上の違いが見られた。

  • ワークフローはいLLM事前に定義されたコードパスに基づいてツールをオーケストレーションするシステム。
  • 演技はいLLMプロセスとツールを動的に計画し、タスクの完了方法を制御するシステム。

以下では、これら2種類のエージェントシステムについて詳しく説明します。(付録1「実践編」を参照)Agent「顧客によるシステム利用に関する情報」という記事では、顧客がこれらのシステムを特に価値あるものと感じている2つの分野が強調されていました。

いつ(そしていつ使わないべきか)Agent

建設中LLMアプリケーションを使用する際は、できるだけ多くの種類を探すことをお勧めします。単純解決策は、プロキシシステムを構築し、必要な場合にのみ複雑さを加えることです。これは、プロキシシステムを全く構築しないという選択肢もあることを意味します。プロキシシステムは、タスクのパフォーマンス向上のために遅延やコストが発生することが多く、そのトレードオフを考慮して、導入する価値があるかどうかを判断する必要があります。

より複雑な処理が必要な場合、ワークフローは明確に定義されたタスクに対して予測可能性と一貫性を提供しますが、大規模な柔軟性とモデル駆動型の意思決定を犠牲にします。Agentそちらの方が良い選択肢です。ただし、多くのアプリケーションでは、単一の最適化は...LLM呼び出しと、検索および文脈上の例があれば、通常は十分です。

フレームワークはいつ、どのように使用すべきか?

プロキシシステムの実装を容易にするフレームワークは数多くあり、例えば以下のようなものがあります。

これらのフレームワークは呼び出しを簡素化しますLLM速い関連するツールプラグインの作成や解析、チェーンされた呼び出しといった標準化された低レベルタスクは、操作プロセスを簡素化します。しかし、これらは抽象化のレイヤーを増やし、基となるプロンプトやレスポンスを不明瞭にし、デバッグを困難にする可能性があります。また、開発者にとって…単純これらの設定を使用すれば操作を完了できますが、作業の複雑さが増します。

開発者の方々には、まず直接使用することをお勧めします。LLM API:多くの一般的なパターンは、わずか数行のコードで実装できます。フレームワークを使用する場合は、基盤となるコードを必ず理解してください。基盤となるメカニズムに関する誤った認識は、クライアントにとってよくあるエラーの原因となります。

ご覧ください公式マニュアルいくつかの実装例を入手するため。

モジュール、ワークフロー、プロキシを構築する

このセクションでは、本番環境で遭遇するエージェントシステムの一般的なパターンを探ります。まずは基本的な構成要素である拡張エージェントから始めます。LLM徐々に複雑さを増していくことから始めましょう。単純統合されたワークフローは自律エージェントに転送されます。

モジュール: 拡張LLM

エージェントシステムの基本的な構成要素は、検索、ツール、メモリなどの機能によって強化される。LLM現在のモデルは自動これらの機能を効果的に活用しましょう。検索クエリを自律的に生成し、適切なツールを選択し、保持する情報を決定してください。

実装における2つの重要な側面に焦点を当てることをお勧めします。それは、特定のユースケースをユースケースに合わせて調整することと、以下の点を確実にすることです。LLM供給単純さらに、このソフトウェアは十分に文書化されたインターフェースを備えています。これらの機能強化を実現する方法は数多くありますが、その一つとして、Anthropic社が最近リリースしたモデルを使用する方法があります。コンテキストプロトコル(モデルコンテキストプロトコル)は、開発者が以下のことを可能にするものです。単純クライアント側の実装このプロトコルを活用する様々なサードパーティ製ツールと連携します。

この記事の残りの部分では、毎回LLMこれらの強化された機能は、どの通話からでも利用できます。

ワークフロー:ヒントチェーンワークフロー

キューチェーンはタスクを一連のステップに分解し、それぞれのステップは...LLMこの呼び出しは、前の呼び出しの出力を処理します。処理が期待どおりに進むように、任意の中間ステップにプログラムによるチェック(下図の「ゲート」を参照)を追加できます。

  • 適用可能なシナリオこのワークフローは、タスクを固定されたサブタスクに簡単かつ明確に分割できるシナリオに最適です。主な目的は、各タスクを...LLM通話が容易になり、応答速度と精度向上との間でトレードオフが可能になる。
  • ヒントチェーンの使用例
    • マーケティングコピーを作成し、それを様々な言語に翻訳する。
    • 文書のアウトラインを作成し、そのアウトラインが一定の基準を満たしていることを確認した上で、アウトラインに基づいて文書を作成します。

    ワークフロー:ルーティングワークフロー

    ルーティングは入力を分類し、後続の専門的なタスクに振り分けます。ワークフローは関心の分離と、より専門的なヒントの構築を可能にします。このようなワークフローがない場合、ある種類の入力に対する最適化が、他の種類の入力のパフォーマンスを損なう可能性があります。

    • 適用可能なシナリオルーティングは、明確なカテゴリがあり、個別の処理に適しており、分類が以下の方法で決定できる複雑なタスクに適しています。LLMあるいは、より従来型の分類モデル/アルゴリズムでも正確に処理できる。
    • 適用例
      • 顧客サービスに関する様々な種類の問い合わせ(一般的な質問、返金依頼、技術サポートなど)を、それぞれ異なる下流プロセス、プロンプト、ツールへと誘導します。
      • 意思単純一般的な問題は、次のようなより小さなモデルにルーティングされます。Claude 3.5 俳句、難解/通常とは異なる問題をより適切な機関にルーティングする強力例えば、モデルClaude 3.5 Sonnet、コストと速度を最適化。

      ワークフロー:並列ワークフロー

      LLMタスクは同時に完了できる場合があり、その出力はプログラムによって集約されることがあります。このワークフローは現在、主に2つのバリエーションで存在します。

      • セクション分け(タスク分解):タスクを、並行して実行される独立したサブタスクに分解します。
      • 投票:同じタスクを複数回実行して、異なる出力を得ること。
      • 適用可能なシナリオ並列処理は、分割されたサブタスクを並列化して処理速度を向上させる場合、またはより信頼性の高い結果を得るために複数の視点が必要な場合に効果的です。複数の考慮事項を伴う複雑なタスクの場合、それぞれの考慮事項は個別に処理されます。LLM通話処理中、LLM彼らはより良い成績を収めた。
      • 適用例
        • セクション分け(タスクの細分化)
          • セキュリティ設定においては、一方のモデルがユーザーからの問い合わせを処理し、もう一方のモデルが不適切なコンテンツやリクエストをフィルタリングします。これは一般的に、同じモデルでユーザーからの問い合わせを処理するよりも優れています。LLMセキュリティ保護とコアレスポンスを同時に呼び出す方がパフォーマンスが向上します。
          • 自動化学的評価は、LLMパフォーマンスはプロンプトに基づいて、それぞれLLMこれは、モデル性能のさまざまな側面を評価するために使用されます。
          • コードの脆弱性を確認し、問題が見つかった場合は、複数の異なるプロンプトを使用してコードをレビューし、フラグを立ててください。
          • 提示されたコンテンツが不適切かどうかを判断するには、複数の質問項目を用いてさまざまな側面を評価するか、異なる投票基準値を設定してテストの精度を調整してください。

          ワークフロー:コーディネーター・実行者ワークフロー

          コーディネーター・エグゼキューター型のワークフローでは、中央の...LLMタスクを動的に分解し、ワーカーに割り当てます。 LLM(労働者)LLM)そして、その結果を考慮に入れる。

          • 適用可能なシナリオこのアプローチは、必要なサブタスクを予測できない複雑なタスクに適しています(例えば、コーディングでは、変更が必要なファイルの数や各ファイル内の変更内容はタスク自体によって異なる場合があります)。フローチャートは並列化と似ていますが、重要な違いは柔軟性の高さです。サブタスクは事前に定義されるのではなく、オーケストレーターが特定の入力に基づいて決定します。
          • 適用例
            • 毎回複数のファイルに複雑な変更を加えるエンコードされた製品。
            • 検索作業とは、複数の情報源から情報を収集・分析し、関連性の高い可能性のある情報を見つけ出す作業である。

            ワークフロー:評価者-最適化者ワークフロー

            このワークフローでは、LLM一方の関数は応答を生成する役割を担い、もう一方の関数はループ内で評価とフィードバックを提供する。

            • 適用可能なシナリオこのワークフローは、明確な評価基準があり、反復的な改良の価値を測定できる場合に特に効果的です。優れた適応性には2つの特徴があります。1つ目は、人間がフィードバックを表明するとき…LLM反応は大幅に改善できる。第二に、LLMそのようなフィードバックを提供できる。これは、人間が洗練された文書を作成する際に行う反復的な執筆プロセスに似ている。
            • 適用例
              • 文学翻訳、および翻訳におけるいくつかの微妙な側面。LLM最初は捉えられないかもしれないが、評価LLM改善のための有益な提案を提供できます。
              • 複雑な検索タスクでは、包括的な情報を収集するために複数回の検索と分析が必要であり、評価の責任も負う。 LLM さらなる調査が必要かどうかを判断する。

              演技

              とともにLLM複雑な入力の理解、推論と計画、ツールの使用、エラーの修正といった主要な能力が成熟するにつれて、エージェントは実用化の現場に登場し始めた。

              エージェントの作業は、人間のユーザーからの指示、または対話型の議論から始まります。タスクが定義されると、エージェントは自律的に計画と実行を行い、必要に応じて人間にさらなる情報や判断を求めます。実行中は、エージェントが各ステップで環境から「現実世界」の情報(ツール呼び出しの結果やコードの実行結果など)を取得し、進捗状況を評価することが不可欠です。エージェントは、障害に遭遇した際に一時停止して人間のフィードバックを得ることができます。タスクは通常、完了時に終了しますが、制御を維持するために、多くの場合、終了条件(最大反復回数など)が含まれます。

              エージェントは複雑なタスクを処理できますが、その実装は通常非常に...単純彼らは通常、環境からのフィードバックのみに基づいてツールをループ状に利用する。LLMしたがって、適切に設計され、明確なツールセットとドキュメントが不可欠です。付録2(「Prompt 『ツールの設計』では、ツール開発におけるベストプラクティスを詳しく解説しています。

              (自社運営代理店)

              • 適用可能なシナリオエージェントは、必要なステップ数を予測することが困難または不可能な場合や、固定された経路を指定できない場合など、未解決の問題に適用できる。LLM複数のループが実行される可能性があり、その意思決定能力にある程度の信頼を置く必要があります。エージェントの自律性は、信頼できる環境でタスクを実行するのに特に適しています。しかし、エージェントの自律性は、コストの増加とエラーの蓄積の可能性も意味します。適切なセキュリティ対策を講じたサンドボックス環境での徹底的なテストを推奨します。
              • 適用例:以下は、弊社独自の実装例です。

                (エンコーディングエージェントの高度な処理)

                これらのパラダイムは厳密に定義されているわけではありません。これらは、開発者がさまざまなユースケースに適応するために構築および組み合わせることができる一般的なパターンです。LLM同じ機能であれば、成功の鍵はパフォーマンスを測定し、実装を反復的に改善することです。繰り返しますが、結果が大幅に向上する場合にのみ、複雑さを追加することを検討してください。

                存在するLLMどの分野においても成功の鍵は、最も複雑なシステムを構築することではなく、ニーズに合った適切なシステムを構築することにある。単純プロンプトが開始され、包括的な評価と最適化が続きます。単純提供された解決策が不十分な場合にのみ、多段階プロキシシステムが追加されます。

                プロキシを実装する際には、以下の3つの基本原則に従うようにしています。

                • エージェント設計を確実にする単純
                • エージェントの計画手順を明確に示すことで、優先順位付けを行います。透明性
                • 包括的なツールを通じてドキュメントとテストエージェント・コンピュータ・インターフェース(ACI)を慎重に設計してください。

                フレームワークは、速いまずは基本的なコンポーネントから始めましょう。しかし、本番環境に移行する際には、抽象化レイヤーを減らし、可能な限り基本コンポーネントを使って構築することをためらわないでください。これらの原則に従うことで、単なる基本コンポーネント以上のものを作り出すことができます。強力さらに、信頼性が高く、保守しやすく、信頼できるエージェントです。

                謝辞

                エリック・シュルンツとバリー・チャンによる執筆。本書は、アントロピック社におけるプロキシ構築の経験と、クライアントの皆様からいただいた貴重なご意見に基づいています。クライアントの皆様には深く感謝申し上げます。

                得るAgent 「建築ガイド」のオリジナルPDFファイルQRコードをスキャンしてフォローと返信をしてください。241222

                付録1:エージェントの実践例

                お客様とのコラボレーションにより明らかになったことAIエージェントの特に有望な応用例を2つ挙げると、前述のモデルの実用的な価値が明らかになる。どちらの応用例も、明確な成功基準、フィードバックループ、そして貴重な人間の監視の統合を必要とする対話と行動を伴うタスクにおいて、エージェントが最も価値を発揮することを示している。

                A. カスタマーサポート

                顧客サポートには使い慣れたチャットボットインターフェースが組み込まれており、ツール統合によって強化されています。これは、よりオープンな代理店にとって自然なシナリオです。なぜなら、

                • これは対話の流れに沿っており、自然なやり取りを可能にする一方で、外部情報や操作へのアクセスも必要とする。
                • 顧客データ、注文履歴、ナレッジベースの記事を抽出するためのツールを統合できます。
                • 払い戻しの発行や作業指示書の更新といった業務は、手順に沿って処理することができる。
                • ユーザー定義の解決策を用いることで、エージェントが問題を解決したかどうかを明確に測定できる。

                一部の企業は、成功したソリューションに対してのみ料金を請求する利用量ベースの価格設定モデルを通じて、このアプローチの実現可能性を実証しており、自社エージェントの有効性に対する自信を示している。

                B. エンコーディングエージェント

                ソフトウェア開発分野では、LLMこの機能の大きな可能性は、コード補完から自律的な問題解決へと進化する点にある。委任が特に効果的な理由は以下のとおりである。

                • コードの問題の解決策は、自動化学試験を用いて検証を行った。
                • エージェントはテスト結果をフィードバックとして活用し、ソリューションを反復的に改善することができる。
                • 問題は明確に定義され、構造化されている。
                • 出力品質は客観的に測定できる。

                我々の実装では、プロキシは以下に基づいています。SWEベンチ検証このベンチマークは、実際のGitHubに関する問題を単独で解決できます。しかし、自動機能テストは機能性を検証するのに役立つが、ソリューションがより広範なシステム要件を満たしていることを保証するためには、人間のレビューが依然として不可欠である。

                付録2:ツールに関するヒント

                構築するプロキシシステムの種類に関わらず、ツールプラグインはプロキシの重要な部分となる可能性が高いです。ツールを使用すると、...ClaudeAPI内で外部サービスやAPIの正確な構造と定義を指定することで、それらと連携することができます。Claude応答時にツールを呼び出す予定がある場合は、API応答に[不足情報]が含まれます。ツール使用ブロックツール定義と仕様は、ツールチップの設計において、ツールチップ全体と同様に重視されるべきです。この付録では、ツールチップの設計方法について説明します。

                同じ操作を指定する方法は、通常複数存在します。例えば、ファイルの編集は、差分を書き込むか、ファイル全体を書き換えることで指定できます。構造化された出力の場合、コードはMarkdownまたはJSON形式で返されます。ソフトウェアエンジニアリングにおいては、これらの差分は表面的なものであり、品質を損なうことなく形式を変換できます。

                ただし、一部のフォーマットはLLMJSONで記述するのは、他の形式よりも難しい。差分を書き込むには、新しいコードを書く前に、ブロックヘッダーの何行が変更されているかを把握する必要がある。JSONでコードを書く場合(Markdownと比較して)、改行や引用符のための追加のエスケープ処理が必要になる。

                ツールのフォーマットを決定する際の推奨事項は以下のとおりです。

                • モデルが行き詰まる前に、「考える」ための十分なトークンを与えてください。
                • インターネット上で自然に表示されるテキストと同様の形式を維持してください。
                • 数千行のコードを正確に計算したり、書き込むコードに対して文字列のエスケープ処理を実行したりするなど、書式設定に関する「オーバーヘッド」が発生しないようにしてください。

                経験則として、優れたエージェント・コンピュータ・インターフェース(ACI)の構築には、ヒューマン・コンピュータ・インターフェース(HCI)の構築と同じくらいの労力を費やすべきです。以下に、そのためのアイデアをいくつかご紹介します。

                • モデルの立場になって考えてみてください。説明とパラメータに基づいて、このツールの使用方法は明白でしょうか、それとも慎重な検討が必要でしょうか?優れたツール定義には、通常、使用例、適用範囲、入力フォーマットの要件、および他のツールとの明確な境界が含まれます。
                • タスクをより分かりやすくするために、パラメータ名や説明をどのように変更すればよいでしょうか?チームのジュニア開発者向けに、読みやすいドキュメントを作成するようなイメージです。これは、類似したツールを多数使用する場合、特に重要です。
                • ツールを使用してモデルをテストする方法:作業台複数のサンプル入力に対して実行してみて、モデルがどのような間違いを犯したかを特定し、それを繰り返します。
                • ツールに実装するエラー防止対策パラメータを変更して、ミスをしにくくする。

                建設中SWE-benchプロキシを使用する場合、Anthropicは実際には全体的な提案の最適化よりもツールの最適化に多くの時間を費やしています。たとえば、Anthropicは、特にプロキシがルートディレクトリから移動された後、相対ファイルパスを持つツールを使用するとモデルがエラーを発生させることを発見しました。この問題を解決するために、ツールは常に絶対ファイルパスを必要とするように変更され、モデルはこのアプローチを完璧に利用することが分かりました。

                Tencent Hunyuan動画生成モデルの使い方:実地テスト

                使用方法AI禅マスターの動画を3つのステップで作成する方法を学びましょう!