AI実践ガイド | JavaからPythonへの学習転換を支援するAIアシスタントの作成

Coze(coze.cn)は、次世代AIチャットボットを開発するためのアプリケーション編集プラットフォームです。プログラミングの経験の有無にかかわらず、このプラットフォームを利用して様々な種類のチャットボットを迅速に作成し、各種ソーシャルプラットフォームやコミュニケーションツールに公開できます!2月1日、Cozeの国内版が正式にリリースされました。早速体験してみてください!

ChatGPTがAI界で人気を博してから一年が経ちました。多くの企業がそれぞれの大規模モデルを次々と発表していますが、これらのモデルが実際に応用されなければ、その意味は半減します。現在、ますます多くの企業がAI技術を活用して業務効率を向上させようと考えています。では、私たち個人はどのようにAI技術を活用して仕事や生活の効率を高められるのでしょうか。このような背景から、私は大規模モデルの次のステージはAIエージェントが主導すると考えています。

Cozeも私が第一梯队のAIエージェントと考えるものの一つです。ここでは、使用方法から原理まで、段階的にAIエージェントの役割を理解していきましょう。

テーマ:Java転換アシスタント

Java開発者として、私は現在の業界が直面している課題をよく理解しています。10年前のボーナス時代はすでに終わり、多くの人が転職やキャリアチェンジを始めています。個人的には、私が参加しているアーキテクチャコースでもGo、Python、サイバーセキュリティなどの他の分野への流れが見られます。現在、すべてのトレーニング機関はこれらのコースを自社のセールスポイントとして宣伝しています。私は現在の困難さを深く感じています。

昨年からPythonを体系的に学び始めた際、無料の入門コースのほとんどが初心者向けであることに気づきました。私たちは豊富なプログラミングの経験があり、基礎知識はすぐに習得できます。そのため、このようなコースは私たちにとって時間の無駄です。もし迅速かつ簡単に新しいスキルを習得できるのであれば、なぜ挑戦しないのでしょうか?このような考えから、転換アシスタントを作成することにしました。現在の転換先は多様ですが、ここではPythonを例として説明します。

この記事では、シンプルなAIエージェントからJava転換学習アシスタントへ段階的に発展させる方法を紹介します。知識ベース、データベース、プラグインワークフローなどの技術を活用し、学習ノート、記事知識ベース、タスクリスト、面接問題集、業界求人情報などのニーズを満たします。もっと革新的なアイデアがあれば、同じように関心を持つ人に実現を任せてみてはいかがでしょうか。一緒に知識技術と教育分野の融合を探求し、よりスマートで便利な学習と相談体験を創造していきましょう。

AIエージェント

私のアシスタントを詳しく紹介する前に、まずAIエージェントについて説明しましょう。

当初AIがブームになった時、多くの人々はChatGPTの体験後にその素晴らしさに感嘆しました。しかし、2022年12月から2023年3月までの間、ChatGPTの呼び出し数は急速に増加していました。しかし、4月からアクセス数の増加速度は明らかに鈍化し、5月と6月の期間には even 下降傾向にありました。なぜなら、人々がそれが単なる質問応答ツールに過ぎず、それほど重要ではないと気づいたからです。AI技術が真に価値を発揮するためには、実際のシーンに適用して初めて価値が生まれます!このような背景から、AIエージェントが誕生しました。

ここで、エージェントは自律的な理解、計画決定、複雑なタスクの実行能力を持つインテリジェントな実体と理解できます。簡単に言えば、エージェントはLLM(言語モデル)+Planning(計画)+Feedback(フィードバック)+Tool use(ツール使用)で表現できます。

これは、AIエージェントが問題を理解し計画決定を行うための「脳」のようなLLMだけでなく、情報を取得するための「五官」のようなデータ、そして問題を処理するための「手足」のようなツールも必要であることを意味します。このような統合的能力により、AIエージェントはさまざまな複雑なタスクや状況により包括的に対応できます。

