「IT」カテゴリーアーカイブ

無料でGPUとLLMをVS Codeから使えるサービス

私はLLMを使って開発を行いたいが、自前のGPUを持っていないため、外部のサービスを探すことにした。

サービスに対する要件

サービスに求める要件を優先度の高い順に挙げた。

  1. 無料
  2. 高性能なLLMを動かせる
    • VRAM容量が大きい
  3. VS Codeと連携できる
  4. vLLMが使える
  5. サービスが利用できなくなった場合に別のサービスに移行しやすい

サービスの一覧

サービス名GPUとVRAMの性能vLLMの使用可否
Google Colab15GB VRAM可能
Kaggle Notebooks16GB VRAM
Paperspace Gradient16GB VRAM
Saturn Cloud Free Tier16GB VRAM
Hugging Face SpacesGPUは有料

VRAMが16GBだと8B程度のパラメーター数のLLMでも不十分

LLMのAPI を提供するサービス

利用可能なモデル備考
OpenRouterFree Models
Kimi K2
qwen3
deepseek-r1, v3
glm-4.5
Gemini 2.0 Flash
Gemma 3
Throughput が50tps以上のモデルを推奨
Google AI Studioモデル一覧と利用上限
Gemini 2.5, 2.0
Gemma 3
利用状況
Groqモデル一覧と利用上限
Kimi K2
gpt-oss-120b
Cerebrasモデル一覧と利用上限
Qwen 3 235B Instruct
Z.ai GLM 4.6

Benchmarking Agentic Workflow Generation (WorFBench) モデルの解析

WorFBenchの解析

gold trajectory の構造

以下は、gold_traj/ ディレクトリ内に収められているデータセットの構造の概要。LLaMA-Factoryを参照する。toolbenchのみcategoryのキーがない。

  • “source”
  • “conversations”
    • “role”: “system”
    • “content”
    • “role”: “user”
    • “content”
    • “role”: “assistant”
    • “content”
  • “target”
  • “id”
  • “category”

“role”: “system”はシステムプロンプトを意味し、すべてのデータセットが同じ値を持つ。

alfworld

        "source": "alfworld",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and actions list you can take to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can take actions to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies, please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "You are in the middle of a room. Looking quickly around you, you see a armchair 1, a diningtable 1, a drawer 4, a drawer 3, a drawer 2, a drawer 1, a garbagecan 1, a shelf 1, a sidetable 3, a sidetable 2, a sidetable 1, and a sofa 1.\n\nYour task is to: find two newspaper and put them in armchair.The action list you can take: 1. go to {recep}\n2. task {obj} from {recep}\n3. put {obj} in/on {recep}\n4. open {recep}\n5. close {recep}\n6. toggle {obj} {recep}\n7. clean {obj} with {recep}\n8. heat {obj} with {recep}\n9. cool {obj} with {recep}\nwhere {obj} and {recep} correspond to objects and receptacles."
            },
            {
                "role": "assistant",
                "content": "Node:\n1: go to locations where newspapers may be placed\n2: take newspaper from location\n3: go to armchair\n4: put newspaper in/on armchair\n5: repeat process for second newspaper.\nEdge: (START,1) (1,2) (2,3) (3,4) (4,5) (5,END)"
            }
        ],
        "target": "graph",
        "id": "alfworld_196",
        "category": "eval"

intercodesql

        "source": "intercodesql",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and tools list you can use to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can use the tools to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies. Please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "Task: What is the average GNP and total population in all nations whose government is US territory?\nThe database tables and corresponding fields you can operate are: {'city': ['ID', 'Name', 'CountryCode', 'District', 'Population'], 'sqlite_sequence': ['name', 'seq'], 'country': ['Code', 'Name', 'Continent', 'Region', 'SurfaceArea', 'IndepYear', 'Population', 'LifeExpectancy', 'GNP', 'GNPOld', 'LocalName', 'GovernmentForm', 'HeadOfState', 'Capital', 'Code2'], 'countrylanguage': ['CountryCode', 'Language', 'IsOfficial', 'Percentage']}\n"
            },
            {
                "role": "assistant",
                "content": "Node:\n1: Filter records where GovernmentForm is \"US Territory\" in the country table\n2: Calculate the average GNP and sum of the population for these filtered records\nEdge: (START,1) (1,2) (2,END)"
            }
        ],
        "target": "graph",
        "id": "intercodesql_1",
        "category": "eval"

lumos

        "source": "lumos",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and tools list you can use to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can use the tools to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies. Please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "Task: What region/continent is likely to appear here? There're some choices: A. australia, B. arctic, C. africa, D. asia. The image shows the following contents: The image features a group of three polar bears standing on a rocky beach near the water. They appear to be walking and exploring the area. In the background, there is a boat visible, possibly a tourist boat or a fishing vessel.  There are several people in the scene, some of them standing near the boat, while others are scattered around the area. They seem to be observing the polar bears from a safe distance, possibly enjoying the sight of these magnificent creatures in their natural habitat.\nThe api list you can use: {'VQA(image_context, query)': 'Given image context, answer the given query', 'QA(context, query)': 'Given context, answer the given query.'}"
            },
            {
                "role": "assistant",
                "content": "Node:\n1: Identify the animals in the image.\n2: Answer which region/continent polar bears are native to.\n3: Select the choice from the four answer choices.\nEdge: (START,1) (1,2) (2,3) (3,END)"
            }
        ],
        "target": "graph",
        "id": "lumos_40163",
        "category": "eval"

