
第2ç« AIã«ä»äºã奪ããããªãæè¶³ã«ãããèèå瀟ãç¶ãã åããPC2å°ãã§èªåŸåAIããŒã ãå¬åãã話 ïŒæè¶³ãåŸãAI â browser-use à Playwrightã§Webæäœãå®å šèªååãã
第2ç« ïŒæè¶³ãåŸãAI â browser-use à Playwrightã§Webæäœãå®å šèªååãã
ããããææµ·ïŒ å 鱿ãã£ããn8nããšãStructured Outputsãã®åŸ©ç¿ã¯ããããªã ãïŒã
ç¿é±ã®æææ¥ãåå9æã åã¯è ãŸãããããŠãæ±çšPCã®åã«é£åã£ãŠããã å é±ãææµ·ãšäžç·ã«çµã¿äžããããããŒãžã£ãŒïŒn8nïŒããšãåžä»€å¡ïŒOpenAI APIïŒãã¯ãæ±çšPCã®äžã§éãã«åŸ æ©ããŠããã
ãããæ°åãã ãªã倧èŒã ææµ·ã¯çŒ¶ã³ãŒããŒã飲ã¿ãªãããåã®é£ã®ãã€ãæ€ åã«è °æããã
ãã§ããªãå é±äœã£ãã®ã¯ãããŸã§ãé è³ããšãå¿èãã ãAIãã©ããªã«è³¢ãæç€ºæžïŒJSONïŒãäœããŠãããããå®è¡ãããæè¶³ãããªããããåã®ä»£ããã«ããœã³ã³ãæäœããŠã¯ãããªãã
ããããåãæ¯æ©æ·±å€3æãŸã§ãã£ãŠãããã®å°çã®äœæ¥ã ãªâŠâŠã
æãåºãã ãã§èãçãã ç«¶åä»ç€Ÿã§ãããããå·¥å ·ãããâ³â³æ©å·¥ãã®Webãµã€ãããã©ãŠã¶ã§éããæ€çŽ¢çªã«åçªãäžã€ãã€æå ¥åãã衚瀺ãããè²©å£²äŸ¡æ Œãã³ããŒããŠãExcelã®ã¹ãã¬ããã·ãŒãã«è²Œãä»ããããããæ¯æ¥200åç®ã éäžã§ãã©ãŠã¶ã®ã¿ããéãééããããè¡ããºã¬ãŠè²Œãä»ãããããŠãäœåºŠå«ã³ããã«ãªã£ããããããªãã
ã仿¥ã¯ãã®å°çãçµãããããAIã«ãç©ççãªæè¶³ããäžãããã
ææµ·ã¯æ±çšPCã®ç»é¢ã«ãé»ãã¿ãŒããã«ïŒã³ãã³ãããã³ããïŒãåŒã³åºããã
â
ã倧èŒãåŸæ¥ã®RPAâŠâŠããšãã°UiPathãšããPythonã®SeleniumïŒã»ã¬ããŠã ïŒã䜿ã£ãWebèªååã®æå€§ã®åŒ±ç¹ã£ãŠäœãç¥ã£ãŠããïŒã
ããïŒ åŒ±ç¹âŠâŠïŒ ããŒããããã°ã©ãã³ã°ãé£ããããšïŒã
ããããããããæå€§ã®åŒ±ç¹ã¯ãèïŒããïŒããã ã
ææµ·ã¯ããŒããŒããå©ããªãã説æãç¶ããã
ãåŸæ¥ã®RPAã¯ãªãWebãµã€ãã®è£åŽã«ããHTMLã®ããã¿ã³ã®å ŽæïŒXPathãCSSã»ã¬ã¯ã¿ïŒãããã³ãã€ã³ãã§æå®ããŠã¯ãªãã¯ãããä»çµã¿ãªãã ãäŸãã°ãid="search-btn-top" ãšãããã¿ã³ãæŒããã¿ããã«ãªã
ããµããµãã
ãã§ããWebãµã€ãã£ãŠé »ç¹ã«ãã¶ã€ã³æŽæ°ïŒãªãã¥ãŒã¢ã«ïŒãããã ãïŒ ãã¿ã³ã®IDãå€ãã£ãããé 眮ãå·Šããå³ã«ç§»åãããããããã¢ããåºåãçªç¶æãŸã£ããããããããªããšåŸæ¥ã®RPAã¯ã©ããªããšæãïŒã
ããâŠâŠïŒ ãã¿ã³ãèŠã€ãããŸããïŒã£ãŠãšã©ãŒã«ãªã£ãŠãæ¢ãŸã£ã¡ããã®ãïŒã
ã倧æ£è§£ãããã°ã©ã ãããã«ãã ãããç»é¢ã®èŠãç®ãã¡ãã£ãšå€ãã£ãã ãã§ãããã¯ãèµ·ãããã ãçµæãšããŠããµã€ããå€ãããã³ã«ãšã³ãžãã¢ãã³ãŒããä¿®æ£ããªãããããªããäžå°äŒæ¥ã§RPAå°å ¥ã倱æããäžçªã®åå ããããªãã ãã
ããããâŠâŠãããããèªååã®æå³ããªããããâŠâŠã
ãã ãããããææ°ã®AIæè¡ã䜿ãã仿¥äœ¿ãã©ã€ãã©ãªã¯ãä»äžçäžã®AIãšã³ãžãã¢ã®éã§æãæ³šç®ãããŠããªãŒãã³ãœãŒã¹ãbrowser-useïŒãã©ãŠã¶ã»ãŠãŒã¹ïŒã ã
ææµ·ãã¿ãŒããã«ã«ã³ãã³ããæã¡èŸŒãã
Bash
pip install browser-use langchain-openai playwright
playwright install
ãbrowser-useâŠâŠïŒ ãããŸã§ã®RPAãšäœãéããã ïŒã
ãæ±ºå®çãªéãã¯ãªããLLMïŒAIïŒèªèº«ããã©ãŠã¶ã®ç»é¢ãèŠãŠã人éãšåãããã«ç¶æ³ã倿ããŠæäœãããã£ãŠç¹ã ã
ãç»é¢ãèŠãâŠâŠïŒïŒã
ãããã ãbrowser-useã¯å éšã§PlaywrightïŒãã¬ã€ã©ã€ãïŒã£ãŠããè¶ é«éãªãã©ãŠã¶æäœãšã³ãžã³ãåãããŠãããããŠãããŒãžã®ãã£ããã£ç»åãšHTMLã®æ§é ãäžžããšgpt-4oã«æž¡ããã ããããšgpt-4oã¯ãããç»é¢ã®äžå€®ã«æ€çŽ¢çªããããªãããããã¢ãããåºãŠãããããŸãÃãã¿ã³ãæŒããŠæ¶ãããã£ãŠã人éãšåãããã«ç®ãé ãããŠèªåŸçã«ããŠã¹ãããŒããŒããåããã
åã¯ç®ãäžžãããã
ããããããµã€ãã®ãã¶ã€ã³ãã¡ãã£ãšå€ãã£ãŠãâŠâŠïŒã
ããã¯ãšãããªãããã¿ã³ã®è²ãå€ãããããå Žæãå³äžã«ç§»åãããããAIãããããæ€çŽ¢ãã¿ã³ã ãªããšèŠèŠçã»æèçã«çè§£ããŠæ£ããæŒããŠããããã¡ã³ããã³ã¹ããªãŒã®æåŒ·ã®ãæè¶³ããªãã ãã
â
ãçŸèã¯äžèŠã«åŠããã ãå®éã«åãã¹ã¯ãªãããæžããã
ææµ·ã¯ãšãã£ã¿ãéããçãPythonã³ãŒããæžãå§ããã
Python
import asyncio
from langchain_openai import ChatOpenAI
from browser_use import Agent
async def main():
# 1. æè¶³ãšãªãLLMïŒæèãšã³ãžã³ïŒã®èšå®
llm = ChatOpenAI(model="gpt-4o", temperature=0.0)
# 2. å®è¡åœ¹ã«äžããèªç¶èšèªã®ãæç€ºïŒã¿ã¹ã¯ïŒã
task_prompt = """
1. ç«¶åãµã€ããhttps://example-tools-shop.comãã«ã¢ã¯ã»ã¹ããŠãã ããã
2. æ€çŽ¢çªã«åçªãNK-2000-Xããšå
¥åããŠæ€çŽ¢ããŠãã ããã
3. æ€çŽ¢çµæã«è¡šç€ºãããååã®ãè²©å£²äŸ¡æ ŒïŒçšèŸŒïŒããšãåšåº«ç¶æ³ããååŸããŠãã ããã
4. ååŸããçµæã JSON 圢åŒã§åºåããŠãã ããã
"""
# 3. browser-use ãšãŒãžã§ã³ãã®èµ·å
agent = Agent(
task=task_prompt,
llm=llm,
)
# 4. ã¿ã¹ã¯ã®å®è¡
result = await agent.run()
print("ãå®è¡çµæã")
print(result)
if __name__ == "__main__":
asyncio.run(main())
ããã£âŠâŠïŒ ææµ·ãã³ãŒãããã ãâŠâŠïŒ ãã£ã20è¡ã¡ãã£ãšïŒã
åã¯çã«ã€ãŸãŸãããããªæ°åã ã£ãã æãç¬åŠã§Seleniumã®Webã¹ã¯ã¬ã€ãã³ã°ãå匷ããããšããæããã¿ã³ã®èŠçŽ ãæ¢ããŠãåŸ æ©æéãèšå®ããŠãäŸå€åŠçãæžããŠâŠâŠãšäœçŸè¡ãã®ã³ãŒãã«æ«æããèšæ¶ãããã
ãããã ãbrowser-useã䜿ãã°ãé¢åãªèŠçŽ æå®ïŒXPathïŒã®ã³ãŒããªããŠ1è¡ãæžãå¿ èŠããªããã人éã«è¡åãæç€ºããã®ãšåãæ¥æ¬èªã®ããã³ããããæžãã ãã§ãããã ã
ããããããããâŠâŠïŒ ããããããå®è¡ããŠã¿ãŠãããïŒã
ããããããããç»é¢ãããèŠãŠãããã
ææµ·ãã¿ãŒããã«ã§ python main.py ãšå ¥åããEnterããŒãå©ããã
â
çŽåŸãåã®ç®ã®åã§å¥è·¡ã®ãããªå æ¯ãå§ãŸã£ãã
æ±çšPCã®ç»é¢äžã«ãèªåã§Google Chromeãã©ãŠã¶ãç«ã¡äžãã£ãã ã ãã誰ãããŠã¹ãããŒããŒããè§Šã£ãŠããªãã
ãæèäž: https://example-tools-shop.com ã«ã¢ã¯ã»ã¹ããŸãâŠâŠã
ã¿ãŒããã«ã«AIã®æèãã°ããªã¢ã«ã¿ã€ã ã§æµãããšåæã«ããã©ãŠã¶ãã¹ããšåããç«¶åä»ç€Ÿã®Webãµã€ããéããã
ãæèäž: ç»é¢äžå€®äžéšã«æ€çŽ¢å ¥åãšãªã¢ïŒinputïŒãæ€åºããŸãããåçª NK-2000-X ãå ¥åããŸãâŠâŠã
ãã©ãŠã¶ã®æ€çŽ¢çªã«ããŸãã§ç®ã«èŠããªãéæäººéãã¿ã€ãã³ã°ããŠãããã®ããã«ããNK-2000-Xããšããæåããã©ãã©ãã©ãšæã¡èŸŒãŸããã ãããŠãæ€çŽ¢ãã¿ã³ã®äžã«èµ€ãæ ã衚瀺ãããããšæããšãã«ãããšã¯ãªãã¯ãããã
ãããããããããããã£ïŒïŒïŒ åããŠãïŒ ãã©ãŠã¶ãåæã«åããŠãïŒïŒïŒã
åã¯æããæ€ åããç«ã¡äžãããå«ãã§ããŸã£ãã
ç»é¢ã¯æ€çŽ¢çµæããŒãžã«åãæ¿ãããAIã¯äžç¬åæ¢ããŠããŒãžå šäœãã¹ãã£ã³ããã
ãæèäž: ååå NK-2000-X è¶ ç¡¬ãšã³ããã« ã確èªãäŸ¡æ Œãï¿¥12,800ïŒçšèŸŒïŒãããã³åšåº«ãæ®ã3ç¹ãã®èŠçŽ ãæœåºããŸãããã¿ã¹ã¯å®äºã§ããã
ã«ããããšãã©ãŠã¶ãéããã¿ãŒããã«ã«ç¶ºéºãªçµæãåºåãããã
JSON
{
"product_name": "NK-2000-X è¶
硬ãšã³ããã«",
"price": "12800",
"stock": "æ®ã3ç¹",
"status": "SUCCESS"
}
æèŠæéãããã15ç§ã
åãæ¯æ©ãéãçŒãããããªããæäœæ¥ã§ã³ããããŠãããã®äœæ¥ãããã£ã15ç§ã§ãå®ç§ãªç²ŸåºŠã§å®äºããã®ã ã
ãâŠâŠåã ãâŠâŠã
åã¯è±åãããã€ãæ€ åã«åŽ©ãèœã¡ãã å¬ãããšãå®å µãšããããŸã§ã®èŠåŽã¯äœã ã£ããã ãšããèãããæ··ããåããç®é ãç±ããªã£ãã
ãææµ·âŠâŠãããããžã§ã€ãããâŠâŠãä¿ºãæ·±å€3æãŸã§åæ³£ãã§ãã£ãŠãäœæ¥ãå šéšããã«çœ®ãæãããããâŠâŠã
ããããèšã£ããïŒ AIããæè¶³ãã«ããã£ãŠããã®ã¯ããããããšã ã ææµ·ã¯èªãããã«è ãçµãã ã
ããã®browser-useãšPlaywrightã®çµã¿åãããããã°ããã°ã€ã³ãå¿ èŠãªäŒå¡å¶ãµã€ãã ããããè€éãªããããããŠã³ã¡ãã¥ãŒã®éžæã ãããã人éãã§ãããã©ãŠã¶æäœãªãã»ãŒ100%èªååã§ããã
â
ãã§ããªã倧èŒããããããæ¬çªã ã ææµ·ã¯è¡šæ ãããªããšåŒãç· ããã
ããïŒ æ¬çªïŒã
ãããã ãä»åãããPythonã¹ã¯ãªããã¯ããŸã åäœã§åãããã ãã ãïŒ ãããå é±äœã£ããn8nïŒãããŒãžã£ãŒïŒããšåäœãããŠãå®å šèªåã®ãã€ãã©ã€ã³ã«çµã¿èŸŒããã ã
ææµ·ã¯n8nã®ç»é¢ãéããå é±äœã£ãã¯ãŒã¯ãããŒã®å ã«æ°ããããŒãã远å ããã
[Cron (æ¯æ8æ)]
â
âŒ
[n8n: HTTP Request] ââ> OpenAI API (åžä»€å¡: ã¿ã¹ã¯åè§£JSONäœæ)
â
âŒ
[n8n: Execute Command] ââ> æ±çšPCäžã® Python (browser-use å®è¡ã¹ã¯ãªãã)
â
âŒ
[n8n: Google Sheets Node] ââ> ã¹ãã¬ããã·ãŒãã«äŸ¡æ ŒããŒã¿ãèªåæžã蟌ã¿
ãèŠããn8nã®äžã«ãExecute Commandãã£ãŠããããŒãããããããã䜿ããšãn8nã®äžããæ±çšPCã®Pythonã¹ã¯ãªãããèªç±èªåšã«åŒã³åºãããã ã
ããªãã»ã©ïŒ
æ¯æ8æã«n8nãèµ·ããŠ
OpenAIïŒåžä»€å¡ïŒã«ã仿¥ã®èª¿æ»å¯Ÿè±¡ããèããŠ
PythonïŒbrowser-useïŒãåŒã³åºããŠãã©ãŠã¶ãæäœãããŠ
è¿ã£ãŠããçµæããGoogleã¹ãã¬ããã·ãŒãã«èªåã§æžã蟌ã âŠâŠã£ãŠããæµãããå šéšããŒã³ãŒãã§ç¹ããã®ãïŒã
ãå®ç§ãªçè§£ã ã倧èŒïŒãææµ·ã¯ãã·ããšåã®èäžãå©ããã
ãããã§ããåãäŒç€Ÿã«æ¥ãåã®ãæ¯æ8æãã«ãæ±çšPCã®äžã§ãããŒãžã£ãŒãšå®è¡åœ¹ãåæã«é£æºããŠãç«¶åãµã€ã200åç®ã®äŸ¡æ Œèª¿æ»ãå®äºãããŠã瀟å ã®ã¹ãã¬ããã·ãŒããææ°ç¶æ ã«æŽæ°ããŠããã·ã¹ãã ã宿ããã
åã¯ãã¹ã¯ã®äžã«äžŠãã Googleã¹ãã¬ããã·ãŒããèŠã€ããã n8nã®ãã¹ãå®è¡ãã¿ã³ãæŒããšãæ°åç§åŸãã¹ãã¬ããã·ãŒãã®ã»ã«ã«ã¹ã«ã¹ã«ãšæ°ããäŸ¡æ ŒããŒã¿ãèªåã§åãŸã£ãŠããã
ãããåãæ·±å€ã«Excelãšæ Œéããå¿ èŠã¯ãã©ãã«ããªãã£ãã
ãâŠâŠåã£ãâŠâŠã
åã¯æ³ãåºãæ¡ããããã
ãããïŒ ããã§èªååã¯å®æã ãªïŒ ææµ·ãä»å€ã¯é£²ã¿ã«è¡ããïŒ ä¿ºã®ãããã§å¿ææ©ã®æšãçŒèå±âŠâŠã
ãåŸ ãŠåŸ ãŠåŸ ãŠïŒã ææµ·ã¯ãããŠãŠåã®è©ãæŽãã§åŒãæ»ããã
ããã倧èŒãæµ®ããããªïŒ ãŸã å šè¡çšã®ååãçµãã£ãŠãªããïŒã
ããã£ïŒïŒ ã ã£ãŠããã©ãŠã¶ãåæã«åãããã¹ãã¬ããã·ãŒããæŽæ°ããããã ãïŒïŒ ããå®ç§ãããªããïŒã
ææµ·ã¯æºæ¯ãã€ããé ãæ¯ã£ãã
ãçããçããããã2代ç®ç€Ÿé·ã ãããïŒ ä»ã®ã·ã¹ãã ã¯ãªããæŽãã®æ¥ã®ãã¹ãèµ°è¡ãã§ããŸãåããã«éããªããã ã
ãæŽãã®æ¥ã®âŠâŠãã¹ãèµ°è¡âŠâŠïŒã
ãããã ãããææ¥ãAIãç«¶åãµã€ãã®äŸ¡æ Œãèªã¿ééããŠã10äžåãã®ååãã100åãã£ãŠã¹ãã¬ããã·ãŒãã«æžã蟌ãã ãã©ãããïŒ ãããAIãçæããSNSã®æçš¿æã«ãä»ç€Ÿè£œåã®åã®ä»æ§ïŒãã«ã·ããŒã·ã§ã³ïŒãæ··ãã£ãŠãŠããã®ãŸãŸèªåã§äžã®äžã«çºä¿¡ããããã©ãããïŒã
ããâŠâŠãåã¯å·ãæ±ãå¹ãåºãã®ãæããã
ãå®å šè£ 眮ã®ãªãæŽèµ°ç¹æ¥ã»ã©æããããã®ã¯ãªããã ãæ¥é±ã¯ããã®AIããŒã ã«ãèšæ¶ïŒããŒã¿ããŒã¹ïŒããšãåãèŠç Žãã峿 Œãªç£æ»åœ¹ïŒQAæ©èœïŒããçµã¿èŸŒãããããã§ããŠåããŠã人éãå®å¿ããŠæŸçœ®ã§ãããå®å šå 補åãã宿ãããã ãã
ææµ·ã®éãçŒå ãèŠãŠãåã¯ãŽã¯ãªãšåŸã飲ã¿èŸŒãã ã
ïŒç¬¬3ç« ãžç¶ãïŒ