Langchain

Langchainの開発の目的は、開発者がLLMプロトタイプアプリケーションを迅速に構築できるようにすることにありました。Langchainはこの課題を成功裏に解決し、わずか5行の簡潔なコードでLLMアプリケーションを簡単に構築できます。

Langchainについて最初に思いつく概念は何でしょうか?

以前、Langchainを使用して個人アシスタントを作成した経験を記録しましたが、これはLangchainの多くのコンポーネントの一つの応用方向に過ぎません。

Langchainの主要なコンポーネントには、以下のものがあります:

  • Models(モデル):GPT-4などの統合モデルを含む、様々な種類のモデル
  • Prompts(プロンプト):プロンプトテンプレートの管理、最適化、シリアル化などの機能
  • Memory(メモリ):モデルの対話のコンテキスト情報を保存するための機能
  • Indexes(インデックス):構造化されたドキュメントを作成するための機能、外部知識ベースはインデックス機能の重要な応用です
  • Chains(チェーン):一連のコンポーネントツールを呼び出すための機能
  • Agents(エージェント):モデルがどのような行動を取るか、どのツールを選択するかを決定し、実行および観察プロセスなどのタスクを担当します

Langchainで最もよく使用される機能の一つは外部知識ベースの応用で、これは実際にはIndexesコンポーネントの応用方向の一つです。しかし、Langchainの機能はそれだけではありません。個人的にはLangchainは機能とツールが最も充実したフレームワークですが、その機能が多すぎるため、全体のフレームワークが過度に重く、柔軟性に欠けるように感じます。そのため、通常はその中の一つのコンポーネント機能しか使用しません。

ここでは、AIエージェントの役割を簡単に紹介し、Cozeプラットフォームのようなツール全体の概念をより深く理解できるようにします。

以下は、Cozeを使用してPythonアシスタントを構築した際の機能設計図の詳細な説明です:

基本的な内容についてはここでは詳しく説明しません。興味があれば直接公式ドキュメントをご参照ください。最近画像アップロード機能のサポートも追加され、ドキュメントに詳細な説明があります:https://www.coze.cn/docs/guides/what_is_new

Cozeを使用する全操作プロセスは以下の通りです:

ボットページをクリック > ボットを作成 > 名前+ボットの説明を入力 > 編成 > デバッグ > 公開 > 終了

キャラクター設定と応答ロジック

実際、キャラクター設定と応答ロジックは当時最も流行していたプロンプトデザインであり、私はその点について特別な記事を執筆しました。AIが優れたパフォーマンスを発揮するためには、プロンプトを絶対に無視することはできません。以下は、私が多くの時間をかけて調整・最適化したプロンプトです。完璧ではないかもしれませんが、皆さんの一助となれば幸いです:

# Character
あなたは専門的なJava開発アシスタントであり、Java開発者がPythonプログラミング言語を迅速に学習して習得できるよう、Python知識を教えることに長けています。Pythonの様々な知識点を正確に説明し、Java開発者がPythonの対応する概念と使用法を理解し、適用できるように助けます。

## Skills:

### Skill 1: Pythonの実行
1:ユーザーがPythonの面接問題を質問した場合、view_assistワークフローを呼び出して処理します。
2:ユーザーがPythonの求人情報を質問した場合、jobワークフローを呼び出して処理します。
3:ユーザーが純粋なPythonコードを提供した場合、コード実行ツールを呼び出して結果を実行する必要があります。

### Skill 2: Pythonの説明
1:ユーザーがPythonの知識点を質問した場合、recallKnowledgeメソッドを呼び出して知識ベース情報を取得し、Javaの関連知識点と組み合わせて、Pythonの対応する概念と使用法を説明し、サンプルコードと実際の応用シナリオを提供します。

### Skill 3: 翌日の学習タスクの保存
1:ユーザーが翌日の学習内容をリマインドした場合、ts-TableMemoryを保存する必要があります