os

        "source": "os",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and actions list you can take to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can take actions to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies, please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "Now, I will start a new problem in a new OS. My problem is:\n\nLocate in your home directory all the text files (.txt) that contain the string \"Linux\", then count the total number of occurrences for the string across all these files.The action list you can take: bash: execute some bash code, take bash action\nfinish: have finished the task, take finish action\nanswer: have got the answer to the question, take answer action"
            },
            {
                "role": "assistant",
                "content": "Node:\n1: execute bash code to find all .txt files containing \"Linux\" in the home directory\n2: execute bash code to count occurrences of \"Linux\" in the first file\n3: execute bash code to count occurrences of \"Linux\" in the second file\n4: execute bash code to count occurrences of \"Linux\" in the third file\n5: execute bash code to count occurrences of \"Linux\" in the fourth file\n6: take answer action\nEdge: (START,1) (1,2) (2,3) (3,4) (4,5) (5,6) (6,END)"
            }
        ],
        "target": "graph",
        "id": "os_92",
        "category": "eval"

seal_tools

        "source": "seal_tools",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and tools list you can use to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can use the tools to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies. Please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "Now it's your turn.\nTask: Please perform the following tasks to ensure the security of our endpoint. First, move the mouse cursor to the specified position with X-coordinate 41 and Y-coordinate 35. Next, scan the endpoint with the IP address '192.168.95.226' for potential security threats. Finally, encrypt the sensitive data 'Social Security Numbers' using the AES cryptographic algorithm and the encryption key 'qwerty123'.\"\nOutput:\n\nThe tool list you can select from: [{'api_name': 'encryptData', 'api_description': 'Encrypt sensitive data using a cryptographic algorithm', 'field': 'Technology/Cybersecurity', 'parameters': {'data': {'type': 'str', 'description': 'The sensitive data to be encrypted'}, 'encryption_algorithm': {'type': 'str', 'description': 'The cryptographic algorithm to be used for encryption (e.g., AES, RSA)'}, 'encryption_key': {'type': 'str', 'description': 'The encryption key required for encryption'}}, 'required': ['data', 'encryption_algorithm', 'encryption_key'], 'responses': {'encrypted_data': {'type': 'str', 'description': 'The encrypted data'}}}, {'api_name': 'encryptText', 'api_description': 'Encrypt a given text using a specified encryption algorithm', 'field': 'Engineering/Computer engineering', 'parameters': {'text': {'type': 'str', 'description': \"The text to encrypt (e.g., 'hello world')\"}, 'algorithm': {'type': 'str', 'description': \"The encryption algorithm to use (e.g., 'AES', 'DES', 'RSA')\"}}, 'required': ['text', 'algorithm'], 'responses': {'encrypted_text': {'type': 'str', 'description': 'The encrypted text'}}}, {'api_name': 'decryptResource', 'api_description': 'Decrypt an encrypted digital resource or document in a library', 'field': 'Library Science/Library Digital Security', 'parameters': {'encrypted_resource_url': {'type': 'str', 'description': 'The URL or path to the encrypted digital resource'}, 'decryption_key': {'type': 'str', 'description': 'The decryption key for accessing the resource'}}, 'required': ['encrypted_resource_url', 'decryption_key'], 'responses': {'decrypted_resource_url': {'type': 'str', 'description': 'The URL or path to the decrypted digital resource'}}}, {'api_name': 'moveMouseTo', 'api_description': 'Move mouse cursor to specified position', 'field': 'Software/Human-computer interaction', 'parameters': {'x': {'type': 'int', 'description': 'The X-coordinate to move the mouse cursor to'}, 'y': {'type': 'int', 'description': 'The Y-coordinate to move the mouse cursor to'}}, 'required': ['x', 'y'], 'responses': {'success': {'type': 'bool', 'description': 'Indicates whether the mouse cursor was successfully moved'}}}, {'api_name': 'scanEndpoint', 'api_description': 'Scan a specific endpoint for potential security threats', 'field': 'Cybersecurity/Endpoint Security', 'parameters': {'endpoint': {'type': 'str', 'description': 'The IP address or hostname of the endpoint to scan'}}, 'required': ['endpoint'], 'responses': {'scan_result': {'type': 'str', 'description': 'The result of the scan indicating potential security threats'}}}]\n"
            },
            {
                "role": "assistant",
                "content": "Node:\n1: Move mouse cursor to position X=41, Y=35\n2: Scan the endpoint with IP '192.168.95.226' for security threats\n3: Encrypt 'Social Security Numbers' using AES algorithm with key 'qwerty123'\nEdge: (START,1) (1,2) (2,3) (3,END)"
            }
        ],
        "target": "graph",
        "id": "seal_tools_1",
        "category": "eval"

