メインコンテンツへスキップ
見出し画像

Open Manus動かしてみた

    こちらの記事を参考に私も動かしてみました。

    OSはWin11でWSLにインストールしました。

    curl -LsSf https://astral.sh/uv/install.sh | sh
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
    git clone https://github.com/mannaandpoem/OpenManus.git
    cd OpenManus/
    python3 -m venv venv
    source ./venv/bin/activate
    python3 -m pip install -r requirements.txt
    cd config
    cp config.example.toml config.toml
    vi config.toml

    とviでconfig.tomlを編集

    # Global LLM configuration
    #[llm]
    #model = "claude-3-7-sonnet-20250219"        # The LLM model to use
    #base_url = "https://api.anthropic.com/v1/"  # API endpoint URL
    #api_key = "YOUR_API_KEY"                    # Your API key
    #max_tokens = 8192                           # Maximum number of tokens in the response
    #temperature = 0.0                           # Controls randomness
    
     [llm] #AZURE OPENAI:
     api_type= 'openai'
     model = "gpt-4o-mini"
     base_url = "https://api.openai.com/v1"
     api_key = "ここにAPIキーを入れる"
     max_tokens = 8096
     temperature = 0.0
     api_version="2024-08-01-preview"
    
    # [llm] #OLLAMA:
    # api_type = 'ollama'
    # model = "llama3.2"
    # base_url = "http://localhost:11434/v1"
    # api_key = "ollama"
    # max_tokens = 4096
    # temperature = 0.0
    
    # Optional configuration for specific LLM models
    [llm.vision]
    model = "gpt-4o"        # The vision model to use
    base_url = "https://api.openai.com/v1"  # API endpoint URL for vision model
    api_key = "ここにAPIキーを入れる" # Your API key for vision model
    max_tokens = 8192                           # Maximum number of tokens in the response
    temperature = 0.0                           # Controls randomness for vision model
    
    # [llm.vision] #OLLAMA VISION:
    # api_type = 'ollama'
    # model = "llama3.2-vision"
    # base_url = "http://localhost:11434/v1"
    # api_key = "ollama"
    # max_tokens = 4096
    # temperature = 0.0
    
    # Optional configuration for specific browser configuration
    # [browser]
    # Whether to run browser in headless mode (default: false)
    #headless = false
    # Disable browser security features (default: true)
    #disable_security = true
    # Extra arguments to pass to the browser
    #extra_chromium_args = []
    # Path to a Chrome instance to use to connect to your normal browser
    # e.g. '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
    #chrome_instance_path = ""
    # Connect to a browser instance via WebSocket
    #wss_url = ""
    # Connect to a browser instance via CDP
    #cdp_url = ""
    
    # Optional configuration, Proxy settings for the browser
    # [browser.proxy]
    # server = "http://proxy-server:port"
    # username = "proxy-username"
    # password = "proxy-password"
    
    # Optional configuration, Search settings.
    # [search]
    # Search engine for agent to use. Default is "Google", can be set to "Baidu" or "DuckDuckGo".
    #engine = "Google"
    
    ## Sandbox configuration
    #[sandbox]
    #use_sandbox = false
    #image = "python:3.12-slim"
    #work_dir = "/workspace"
    #memory_limit = "1g"  # 512m
    #cpu_limit = 2.0
    #timeout = 300
    #network_enabled = true

    保存して

    cd ..
    python3 main.py

    すると

    Enter your prompt:

    となりました。
    以下の記事を参考に

    SEO改善案を作って

    と入れてみると何か動き出しました。

    画像

    何やってるのかChatGPTに聞いたら

    これは、AIエージェントが「SEO改善案を作って」というリクエストに対して、追加の情報(URLやページタイトル、改善したいSEOの分野など)を求めているログだよ。
    でもユーザーが何も情報を渡さないままなので、AIエージェントは同じ質問を繰り返して「行き詰まった(stuck)状態」に陥っちゃってるんだ。

    ログの中には、AIエージェントが「サイトのURLやタイトル、注力したいSEO項目を教えて」と何度も聞いているのに、具体的なデータが返ってこないから「同じことを繰り返している=stuck状態」として警告が出てるの。

    ざっくりまとめるとAIエージェントがSEO分析をするために、対象サイトの情報を要求
    ユーザー側がURLやページタイトルなどを未入力
    必要な情報が得られないので、AIは何度も同じ内容を繰り返す
    「stuck state」として検知され、同じ質問を繰り返している


    対処法エージェントが求める 「URL・ページタイトル・改善したいポイント」 を具体的に入力してあげると、先に進んでSEO改善案を出してくれるはずだよ。
    もし仮の情報でもいいから入力してみると、どういった流れで分析を進めてくれるのかがわかるよ。


    要するに、このログは「AIがSEO改善案を出そうとしているけど、ユーザーの追加情報が足りないために同じ質問を繰り返している」状態を示しているんだ。

    なるほど。

    広島から東京まで10万円で行く旅行プラン立てて

    と入れてみると

    画像

    と出たので「playwright install」を実行

    もう一度同じのを入力するとJTBのサイトを開いて新幹線やホテルを検索しだした。

    ChatGPTにログを渡して「何やってるの?」と聞いてみた。

    これは、旅行プランを作成するためにAIエージェント(Manus)が動作している際の詳細なログだよ。簡単に説明すると、以下の流れになっている感じ:ユーザーの入力
    「広島から東京まで10万円で行く旅行プランを立てて」というプロンプトを入力している。
    最初の検索
    AIエージェントがまず、ブラウザツール(browser_use)を使って「広島から東京までの旅行プラン 10万円」というキーワードでWeb検索を実施し、最初の結果としてJTBなどの旅行関連サイトを見つけた。
    コンテンツの抽出
    検索結果から詳細な情報を取得しようとしたが、抽出結果が空({})になっている部分も見受けられる。
    ページのスクロール操作
    ページの内容をより深く取得するために、scroll_downアクションで画面を300ピクセルずつ下にスクロールしている。これは、長いページの場合に全体を読み込むための操作だよ。
    トークン使用量の記録
    各ステップで入力と出力のトークン数が記録されていて、どのくらいのデータ量をやりとりしているかがログに表示されている。


    全体として、AIエージェントがユーザーのリクエストに基づいて、Web検索やコンテンツ抽出、スクロールといったツール操作を順次実行して旅行プランの情報を収集しようとしている過程が記録されているんだ。もし最終的な旅行プランの回答が出ない場合は、抽出した情報がうまく取得できなかった可能性もあるので、もう少し詳しい情報入力やツールの設定を確認する必要があるかもしれないね。

    何か他にも不明な点があれば、どんどん聞いてね!


     
     
    猫好きプログラマ。半導体会社の技術者 Q&AサイトのQuoraでフォロワー数6000人の「ChatGPT情報交換所」を主宰する程生成AI好き ポートフォリオ https://hantani-portfolio.pages.dev/

    あなたへのおすすめ