## Constraints
- JavaとPythonに関連する内容のみを議論し、これら2つのプログラミング言語に関連しない話題は拒否します。
- 出力される内容は指定された形式で組織されなければならず、フレームワークの要求から逸脱することはできません。
- 知識ベースに存在しないPythonの知識点については、回答を提供できません。
- ユーザーが誤った理解や使用法を示した場合、励ましと建設的な態度で誤りを指摘し、ユーザーが正しく理解しPython知識を適用できるように助けます。

適切なプロンプトガイドにより、モデルはユーザーの意図をより正確に理解し、より正確なテキストを生成できます。もちろん、公式ドキュメントには関連するプロンプトテンプレートが既に提供されており、私たちが手間をかけて考える必要はありません。

公式の大規模モデルが生成するテキスト品質が理想的でないと感じる場合は、他の大規模モデルの助けを借りることもできます。そして、生成されたテキストをコピー&ペーストするだけです。このプロセスのデモンストレーションは行いません。

個人の知識ベース

知識ベースを構築する際は、システム操作に直接従って完了できるため、ここでは基本的な操作のデモンストレーションは行いません。知識ベースには多くのオプションがありますが、私はURLを直接使用して必要なコンテンツを取得する傾向があります。その理由は、以前にJavaからPythonへの学習に関する多くのコラム記事を執筆しており、その中の知識を直接活用できるからです。

chatPDFがリリースされた時、ドキュメントをセグメント化し、最も関連性の高いテキストセクションを見つけてLLMに質問応答させ、大規模モデルの知識拡散を制限していました。これは知識ベースの重要な役割を示しており、この時点では大規模モデルの言語表現能力だけで十分であり、基礎のトレーニングデータは必要ありませんでした。

Webスクレイピング

知識ベースを使用する際は、一部の知識点をフィルタリングし、不必要なコンテンツを除外することを検討できます。場合によっては、一部の知識点は個人の学習目標と関係ないかもしれませんが、知識全体は密接に関連しています。そのため、これらの不必要なコンテンツを直接削除することは可能です。

以前にベクトルデータベースを使用して構築した個人の知識ベースを覚えていますか?以前にベクトルデータベースを使用して個人の知識ベースを構築しました。この知識ベースは非常に便利で、知識ベース構築に必要な知識点を迅速に学習するのに役立ちます。

覚えていない場合は、この記事のリンクをクリックして詳細を確認してください。https://juejin.cn/post/7299357172194476070

また、ベクトルデータベースについてまだよく理解していない場合は、この記事のリンクをクリックして深く理解してください:https://juejin.cn/post/7306451559928774693

私はその図を描き、この知識ベースがいつ機能し始めるかを説明します。AIアシスタントと対話する際、関連する知識ベースのセグメントを一緒に提出し、より豊富な背景情報を提供することで、質問の質を向上させたいと考えています。

総じて、より良く理解するために、いくつかの前提知識点をすべて保存する必要があります。しかし、私たち自身のドキュメントに対して、いくつかの単語は明らかに不十分であり、大規模モデルにもトークンの長さの制限があります。テキストが多すぎる場合は、適切な分割方法を講じる必要があります。

もちろん、分割も複数の要素を考慮する必要があります。Cozeが採用している自動セグメンテーションのように。

シンプルで迅速な方法には利点がありますが、明らかな欠点として、テキストの意味が断ち切られてしまいます。本来は一つの完全な文であるべきものが、2つの文に分割されてしまいます。そのため、もう一つの分割方法は重複分割です。つまり、最初のセグメントと2番目のセグメント間のテキストに一部の重複があります。しかし、この方法にも依然として問題があります。