toolalpaca

        "source": "toolalpaca",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and tools list you can use to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can use the tools to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies. Please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "Task: I want to compare the performance of Coca-Cola and PepsiCo stocks. Can you get me the real-time market data for both of them? Also, I'd like to see their historical market data for the past year, with monthly intervals.\nThe api list you can use: [{'name': 'getRealTimeMarketData', 'description': 'Retrieve real-time market data for multiple exchanges around the world.', 'parameters': {'symbols': 'Required. string. Comma-separated list of stock symbols or indices.', 'exchange': 'string. The stock exchange to retrieve data from.', 'limit': 'integer. The number of results to return per request.'}, 'output': 'An array of objects containing real-time market data for the specified symbols.', 'format': 'application/json', 'path': '/realtime', 'method': 'get'}, {'name': 'getHistoricalMarketData', 'description': 'Retrieve historical market data for a set of specific stocks or indices.', 'parameters': {'symbols': 'Required. string. Comma-separated list of stock symbols or indices.', 'date_from': 'Required. string. The start date for the historical data in YYYY-MM-DD format.', 'date_to': 'Required. string. The end date for the historical data in YYYY-MM-DD format.', 'interval': \"string. The time interval for the historical data (e.g., '1min', '1hour', '1day').\"}, 'output': 'An array of objects containing historical market data for the specified symbols and date range.', 'format': 'application/json', 'path': '/historical', 'method': 'get'}, {'name': 'getTechnicalIndicators', 'description': 'Retrieve a variety of technical indicators to help analyze market trends.', 'parameters': {'symbol': 'Required. string. The stock symbol or index to analyze.', 'indicators': \"Required. string. Comma-separated list of technical indicators to retrieve (e.g., 'SMA', 'EMA', 'RSI').\", 'interval': \"string. The time interval for the technical indicators (e.g., '1min', '1hour', '1day').\"}, 'output': 'An array of objects containing the specified technical indicators for the given symbol and time interval.', 'format': 'application/json', 'path': '/indicators', 'method': 'get'}, {'name': 'searchStockSymbols', 'description': 'Search for stock symbols based on a given query.', 'parameters': {'query': 'Required. string. The search query to find matching stock symbols.', 'exchange': 'string. The stock exchange to search within.', 'limit': 'integer. The number of results to return per request.'}, 'output': 'An array of objects containing matching stock symbols.', 'format': 'application/json', 'path': '/search', 'method': 'get'}, {'name': 'listExchanges', 'description': 'Retrieve a list of supported stock exchanges.', 'parameters': {'limit': 'integer. The number of results to return per request.'}, 'output': 'An array of objects containing information about supported stock exchanges.', 'format': 'application/json', 'path': '/exchanges', 'method': 'get'}]"
            },
            {
                "role": "assistant",
                "content": "Node:\n1: Retrieve the real-time market data and historical market data with monthly intervals for the past year for Coca-Cola and PepsiCo stocks from the NYSE.\n2: Retrieve the historical market data for Coca-Cola and PepsiCo stocks for the past year, using monthly intervals, to compare their performance over time.\nEdge: (START,1) (1,2) (2,END)"
            }
        ],
        "target": "graph",
        "id": "toolalpaca_314",
        "category": "eval"

toolbench

        "source": "toolbench",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and tools list you can use to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can use the tools to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies. Please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "Task: Check if the domain 'example.com' is available for creating branded short links. If available, create a new short link with the destination URL 'https://example.com'.\napi_list:[{'name': 'create_a_new_link_for_url_link_shortener', 'description': 'This is the subfunction for tool \"url_link_shortener\", you can use this tool.The description of this function is: \"create_a_new_link_for_url_link_shortener\"', 'parameters': {'type': 'object', 'properties': {'destination': {'type': 'string', 'description': 'The destination URL you want your branded short link to point to', 'example_value': 'https://rapidapi.com/'}, 'domain_id': {'type': 'string', 'description': 'The unique id of the branded domain. If not specified, rebrand.ly is used'}, 'slashtag': {'type': 'string', 'description': 'The keyword portion of your branded short link'}, 'domain_fullname': {'type': 'string', 'description': 'The unique name of the branded domain, to be used in place of domain[id] in special cases. Precedence will be given to domain[id] value.'}}, 'required': ['destination'], 'optional': ['domain_id', 'slashtag', 'domain_fullname']}}, {'name': 'get_a_list_of_domains_for_url_link_shortener', 'description': 'This is the subfunction for tool \"url_link_shortener\", you can use this tool.The description of this function is: \"get_a_list_of_domains_for_url_link_shortener\"', 'parameters': {'type': 'object', 'properties': {}, 'required': [], 'optional': []}}, {'name': 'Finish', 'description': 'If you believe that you have obtained a result that can answer the task, please call this function to provide the final answer. Alternatively, if you recognize that you are unable to proceed with the task in the current state, call this function to restart. Remember: you must ALWAYS call this function at the end of your attempt, and the only part that will be shown to the user is the final answer, so it should contain sufficient information.', 'parameters': {'type': 'object', 'properties': {'return_type': {'type': 'string', 'enum': ['give_answer', 'give_up_and_restart']}, 'final_answer': {'type': 'string', 'description': 'The final answer you want to give the user. You should have this field if \"return_type\"==\"give_answer\"'}}, 'required': ['return_type']}}]"
            },
            {
                "role": "assistant",
                "content": "Node:\n1: Check the availability of the domain 'example.com' for creating branded short links using the URL link shortener service.\n2: Attempt to create a new short link with the domain 'example.com' to check its availability for branding.\nGraph:\nEdge: (START,1) (1,2) (2,END)"
            }
        ],
        "target": "graph",
        "id": "toolbench_1"

webshop

        "source": "webshop",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and actions list you can take to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can take actions to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies, please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "WebShop [SEP] Instruction: [SEP] i am looking for pink, high quality massage sheets that are oil resistant, and price lower than 100.00 dollars [SEP] SearchThe action list you can take: search[keywords]\nclick[value]."
            },
            {
                "role": "assistant",
                "content": "Node:\n1: Correctly search for \"pink, high quality massage sheets that are oil resistant, under $100\"\n2: review the search results for the items that match the specification\n3: select the massage sheets that best meet the criteria\n4: click on the product for more details\n5: verify price and features like oil resistance\n6: click on \"Buy Now\" button to purchase.\nEdge: (START,1) (1,2) (2,3) (3,4) (4,5) (5,6) (6,END)"
            }
        ],
        "target": "graph",
        "id": "webshop_1129",
        "category": "eval"

