最近では、AIエージェントはまだ発達段階にあり、業界のほとんどは、彼らが何であるか、現実的に何ができるか、あるいはそれらがもう一つのマーケティングのバズボードかどうかを完全に確信していませんでした。 ほぼすべての他のエンジニアは、何らかの形でエージェントAIの構築、実験、または少なくとも話しているように見えます。 最初に「AIエージェント」という言葉を聞き始めたとき、それは誰もが指摘した概念の1つのように感じたが、明確に説明できる人はほとんどいなかったが、それは本当の転換か、市場でのもう一つのバズボードかどうかは確かではなかったが、時間が経つにつれて、もっと探求するほど、これはすべてのデータエンジニアが学び、理解すべきものだということに気づいた。 私の学習段階で気付いたことの一つは、このトピックに関する既存のブログや説明の多くは、理論的基盤や実践的なフレームワークやツールに焦点を当てているということです。 エージェントAIは、最初に存在し、実際に使用する意味があるときに存在します。 なぜ この記事では、これらの基本的な質問に、ターゲットの観客のために答えようとします。 しかし . already have a tech background haven’t worked with AI agents yet 最後まで、あなたは: エージェントAIが実際に意味することを理解する コアコンセプトと用語を学ぶ 地元で実行できる単純な「Hello World」プロジェクトを構築します。 エージェントAIとは? アン それは、AIシステムのようなものであり、単に , but can also で、 そして、 AI agent 質問回答 take actions make decisions work toward a goal. 普通のことを考える 誰かが尋ねるように: AI chatbot 近くのベストレストランは? 近くのベストレストランは? そして、彼は提案で答える。 しかし、A 本物のアシスタントのように、単なる提案以外の多くのことを行うことができます。 AI agent レストランを見る 評価チェック テーブル一覧 あなたのカレンダーに追加する 思い出のセット ただ、情報を提供する代わりに、 . acts on your behalf それについて考えるシンプルな方法は、次の類似点で考えるべきです。 LLM = 脳 エージェント = 脳 + 記憶 + ツール + 意思決定 LLM = Brain Agent = Brain + Memory + Tools + Decision Loop LLMが質問に答えると、 . agent gets things done なぜ、エージェントが必要なのか。 なぜなら、実際の問題は単発的なプロンプトではないので、前回のセクションで見た例に続いて、これらのAIエージェントが通常のAIシステムでどのように異なっているか、それらがどのような特定のニーズやギャップを満たしているかを明確にするためのもう一つの例があります。 例えば、今日の天候がどう見えるかを知る必要があり、それに基づいて走るかどうかを決めましょう。 これは必要だろう: FETCHING DATA についての推論 決断をすること 生成アクション この場合、エージェントは役立ちます: どのツールを呼ぶかを決める 中間ステップの対応 RETRY If Something Fails (何か失敗したら) タスクが完了したときの停止 コア・エージェント・AIコンセプト 次に、Agentic AIの世界に潜り込んで、より高度な概念の学習を簡素化するために役立ついくつかの基本的な語彙を構築しよう。 1.エージェント アン AIは、以下のようなシステムです。 agent 目標がある 行動ができる ステップやアクションアイテムを理由にすることができます。 ツールを使用できる それをAとして考える チャットボットではない。 long-running task executor 2.目標 / 目標 こちらはThe エージェントのために ノーススター 例 : 「ドキュメントをまとめる」 「内部ドキュメントを使用して顧客の質問に答える」 「Monitor logs and alert on anomalies」 エージェントは答えるだけではなく、彼らは . work towards a goal 3.ツール ツールは エージェントが呼ぶことができます。 external capabilities 例 : API(天気、支払い、検索) データベース ファイルシステム Python/JS で書く関数 エージェント決定 そして 使うために。 いつ どう 4.記憶 エージェントはしばしば、一つのプロンプトを超える文脈を必要とします。 メモリは: 短期(会話の歴史) 長期(ストレージされた事実、埋め込み、ベクトルDB) 基本的なエージェントの場合、短期記憶は十分です。 5. Planning / Reasoning Loop(プランニング・ループ) これが代理行動の核心です。 典型的なループ: 現在の状態を観察 次のステップを考える アクションを選択 アクションを実行する 結果観察 繰り返すか止めるか よく見るとこの呼び名が または . ReAct Plan-Act-Observe マルチエージェントシステム A 設置場所は それぞれ独自の役割と責任を持って、チームとして協力して問題を解決する。 multi-agent system multiple AI agents work together 環境 エージェントが動作する環境は、例えば: ブラウザ ファイルシステム カレンダー ビジネスツール APP エージェントフレームワーク これらは、エージェントを構築するために使用されるツールです。最も一般的に使用されるフレームワークのいくつかは、以下の通りです。 ラングチェーン 自動車 クルー ラマインデックス 手を汚す時間・・・ 十分な理論で、あなたがまだ持っているかもしれない疑問を明らかにするのに役立つ基本的なAIエージェントを構築しよう。 われわれはAを構築する これ: Task Agent ユーザーからタスクを受け取る 道具が必要かどうかを決める ツールを使う 最終回答を返します。 このエージェントは何をしますか タスク例: 「今日は何時ですか?コーヒーを飲むべきですか?」 「今日は何時ですか?コーヒーを飲むべきですか?」 エージェントは: Decide It Needs The Current Time (現在の時間が必要) タイムツール Call a Time Tool コーヒーの理由 返事 ステップ1:基本設定 Python と OpenAI 対応の API を使用します。 ターミナルまたはコマンド プロンプトで次のコマンドを実行します。 pip install openai ステップ2:ツールの定義 私たちは、単一のファイルで単純なPython関数としてツールを定義します、例えばagent_hello_world.py. 実際のプロジェクトの場合、あなたはおそらくツールを別々のモジュールに整理しますが、すべてを一緒に保つことは、エージェントループがどのように機能するかを見やすくします。 from datetime import datetime def get_current_time(): return datetime.now().strftime("%H:%M") STEP 3: Agent Prompt を設定する これが、エージェントの行動である。 これを前のステップで作成したPythonファイルに追加します。 設計 SYSTEM_PROMPT = """ You are a simple AI agent. You can: - Think step by step - Decide when to call tools - Use the tool: get_current_time When the task is complete, respond with a final answer. """ ステップ4: Agent Reasoning Loop 次に、我々のコードに論理論理を追加します。 以下のスナップットは、ユーザーのタスクとシステムプロンプトを ChatCompletion API 経由で GPT-4 に送信することから始まります。 エージェントがヘルパー関数を呼び出し、現在の時間を取得します。 ツールリクエストとツール結果をメッセージの履歴に戻し、会話を継続します。 USE_TOOL:get_current_time import os import openai from openai import openai.api_key = "YOUR_API_KEY" def run_agent(task): messages = [ {"role": "system", "content": SYSTEM_PROMPT}, {"role": "user", "content": task} ] while True: response = openai.ChatCompletion.create( model="gpt-4", messages=messages ) reply = response["choices"][0]["message"]["content"] if "USE_TOOL:get_current_time" in reply: time = get_current_time() messages.append({"role": "assistant", "content": reply}) messages.append({"role": "tool", "content": time}) else: return reply ステップ5:テスト 最後に、あなたのスクリプトにコードの下の行を追加し、それをテストするために実行します。 task = "What time is it right now, and should I grab a coffee?" result = run_agent(task) print(result) おめでとうございます! あなたはちょうどAを作りました。 . basic agent ファンタジーではなく、本物の自分。 私たちは、以下と共に、基本的なローカルAIエージェントを実装しました。 ターゲット指向行動 ツール使用 論理のループ 国家意思決定 こちらはThe 外に core of every agent framework LangChain、AutoGen、CrewAI - all of them abstract . この正確なパターン 最終思考 私にとって、エージェントAIは一朝一夕の革命ではありませんが、それは何年も私たちが進んでいた同じ方向でゆっくりと安定した転換のようなもので、それはシステムを自動化し、よりインテリジェントにすることです。 「今はLLMでやることができる。 thinking 私は、エージェントは、彼らを別のエンジニアリングコンポーネントとして扱うと、未来的なSFコンセプトのように扱うと、より多くの意味を持っていることを発見しました。 たまに、最もシンプルなワークフローは、まだ最高のものです。 not every problem needs an agent