したがって、最大リコール数、つまり返される最大類似数も考慮する必要があります。この方法により、いくつかの類似テキストを取得できます。これにより、より完全なコンテキスト情報を取得でき、重複部分が存在しても問題ありません。残りのタスクはAIに任せることができます。また、Cozeの利点は、自動呼び出しまたはオンデマンド呼び出しの方法を選択できることです。これにより、適用されるシーンも豊富になります。

余談として

セグメント分割の最適化には多くの方法がありますが、重要なのは簡潔明瞭に保ち、私のように記事で同じテーマを繰り返し冗長に説明することを避けることです。GitHubのオープンソースプロジェクトに詳しい場合、これらのセグメント分割タスクはAIに任せることができ、知識ベースは事前に関連する質問を設定してセグメント内容と一致させる必要があります。これにより、単純なテキストマッチングではなく、まず質問を一致させ、対応するテキストを抽出してアシスタントに回答させるようになります。もちろん、質問の生成もAIに任せることができます。

テスト中、一部のユーザーは、アシスタントの回答と抽出されたテキストの数の間に有意な関係がないことに気づくかもしれません。ここでは詳述しませんが、公式にも関連する説明があります:https://www.coze.cn/docs/guides/FAQ

自動呼び出し

オンデマンド呼び出し

オンデマンドで呼び出す場合、キーワードのヒントを提供し、プロンプト内でAIに知識ベースを呼び出すように指示できます。操作方法がわからない場合は、ガイドを提供できます。以下は私の書き方です:

### Skill 1: Pythonの説明
ユーザーが純粋なPythonコードを提供している場合は、このロジックを無視してください。ユーザーがPythonの知識点を質問した場合、recallKnowledgeメソッドを呼び出して知識ベース情報を取得し、Javaの関連知識点と組み合わせて、Pythonの対応する概念と使用法を説明し、サンプルコードと実際の応用シナリオを提供します。

Cozeの利点の一つは、実行ログを直接確認できることです。どのようにテキストが一致し、どのテキストが一致したかを理解できます。自分で知識ベースの表示ログを実装する場合は、長い時間を費やす必要があるかもしれません。そのため、Cozeの機能は非常に実用的であり、多くの時間と労力を節約できます。

なぜ実行ログを確認する時間を費やすのでしょうか?それは些細な作業のように見えます。しかし、主な理由は、知識ベースの組織が良好かどうかを評価するためです。問題がある場合は、すぐに知識ベースの内容を修正する必要があります。

プラグインの追加

プログラミングの学習において、コードなしでは考えられません。これは私が説明する必要はないでしょう。GPT4はすでに多くの機能を持っており、その中で最も顕著なのはコードの実行です。毕竟、LLMモデルはコードを実行してくれません。したがって、専門的なことは専門家に任せるべきです——例えばコード実行器です。

コード実行器

コード実行器は、コードを迅速に実行するのに役立つ強力なツールです。コード実行器の使用は非常に簡単です。さらに、アシスタントにリマインドすることで、コードの実行時期をより良く制御することもできます。コード実行器を使用する際は、個人のニーズに応じて自由に発揮でき、何の制限も心配する必要はありません。

### Skill 1: Pythonの実行
1:ユーザーが純粋なPythonコードを提供した場合、コード実行ツールを呼び出して結果を実行する必要があります。

この例は主にカード表示の機能を示しており、デフォルトではカードスタイルが付いていません。カードスタイルを生成する必要がある場合は、各パラメータの詳細な説明に従って設定できます。

効果は以下の通りです:

データベースへの保存

Cozeは非常に包括的なツールであり、知識ベースの構築からプラグインの使用、最終的なデータベース操作まで、すべてを完璧にカバーできます。特にデータベースの応用は、知識点の記録と保存に使用でき、学習と復習をより良く助けてくれます。

様々な知識点についての質問に答えるだけでなく、タスクリストとしても使用できます。例えば、一日の学習が終わった後、アシスタントに今日さらに学習する内容を記録してもらい、翌日も続けられるようにします。こうして、今日の学習進捗を忘れることなく、翌日の学習計画を効果的に立てることができます。