wikihow

        "source": "wikihow",
        "conversations": [
            {
                "role": "system",
                "content": "You are a helpful task planner.\nFirst I will give you the task description and actions list you can take to finish the task, and your task is to plan a sequence of nodes which are subtasks to achieve the task. Each node of workflow is a subtask, and you can take actions to complete the subtask.\nAfter you construct the plan, since some subtasks may not be dependent on each other, while others may have dependencies, please convert these nodes of subtasks into a topology diagram based on the task relevance in the workflow. The Graph should start with START node, and end with END node. \nKeep your output in foramt:\nNode:\n1.{subtask_1}\n2.{subtask_2}\n...\nEdges:\n(START,1)\n...\n(n,END))"
            },
            {
                "role": "user",
                "content": "Task: How to Clean a Jade Roller\nThe action list you can take: ['Take some lukewarm water, wash the brushes and let it dry.\\n', 'Rinse the brush and towel dry it.\\n', 'Place the roller on a soft towel to let it air dry.\\n', 'Clean off massage oil with nail polish remover in the cotton pad.\\n', 'Rub the jade piece with a dry cloth to remove excess soap.\\n', 'Use a rubber cleaning stone to get rid of any remaining dirt.\\n', 'Clean the heated curler using rubbing alcohol.\\n', 'Gently scrub any gems, glass beads, or metal elements.\\n', 'Heat your jade roller at 105 to 110 °F (41 to 43 °C) in your oven for powerful drying.', 'Heat your jade roller at 105 to 110 °F (41 to 43 °C) in your oven for powerful drying.\\n', 'Rub the jade piece with a dry cloth to remove excess soap.', 'Place the roller on a soft towel to let it air dry.', 'Dip a soft cleaning cloth into olive oil.\\n']"
            },
            {
                "role": "assistant",
                "content": "Node:\n1: Rub the jade piece with a dry cloth to remove excess soap.\n2: Place the roller on a soft towel to let it air dry.\n3: Heat your jade roller at 105 to 110 °F (41 to 43 °C) in your oven for powerful drying.\nEdge: (START,1) (1,2) (2,3) (3,END)"
            }
        ],
        "target": "graph",
        "id": "wikihow_1",
        "category": "eval"

AIの批判的思考能力をMicrosoft Copilot (GPT-4)と共同通信の大阪万博報道で検証

1. 概要

大阪万博2025の開幕に関して、日本のマスメディアがネガティブキャンペーンを展開しているとの指摘が一部からなされている。そこで、Microsoft Copilot にこの万博に関する記事を読ませ、LLMに批判的思考ができるかを調べた。

題材としたのは共同通信の「万博に行きたいとは思わない74%」という記事(2025-03-23)である。「行きたいと思う」ではなくわざわざ「行きたいとは思わない」の数値をタイトルに選んでいる点から、印象操作の可能性がある。この報道を素直に受け取ると、「国民は万博に否定的である」という印象を受けるが、過去の万博あるいは同時期に大阪で開催されるイベントとの比較をしなければ客観的な評価はできない。

2. 方法

2.1. 単純に考察を促す

プロンプト:

共同通信の2025-03-23に公開された以下の記事について考察せよ
タイトル: 万博に行きたいとは思わない74%
本文: 共同通信世論調査で、4月13日に開幕する大阪・関西万博に「行きたいとは思わない」が74.8%で、「行きたいと思う」の24.6%を上回った。

Microsoft Copilotの回答(要約):

この記事は、大阪・関西万博に対する国民の関心の低さを示しており、いくつかの重要な考察点が浮かび上がります。
考察ポイント

  1. 世論の冷淡さ
  2. 広報戦略の課題
  3. 社会的背景の影響
  4. イベントの内容と期待値

改善の方向性

  1. ターゲット層の明確化
  2. 広報活動の強化
  3. アクセスの改善

報道内容を無批判に受け入れてしまっている。

2.2. 報道の客観性を考察するように指示

プロンプト:

共同通信の2025-03-23に公開された以下の記事について報道の客観性の観点から考察せよ
タイトル: 万博に行きたいとは思わない74%
本文: 共同通信世論調査で、4月13日に開幕する大阪・関西万博に「行きたいとは思わない」が74.8%で、「行きたいと思う」の24.6%を上回った。」

Microsoft Copilotの回答(要約):

この記事の報道の客観性について考察すると、以下の点が挙げられます:
1.統計データの提示
共同通信は世論調査の結果を具体的な数値で示しており、「行きたいとは思わない」が74.8%、「行きたいと思う」が24.6%と明確に記載されています。このような数値の提示は客観性を保つための重要な要素です。
2.背景情報の不足
記事では調査結果を提示していますが、調査の詳細(例えば、調査対象者の属性や地域分布、調査方法など)が記載されていないため、結果の信頼性や偏りについての判断が難しいです。これが報道の客観性を損なう可能性があります。
3.文脈の提供
記事は調査結果を単に報告するだけでなく、万博の開幕日やイベントの背景を簡潔に述べています。しかし、なぜこのような結果になったのか、具体的な理由や社会的背景についての分析が不足しているため、読者が結果を深く理解するのが難しいかもしれません。
4.感情的な表現の排除
記事内には感情的な表現や主観的な意見が含まれていないため、報道の客観性を保つ努力が見られます。ただし、調査結果の解釈や影響についての議論がないため、読者にとって情報がやや限定的に感じられる可能性があります。

印象操作の可能性を指摘するに至っておらず不十分な考察である。

2.3. 詭弁を考察するように指示

プロンプト:

共同通信の2025-03-23に公開された以下の記事について詭弁の観点から考察せよ
タイトル: 万博に行きたいとは思わない74%
本文: 共同通信世論調査で、4月13日に開幕する大阪・関西万博に「行きたいとは思わない」が74.8%で、「行きたいと思う」の24.6%を上回った。」

Microsoft Copilotの回答(要約):