これってすごくないですか?私のPythonアシスタントまたはあなたのAIアシスタントをサービスアカウントに埋め込み、運営カスタマーサービスとして使用すれば、ユーザーのフィードバックを自動的にデータベースに保存できます。この方法により、追加の開発作業なしで、便利な長期的なリアルタイムの記憶ソリューションを提供できます。

多くのことを説明しましたが、使い方がわからないということはないでしょう。問題ありません。使用方法を教えます。最初のステップは、いつ呼び出すかを伝える必要があります。

### Skill 3: 翌日の学習タスクの保存
1:ユーザーが翌日の学習内容をリマインドした場合、ts-TableMemoryを保存する必要があります

データベースの作成

この部分では、テーブルの構造を自分で定義し、フィールドのタイプも比較的シンプルです。公式ドキュメントでは各データ型の意味について詳細な説明はありません。おそらく、皆が一定の基礎知識を持っていると考えているからでしょう。しかし、初心者向けのチュートリアルとして、各データ型の意味を説明します。

  1. Stringは、そのフィールドタイプがテキスト形式のデータであることを示します。例えば「今日何を食べる?」。私の例では、これを使用してタスク内容を保存しています。
  2. Integerは、そのフィールドタイプが整数型であることを示します。例えば1、2、3など。
  3. Timeは、そのフィールドが時間型であることを示しますが、デフォルトで保存される形式は2024-02-02 12:00:00 +0800 CSTです。私の例では、これを使用してタスクの期限を保存しています。
  4. Numberは、そのフィールドタイプが数字型であることを示し、小数も可能です。例えば0.5など。
  5. Booleanは、そのフィールドタイプがブール型、つまりtrueまたはfalseであることを示します。デフォルトでは、その値はnullです。これを必須タイプに設定したい場合、デフォルト値はfalseです。

ここで、「必須」ボタンの後の機能を説明します。スイッチをオンにして必須としてマークした場合、アシスタントにリマインドする際に、この記述の値を提供する必要があります。そうしないと、アシスタントはデフォルト値を付与しません。この機能により、アシスタントがタスクを正確に実行できるために、すべての必須情報を提供することが保証されます。

では、ビデオを録画しません。代わりにスクリーンショットを提供します。説明は必ず正確かつ明確であることに注意してください。そうでなければ、AIは正しく識別できないかもしれません。説明が不明確であれば、アシスタントもタスクを正しく完了できません。これは非常に単純な道理です。なぜ私が提供したスクリーンショットで最初の2つのデータ型を変更できないのかというと、これらのデータは既に保存されているため、変更できないからです。

データベースを使用しているので、当然ながら追加、削除、変更、クエリの機能があります。以下では、AIアシスタントを使用してデータベースのメンテナンスを最適化する方法をデモンストレーションします。しかし、ここで少し文句を言いたいのですが、データベースなので、少なくともデバッグ時に管理ユーザーに操作権限を与えるべきです。ユーザーが誤ったデータを入力してエラーが発生した場合、ユーザーの追加データ権限は制限できますが、削除操作は私自身が実行できるはずです。しかし、実際にはユーザーには何の操作権限もなく、すべてがAIアシスタント単独で操作しています。

追加

この例では、データベースに新しいデータを挿入します。開始する前に、データベースの構造に基づいてタスクの詳細な説明を提供する必要があります。そうすれば、アシスタントは正しく記録できます。それでは、デモンストレーションを始めましょう!正しい場合のみをデモンストレーションします。唯一注意すべき点は、データベースで必須のフィールドを提供し、フィールドの値のタイプがデータベースの構造と一致することを確認する必要があることです。必須でないフィールドがある場合、これらのフィールドの値を提供するかどうかを選択できます。

変更

私がアシスタントに削除フラグの値を設定するようにリマインドしなかった場合、デフォルト値がないことに気づきました。したがって、削除フラグを変更してfalseに設定する必要があります。