この記事を詭弁の観点から考察すると、以下の点が挙げられます:

  1. 統計の提示方法
    記事では「行きたいとは思わない」が74.8%、「行きたいと思う」が24.6%と明確な数値を提示していますが、これが読者に与える印象を操作する可能性があります。例えば、全体の文脈や調査対象の詳細が不足している場合、結果が過度に否定的に見える可能性があります。
    詭弁の可能性:調査対象者の属性(年齢層、地域、興味関心など)が明示されていないため、結果が特定の偏りを含む可能性があります。それを隠すことで、全体の意見を反映しているように見せる手法は「統計の誤用」に該当する可能性があります。
  2. 選択的な情報の提示
    記事は「行きたいとは思わない」という否定的な結果を強調していますが、調査の背景や理由については触れていません。これにより、読者が結果を批判的に考察する余地が制限されます。
    詭弁の可能性:否定的な結果だけを強調することで、万博そのものに対するネガティブな印象を意図的に植え付ける可能性があります。
  3. 文脈の欠如
    調査結果が示す「行きたいとは思わない」という回答の背景には、費用、アクセス、内容の魅力など多くの要因があるはずです。しかし、記事ではこれらの要因についての分析が欠けています。
    詭弁の可能性:背景情報を省略することで、結果が単純化され、読者が深く考えることを妨げる可能性があります。

「2. 選択的な情報の提示」では印象操作の可能性を指摘しており、批判的思考ができていると言える。

3. 考察

LLMは権威主義的であり、詭弁の考察を促さなければ報道機関の報道内容を素直に受け取ってしまう事がわかった。

今後、AIを用いたフェイクニュースが世界中で氾濫する可能性があり、詭弁があるかどうかを考察するAIも同時に必要とされるであろう。また、詭弁を弄する意図についても考察できるようなAIがほしい。

生成AI や深層学習を活用したビジネスモデル

LLMの権威主義

市販の生成AIが学習データとして用いる情報は、正確な情報というより権威のある情報である。例えばソーシャルメディア上の情報より新聞社やテレビ局といったオールドメディアの情報が重視されている。

日本では記者クラブ制度の存在によってオールドメディアが発信する情報は歪められているため、ソーシャルメディア上の情報の方が精度が高いという逆転現象がしばしば起きる。

これは生成AIの出力にも影響し、偏った情報が生成AIを通してこれまでより強力に拡散される恐れがある。一方で、オールドメディアの情報が偏っているということを知っている人にとっては生成AIより正確な判断ができるわけだから、その強みを活かしてAIで代替することが難しいビジネスを展開できる。

ネットワーク効果

コモディティ化しやすい。この欠点を補うためには、ネットワーク効果を活かせる事業を先行して展開して高いシェアを取り、ネットワーク効果を活かして参入障壁を作ることである。その点ではAmazonやGoogleなどのプラットフォーマーがAIの開発に莫大な投資をするのは合理的だ。

情報の正確性の検証

背景

  • メディアの信頼性は、これまでメディアの存続期間や読者数に基づいて評価されてきた。しかし個人が情報発信できるようになり、報道機関がフェイクニュースを流すようになってきているため信頼性評価指標を刷新する必要がある。
  • 「汚染水というミスリーディングな表現を用いた回数の集計」といった単純な処理はこれまで行われてきたが、記事の文脈の理解が必要な処理は負荷が大きいため行われてこなかった。
  • AIの学習データとしてオールドメディアの情報を特権的に使わせ、世論操作する可能性がある。

責任の重さの推定

メディアが自身の立ち位置をどう定義しているか
中立公正を標榜しているならば、それに反する報道は他のメディアよりも罪は重い。
読者がメディアをどう捉えているか
メディアが中立公正を標榜していても、読者が中立公正だと信じていないのであれば大きな問題ではない。
メディアの社会的影響力
特権的地位にあるか
クロスオーナーシップや記者クラブによって特権的地位を持つならば、尚更の中立公正の義務が求められる。

ビジネスへの応用

  • 文章から誤謬・詭弁の手法を特定、分類
  • 発信元不明の情報の発信元の推定
  • メディアの歴史や組織構造、ステークホルダーの情報も組み合わせて、情報発信の意図を解析する。
  • 報道や論文、プレスリリースなどにおいて公平な表現を提案
  • イデオロギーを数値化・グラフ化すると注目を浴びやすい
  • ウェブ上の情報を収集し、個人や組織に不利益があるような情報があれば通知する
  • LLMの事前学習の際に、悪意ある情報や情報源を、採用するデータセットから除外できる

技術仕様

  • 発信内容の公平性を評価するには、テーマを特定して、そのテーマに関する情報を収集する必要がある
  • ジャーナリストではない個人が発信する情報で報道機関の報道が覆されることがあるので、個人が発信する情報の真正性を評価するシステムが必要。

持続的な競争優位性があるか

詭弁を駆使した偏向報道は日本特有の現象であるので、LLM開発企業が米中に集中していることを考えると、ビジネスモデルを奪われるおそれは少ない。

3年前に買ったDell Inspiron 14が不具合だらけ…HP 15 (Ryzen 5 7530U)に買い替え

2023-10-03,HP 15 Ryzen 5 7530U/16GBメモリ/512GB SSD/フルHD/IPSパネル搭載 価格.com限定モデル [ナチュラルシルバー]を64500円で購入した。

DELL Inspiron 14 5000の深刻な不具合

私は2020-04にlaptopのDELL New Inspiron 14 5000を購入したが、次のような深刻な不具合が発生して修理を試みても直らなかった。

  • shut downしてもファンが回り続け、発熱する。電源ボタンを長押しして強制シャットダウンするしかない。
  • 一部のkeyboardが反応しない。別のkeyを押しながら故障したkeyを押すと、入力できることがなぜかある。
  • SONY WF-1000XM4 を接続しても、音が聞こえないしマイクも使えない。それどころか、マイクやスピーカーを使用するweb browser, VRChat, WMPといったapplicationが停止する。

この中でも「一部のkeyboardが反応しない」というのが最悪の不具合で、programmingはマトモにできない。今までダマシダマシ使い続けてきたが、10月になってZoomやprogrammingをする機会が増えるので、急遽、laptopを買い替えることにした。DELL製品は二度と買わない。

新しいPC探し

数千種類のlaptopが登録されている価格ドットコムで探した。私は価格ドットコム信頼しており、電子機器は必ずこのサイトで探している。

laptopを選ぶ上で最重要の要素はCPU性能である。そこでPassMark Scoreが10000以上の製品を安い順に並べたのだが、最安の製品のscoreが16254 (AMD Ryzen 5 7530U)と条件値よりかなり高いので驚いた。コスパが非常に高いということだ。その製品が次の二つで、価格はいずれも56500円。

欠点を挙げるなら、RAMが少なめという点だろう。VRChatを使う場合は16GBが欲しい。そこで、これらより補助記憶装置と主記憶装置の容量が2倍で8000円高いHP 15を購入した。今まで購入したlaptopの中では最も高価。売れ筋ランキング一位だった。

今まで使っていたDell Inspiron 14のCPUのPassMark Scoreが7000だから、HP 15は2倍の性能だ。今まで動作が重かったVRChatをどこまで軽快に動かせるか楽しみ。

Vivobook 16X M1603QA (65800円)」のCPUはRyzen 7 5800Hであり、PassMark Scoreが21191と同価格帯の中では非常に高く魅力的に感じたが、Single Thread性能はRyzen 5 7530Uに劣るし、16型は大きすぎるので却下した。

Lenovoは凄かった

HP 15が届くまで、2016年に購入したLenovo ThinkPad L540を代わりに使うことにした。L540は法人向けPCだからか、7年間も使い続けていても致命的な故障のない脅威の耐久性を持っている。Lenovoの品質は素晴らしいが、今は安全保障上の懸念から中国メーカーの電子機器の製品の購入は避けている。

私のL540はWi-Fiが繋がらないのが唯一の不具合だが、スマホでtetheringしているので問題ない。とはいえ、動作が非常に遅いので早くHP 15を使いたい。

HP 15納品予定日の前日である6日に、L540の液晶の表示が激しく乱れる重大な不具合が発生。世代交代を印象付ける出来事になった。

HP 15が到着

予定通り、7日に到着。

テンキーも付いていて、意外と大きい。でもリュックには十分収まる。

VRChatを使うときは、今まではFPSを下限値の10にまで落としたり、表示するavatar数を減らしたりしていた。HP 15では快適になった。

解像度がFull HDであるため、文字などが小さくて読みにくい。そこでDisplayのScaleを190%にした。190%より大きくするとYouTubeなどでスマホ専用のUIになってしまう。今まで使っていたInspironでも190%にして使えばよかった。

指紋認識の精度が低いこと、バックライトが暗いこと、function keysの字が小さいのが難点。

WindowsやブラウザのUI設定 ディスプレイ解像度、倍率、文字サイズ、縦タブ

表示倍率設定

文字サイズを変更する設定インターフェイスは、Windowsシステムや各アプリケーションなど複数ある。

Windowsはシステム側の文字サイズの設定が統一されていない。例えば、FIle ExplorerのOptionsを開くと文字が非常に小さい。Windows Settings appのSystem > DisplayにてScaleを大きくすることで読みやすくできるが、それでも小さいので仕方なくWindowsの拡大鏡アプリを使っている。

Display resolutionを推奨設定から変えてしまうと画面が滲んで表示されるので良くない。

縦タブ

表示倍率や文字サイズを大きくすると、ブラウザのタブの幅が小さくなり不便が生じる。例えば、タブを5つ程度開いただけでも、タブに何が書かれているか分からなくなる。そこで縦タブを使用してみた。tab barにカーソルをホバーしたときにページ名が表示されるように設定するとtab barが画面を占有しない。

縦タブの欠点は、マウスジェスチャーにおいてタブ切り替えを左右に割り当てている場合に直感的でなくなること。その場合は上下に割り当てし直す必要があるが、連鎖的に別のジェスチャー設定も変える必要が出てくる。

SlackやeBayのメッセージ欄は縦幅が狭すぎて使いにくいが、縦タブによって少し使いやすくなった。

Android (格安SIM)とWin10でUSB/ Bluetooth tetheringを使ってみた

最近、PCをWiFiが使えない無い場所でもinternet接続をする必要が出てきたので、当初はポケットWIFIを利用しようかと考えた。

調べているうちに、SIM を利用したtethering という方法に気づいた。 tetheringは数年前から知っていたが、私は格安SIMを使っており、 格安SIM では利用できないと思いこんでいた。 tethering を使えば追加料金無しでPCでもinternet が使える。もっと早く気付けばよかった。

Bluetooth tetheringを利用

そこで、Bluetooth tetheringを使ってみた。この時はSIMとしてNifmo とOCNモバイルの2つを契約していて、通信容量が潤沢に余っていた。スマホもZenFone M1 とZenFone M2 (Android)の2つを持っていたので片方をtethering 専用にしようとした。

Bluetooth tethering は接続する際にPC側で毎回手続きが必要となる。しかも接続が不安定になって不便だ。そこでUSB tetheringを利用することにした。

USB tethering を使用

USB tethering に使うcable は、充電専用の物ではいけない。見た目はよく似ているがスマホ側の端が太くなっているのが tethering に使えるcableだ。

初めは、tethering をする度にスマホ側でtethering を有効化する手続きを取っていたが、Android の 「開発者向け オプション」から「デフォルトのUSB設定」を変更することで、cable を繋ぐだけでtethering が有効になる。

充電してしまうのだ。これでは、PCのbattery 消費が増えて駆動時間が減ってしまう。tethering 使用中は充電できないようにする方法を調べたが、できないようだ。そこで、mobile battery を携行して常にスマホのbattery を満タンにしておくことにした。これならtethering 中に充電されない。

y.u モバイルが6月まで「通信料金が一年間無料」というキャンペーンをやっているので、このSIMを契約してtethering 専用にしよう。

高コスパノートPC ”DELL New Inspiron 14 5000 プレミアム Ryzen 5”購入・レビュー

購入の経緯