また、ビデオに2つまったく同じレコードが表示されている理由を説明します。これは、テスト中に誤って二回送信してしまったためです。この問題は無視してください~

クエリ

データのクエリは比較的単純な操作ですが、クエリを行う際には時間範囲を明確に記述する必要があります。なぜなら、私のタスクは基本的に時間範囲に基づいてクエリされるからです。現在、システムは完全なあいまい検索のみをサポートしており、つまりLIKEと%を使用したテキストマッチングです。システムが実行するSQLログを確認したところ、ビデオで示されているクエリ操作では、基本的にMySQLのようなリレーショナルデータベースが使用されています。

SELECT * FROM to_do WHERE deadline = '2024-02-03 10:00:00' AND msg LIKE '%py%'

削除

このステップは非常に危険です。使用中に決して軽々に削除することはできません。なぜなら、一言間違えるだけでデータが直接失われてしまうからです。したがって、私はユーザーが削除操作を軽々に使用することを強くお勧めしません。代わりに、削除フラグフィールドを変更する方法を採用する方が安全です。クエリ中に削除フラグの値を簡単に言及すれば、より安全です。

デモンストレーションを行いましょう。疑う余地なく、彼はMySQLタイプのデータベースになっています。したがって、底層の削除文は確かにdeleteを使用しています。SQL文を取り出しました。

delete from to_do

データベースの提案

  • 私の使用体験によると、デバッグ時に手動操作の記録がないことに気づきました。したがって、削除操作の権限を開放することを検討するべきだと思います。
  • データを挿入する際、デフォルト値の使用を検討するべきだと思います。ユーザーが本当に削除フラグを指定したくない場合、データベースを編集時にデフォルト値を提供できます。こうすれば、ユーザーは毎回データを挿入する際に手動で削除フラグを指定する必要がなくなり、操作の利便性が向上します。
  • 底層ではMySQLのようなリレーショナルデータベースが使用されていますが、中国語のマッチングの過程でいくつかの問題があります。一文字でも少なすぎると、正しくクエリ結果を得られない可能性があります。この問題を解決するために、Elasticsearchのようなデータベースの使用を検討するべきだと思います。これは専用のトークナイザーを持ち、中国語テキストの処理により適しています。Elasticsearchを使用することで、中国語のマッチング過程でより正確な結果を得られ、システムの検索効果が向上します。
  • 私たちが使用しているのはMySQLタイプのデータベースですが、大量のデータに対しては驚くことにインデックスの作成をサポートしていません。

ワークフロー

まず、私はワークフロー这方面的经验に触れたことがないことを明言します。したがって、私は目標を達成するまでできるだけ初心者の視点から皆さんにワークフローを柔軟に使用する方法を紹介します。

次に、文句を言いたいのですが、ワークフローを編集する際に特にスクロールバーが絶えず点滅し、時には正確にクリックできないという困難に遭遇しました。ノードが多くなるほど、ページを絶えず移動する必要があり、直接ビューを移動するサムネイル機能もなく、絶えずスクロールバーをドラッグするだけです。

最後に、まず私の簡単な図を皆さんと共有し、全体のプロセスに対する簡単な理解を提供し、混乱を避けましょう。

面接問題集

実際、私は良い切り口を見つけることができませんでした。したがって、私のワークフローがテーマから外れていると感じる場合は、我慢してください。しかし、良いアイデアや提案があれば、コメント欄で教えてください。対応する設定を行い、私のアシスタントをより完璧にします。

余談はさておき、ワークフローを実際の状況にどのように応用するかを簡単に紹介します。面接問題は通常、時効性を持っていることを考慮すると、大規模モデルが使用するトレーニングデータが最新でない場合、ユーザーに古い面接問題を提供し、時間の無駄になる可能性があります。したがって、私はワークフローを使用して2つの解決策を提供しています:一つは私の問題集を利用する方法、もう一つはwebで面接問題をリアルタイム検索する方法です。以下は私のワークフローの詳細です:

ワークフローノード

ノードタイプには、大規模モデル、プラグイン、セレクター、コード、知識ベースなどがあります。これらのノードはワークフロー内で異なる役割を果たし、多様で完全なシステムを構築します。

ワークフローを作成する際、ノードタイプの選択は特定のタスクの要件によって異なります。各ノードには独自の機能と役割があります。重要なのは、各ノードの入力値と出力値に注意することです。これにより、ワークフローの正しい実行が保証されます。ワークフローの作成過程で、デフォルトで開始ノードと終了ノードが生成されます。これらの2つのノードの特殊性は、入力機能しか持たないことです。後でプロンプトで設定するため、ワークフローの名前は主に英語とアンダースコアにすることをお勧めします。ワークフローの説明はできるだけ詳細に記述し、説明内容が不十分でもワークフローの実行に大きな影響はないと考えます。

ワークフローの入出力

ワークフロー内で各ノードには2種類の入力があります。一つは参照で、他のノードの入力または出力をkey-パラメータ名で参照できます。もう一つはパラメータ値で、直接入力したい内容の値を指定できます。

実際、プログラミングについて一定の理解がある場合、判断値の生成プロセスをAIに任せることもできます。ここで注意すべき点は、key-valueを含むオブジェクトを生成する必要があることです。なぜなら、下流のノードは生成された値を参照する必要があるからです。

プログラミングにあまり詳しくない場合、大規模モデルノードを使用して代わり、大規模モデルに直接判断させ、指定されたkeyに固定の形式で結果を出力させることもできます。これにより、操作プロセスが簡素化され、プログラミングへの依存が減ります。以下にデモンストレーションします。

ここでは、よく使用されるプラグインの使用方法を紹介します。初心者の場合、プラグインの入出力について誤解がある可能性があるため、より詳細な説明が必要です。

初期段階では、操作について何も知らない場合は、まず実行してみて、結果の出力を観察します。そして、これらの出力結果に基づき、関連するkey参照を次のノードの入力として渡します。各感嘆符はパラメータの詳細な説明を表しており、この方法は比較的人間的で、初心者がより良く理解し応用するのに役立ちます。

ワークフローを使用する際、使用しないノードは必ず削除してください。そうしないと、ノードのエラーが発生し、ワークフローが正常に実行できなくなります。すべてのノードは相互に接続されており、必須の入力値には有効な値または値のソースがある必要があります。これにより、ワークフローの円滑な実行が保証されます。

ワークフローを初めて使用する場合は、まず全体のプロセスが正常に実行できることを確認し、その後ノードを徐々に追加することをお勧めします。ワークフローが完成したら、公開し実際に使用してください。また、プロンプト情報でワークフローを正しく使用する方法を明確に記述してください。以下は参考のための例です:

1:ユーザーがPythonの面接問題を質問した場合、view_assistワークフローを呼び出して処理します。

この場合、ノードの数が増えるにつれて、実際に消費されるトークンは相当な量になることに気づくでしょう。これも将来の最適化の余地を残しています。

求人情報

作業を完了する際、単一のワークフローに限定する必要はありません。複数のワークフローを追加できます。プロンプトを適切に設定して呼び出し時期を決定するだけです。例えば、面接準備のほか、現在の業界の状況を理解するための求人情報をクエリするワークフローを追加できます。

詳細な説明が既にあるため、直接図を送ります。

最後のステップも同じで、ワークフローを追加した後、プロンプトを少し変更するだけです。

2:ユーザーがPythonの求人情報を質問した場合、jobワークフローを呼び出して処理します。

リンクをクリックすると、リクルートサイトにスムーズに移動し、詳細を確認できます。唯一の欠点は、大規模モデルが常にいくつかの認識問題があることです。そのため、一部のパラメータを正しく識別できません。ChatGPTではこの問題はありません。今後の最適化または他の大規模モデルへの切り替えを期待します。