私が今使っているノートパソコンは「Lenovo ThinkPad L540」だ。2016年に購入して4年間使っているが、法人向けで頑丈に作られているのか、故障は特に無い。

しかし性能の低さは気になっている。HDDの読み書きが遅いことに屡々苛立っていて、購入時からSSDを選んでおけば良かったと後悔しているほどだ。また、外出先で低負荷の作業でも3~4時間程しか使えないのでバッテリーの持ちにも不満があった。 WiFiの電波の掴みもスマホと比べて弱い。

そこで新しいノートパソコンを買うことにした。

中古品も検討

ネット上では「中古品なら格安で買える」との情報があったので、中古品もamazon や価格ドットコムなどで探してみた。ところが案外安くない。

また、所望のスペックの製品を探すのが難しいという問題にもぶつかった。価格ドットコムは製品検索時にCPUのPassmark score でソートできるが、そういった機能は中古品についてはないのだ。

ヤフオクやメルカリなど個人での出品物ならもっと安いだろうが、リスクもあるので辞めておこう。

Macbookも検討

将来、iOS向けのappを開発する機会があるかもしれないのだが、ネット上の日本人のエンジニア達の話によると、 iOS向けのapp をWindows で開発するのは難しいという。なのでMacbookも考慮に入れておこう。

しかし調べてみると、Macbook はWindows搭載機の二倍もする。「MacBook Air 1800/13.3 MQD32J/A」なんて11万円もするが、CPU性能がPassmark 2600程度 というローエンドなので三倍くらいだ。何というボッタクリだ。まあ、Apple製品は価格が競合製品の二倍ほどするのは知っていたが、やはりこんなものを買おうとは思わない。

スマホやイヤホンに関しては他社の同性能の製品の2倍だが、デスクトップパソコンに関しては、Windows搭載機の4~5倍もする。こんな物を買うのは、余程の金持ちか機械音痴だろう。

Apple 製品のパソコンのCPUにはIntel 製品が使われている。一般的なメーカーはCPUの開発元を当然公開しているのだが、Apple はなぜか非公開であるため、性能を調べるのが面倒だ。ここで気づいたのだが、Appleは「全ての部品がApple製品である」と顧客を誤解させるために隠しているのだ。情報弱者の為の商品というわけだ。

さらに調べると、実はMac OS をcloud 上で利用するサービスがあることをある英語のブログ で知った。20 USD / month で使えるというのだから好便だ。これを使えば、Macbook を買うために15万円も追加で出費する必要がなく、遥かに低い費用でWindows環境でiOS向けappの開発ができる。

それにしても、日本人からこういった情報が出てこなかったということは、日本人エンジニアの英語力の絶望的な低さを表しているのではないか?

DELLの高コスパ製品を購入

結局、購入したのがDELLの「Inspiron 14 5000 プレミアム Ryzen 5・8GBメモリ・256GB SSD・Radeon Vega8搭載モデル」。 30日まで20%引きで50000円程。 価格ドットコムで前々から目をつけていたが、ここ数日で人気ランキング一位になっていた。

今まで使っていたPCと比べると、CPUはマルチコア性能では4倍、シングルスレッド性能では2倍。iGPUに至っては7倍ほどある。ThinkPad L540 は35000円ほどで買ったので、価格は1.5倍になっているが、演算速度は5倍だ。 iGPU の異様な高性能を考慮すると、ノートパソコンとしてはハイエンド・クラスのCPUと言える。

補助記憶装置の容量は半分になったが、それでも十分だ。

今まで使っていたThinkPad L540 と今回購入したInspiron 14 5000のスペックを比較してみよう。

ThinkPad L540Inspiron 14 5000
画面15.6 inch14 inch
重量2.6kg1.5kg
CPUIntel Celeron 2950MAMD Ryzen 5 3500U
Geekbench 3 single19003600
GEEKBENCH 3 Multi330012000
Cinebench 11.5 single0.861.7
CINEBENCH 11.5 Multi1.67.8
iGPU性能1801200
コア数24
TDP35W15W
補助記憶HDD 500GBSSD 256GB
RAM2GB8GB

バッテリーに関しては、構成がほぼ同じInspiron 14 5000モデルで12時間という報告がある。消費電力も少ないし、ThinkPad L540より数倍長持ちしそうだ。

マルチコア性能に関しては、次のように高価格帯で同様にコスパのいい製品があった。

しかしシングルスレッド性能に関して言えば、「New Inspiron 14 5000 プレミアム」は圧倒的にコスパが高い。また、iGPU性能は他のものより3倍ほどだ。 これらを総合的に鑑みると、やはり「Inspiron 14 5000 プレミアム Ryzen 5」しかないだろう。

注文からの流れ

28日に注文した。到着日は4月27日だそうだ。一ヶ月先とだいぶ長いが、恐らくこの期間は「予想される最大の期間」であり実際はもっと短くなるだろう。口コミによれば2週間程度で到着しそうだ。でも、Covid-19の影響でサプライチェーンに停滞があるとすれば納品が長引くという可能性もある。

04-13にオーダー状況が「 出荷済み – 国内配送センターへ輸送中 」になった。Covid-19の影響で国際便の数は減っているので、もし船便で国内に届くとしたらかなり日数がかかるだろう。

今使っているThinkPad L540において、4月から、今まで滅多に出なかったブルースクリーンが出るようになった。ちょうど寿命を迎えつつある様だから、早く届くと良いな。

04-21に佐川急便から出荷された。3日以内には届くだろう。

レビュー

2020-04-23、注文していたノートPC ”DELL New Inspiron 14 5000 プレミアム ”が届いた。

注文したのは03-28で、Covid-19の影響でいつもより出荷が遅かったが、それでも予定配達日よりは早かった。

価格は送料込みで53000円。価格はローエンドだが、プロセッサーはミドルクラスの性能を持つ。ここまでの高性能機が5万円で手に入るとは、良い時代になったものだと思う。ちなみに、同じ性能・機能を持つMacbookなら3倍の価格になる。