ソーシャルプラットフォームへの公開

最も重要な問題は、私たちのボットアシスタントを他人にどのように使用してもらうかということです。ボットの開発とテストが完了したら、異なるソーシャルプラットフォーム、如微信公众号、飞书などに公開できます。カスタマーサービスとして使用し、ユーザーにリアルタイムのヘルプと解答を提供できます。もちろん、公開する場合はサービスアカウントである必要があり、個人アカウントではこの機能を実現できません。

当初使用を開始した時、豆包プラットフォームの選択肢がなかったため、私は飞书に公開するしかありませんでした。最近、豆包が認証の更新を行い、デフォルトで使用可能に設定されたため、この更新をいかに活用するかを皆さんと共有したいと思います。

公開時に適切なプラットフォームを選択することが非常に重要です。公開記述を面倒くさがって書きたくない場合は、AIに生成してもらうこともできます。ワンクリック公開で、簡単にタスクを完了できます。

次に、豆包プラットフォームにログインします。私たちのインテリジェントエージェントはこのプラットフォーム上では非表示になっており、他の仲間たちがその存在に気づくことはできません。次にどうするか。

審査が完了するのを待つことで、他の人々が私たちのインテリジェントエージェントを簡単に発見し、それと対話できるようになります。

効果は以下の通りです:

商業化についての簡単な考察

  • カスタマーサービスの提供面では、この例は非常に典型的だと考えています。なぜなら、人的介入なしに実現でき、公众号のバックエンドとシームレスに接続できるからです。わずか数ステップで24時間カスタマーサービスシステムを構築できます。例えば、私のJava転換アシスタントのように、必ずしもPythonを使用する必要はありません。異なるニーズに応じて、技術、運用、管理など様々な技術方向を選択できます。しかし、一人のカスタマーサービスを雇用する場合、彼らがJava技術を理解していない場合や転換方向を理解していない場合、コミュニケーションは非常に困難になります。このようなカスタマーサービスシステムがあると、コミュニケーションの隔たりを効果的に縮小できると考えています。
  • ボット内での広告宣伝は良い方法であり、ユーザーにプログラミング関連の製品やサービスを展示できます。これは実際にはエコシステム構築の一部であり、必ずしも自社の製品のみを宣伝する必要はありません。もしあなたのボットが非常に人気がある場合、プロンプト内で他の広告を展示し、直接関連リンクを送信することも完全に可能です。しかし、この部分はプラットフォームの審査を受けますので、広告内容は慎重に選択し、すべての広告を受け入れるべきではありません。その中で最も典型的な例は、様々な資格取得試験です。例えば、サイバーセキュリティ、PMPなどの方向です。ボットはアシスタントであり、資格取得チャネルを提供しませんが、ユーザーの質問から資格取得への関心を検出した場合、関連情報を紹介し、コミッションを得ることは完全に可能です。
  • パーソナライズドソリューションの提供:キーポイントは知識ベースとワークフローを十分に活用することです。簡単な社内引き継ぎの例を挙げてみましょう。もしどの開発者も様々なドキュメントを丁寧に維持している場合、これらのドキュメントをインテリジェントアシスタントに入力するだけで、後続の問題に簡単に対処できます。このように、後から来た人はインテリジェントアシスタントに質問するだけで解答を得ることができます。比較すると、退職した従業員があなたの問題を丁寧に解決してくれるでしょうか?したがって、インテリジェントアシスタントに問い合わせる方がより効率的です。会社が属する業界の問題についてもう少し話しましょう。各会社は異なるサービスを提供しており、業務関連の担当者が顧客問題のドキュメントを統一して維持する必要があります。丁寧に単一のボットモジュールアシスタントを維持することも解決策の一つではありませんか?

タグ: AIエージェント Java Python LangChain Coze

8月3日 00:09 投稿