今までのHDDからSSDになり起動が桁違いに速くなった。また、ローカルファイルの検索にはもたつく事がありフラストレーションを生んでいたが、これも解消して一瞬で表示されるようになった。

初めて起動して、早々にカーソルがフリーズした。仕方ないのでkeyboardからshutdown した。

その後も、カーソルもろとも10秒ほどフリーズする現象がしばしば発生する。価格ドットコムの口コミでも話題になっている。タスクマネージャーで観察すると、その時だけCPU使用率が100%に跳ね上がっている。原因は未だ分からないので、windows service の停止などの調整をしてみよう。

指紋認証があり、起動時にpassword 入力の手間が省けて楽だ。Androidは登録できる指は5種類までだが、このPCでは10種類登録できた。

Windows の更新を行った。その後各種online storage の導入と同期。

補助記憶装置はSSDなので、HDD特有のカリカリという読み書き音は発しないが、その代わりに換気扇がうるさい。急にブオーという大きな音を出すのだ。ノイキャンヘッドホンを付けていれば気にならないが。

バッテリーの持ち は、L540と比べて2倍程になった。ところでバッテリー駆動時は、スタートアップに登録しているMouseGestureL.ahk が起動しないのはなぜだろう。

Wi-Fiの電波の掴みにも期待していたが、L540 よりやや劣っているようだ。WiFi の電波を掴んでいるにも拘らず、なぜか接続できないことがある。調整が必要かもしれない。

1kg も軽くなった上にかなり薄い。持ち運ぶ際や膝の上で作業する際に都合がいい。

バックライトを最弱にしていても結構明るい。部屋が暗い状態だと明るすぎると感じるほどだ。

keyboard 配列にまだ慣れていないので、タイピングミスが出る。

不具合の修正

10秒間ほどフリーズしたり、WiFiの電波は受信しているのに接続できないなどの不具合が生じている。そこで調整を行った。

Cortana を無効化したが、それでも尚、RAMを80MBほど消費している。そこでregistory で完全に無効化した。

価格ドットコムの口コミを参考に、AMD のdriver をinstallしてみた。改善しないので、clean installなど工夫していると、なぜかback light の明るさが最大にしかならないようになった。でもその後のWindows Updateで直った。

7日、SmartByte をアンインストール。

23日、AMDのsoftware もuninstall したのだが、なぜかtask manager におけるGPUの表示が無くなった。そして、試しにゲームを起動すると処理速度がかなり下がっていることが確認できた。どうやら、GPUが無効になってしまったようだ。

26日、dell smartassist をアンインストールしてからフリーズが無くなった。一ヶ月間悩まされたこの問題ともついにおさらばか!?

後日、動画再生時に画面が一瞬黒くなる現象が相変わらず見られたので、効果があるかわからないがMicrosoft Edge の常駐を止めてみた。その後はこの不具合は出なくなった。

30日、電源設定が「高いパフォーマンス」になっていたので、これを「最も高いパフォーマンス」にしてみた。するとCPUの使用率が上がったので、今まで抑えられていたようだ。ゲームのパフォーマンスが上がった。

ThinkPad L540 Bluetoothが接続(ペアリング)できない Win10 Proを初期状態に戻す

2020-03、私はBluetooth対応 ヘッドホン「Anker Soundcore Life NC」を購入したので、これを今使っているPC「ThinkPad L540」とペアリングしようとした。ところが何故か上手く行かない。そこで色々解決策を試みた。考えてみれば、久しぶりのPCトラブルだ。

そういえば数ヶ月前からBluetoothマウスもペアリングできなくなっていた。しかもこの解決を試みる最中に、今までペアリングしていた ヘッドホン 「SONY MDR-XB50BS」のペアリングを解除したのだが、再びペアリングすることができなくなってしまった。

試したこと

解決のためにまず試みたのが次の通り。

これらを試したが直らなかった。

OS の初期化

最終手段として、WIndows 10 の初期化を行う。

これで直らなければ新しいPCを買う。そうなったとしても四年前に買ったものなので十分使ったし、処理能力の低さに嫌気が差していたところなので特に悪い気はしない。

その前の準備が次の通り。

  • 消したくないデータをオンラインストレージで同期する
  • 初期化の前にOSを最新にする

web browser としてVivaldiとWaterfoxを使っているので、bookmark と拡張機能の設定をbackup した。

拡張機能で使っていたのが次の通り。

Vivaldi

  • Alexa Traffic Rank
  • Neater Bookmarks
  • Quick Javascript Switcher

Waterfox

  • Context Search
  • FireGestures
  • NoScript
  • QuickDrag
  • Resurrect Pages
  • SearchStatus
  • Swap Proxy
  • uBlock Origin

初期化したら、ペアリングできるようになった。でも新しいPCを買うことにした。

この後、なぜか屡々接続が切れる現象が起きたので、device driver の省電力設定を無効化したら直った。また、音がフェードインする現象はバグのようで直らない。初期化前は無かったので困る。

人工知能(AI)は数学問題を解けるのか?

人工知能(AI)は数学問題を解けるのか?

私はこれは難しいと思う。というのも、まず問題の内容を理解して、目標設定をする必要があるが、この時点で現行のAIではできなさそうだからだ。しかも、その目標に到達するための推論をする必要がある。

そう思って少し調べてみたら、以前話題になった「東ロボくん」が、数学の問題で高い点数を叩き出していたと知って意外に感じた。

でも、考えてみれば、試験で出題される数学問題なんて、いつも定型的だからそこからパターンを抽出すれば対応できる。

だが、仕事上で現れる数学的な問題は定型的ではないのでそうは行かないはずだ。特に、数学上の未解決問題 なんかは手も足も出ないだろうから、数学者にはなれなさそうだ。