ðŠ HuBrowser agent: æè¡è©³çް ð ïž
ãã®ããŒãžã¯æè¡å¯ãã®èªè åãã§ããHuBrowser agent ã®æ©èœã楜ããã ããªãèªãŸãªããŠã倧äžå€«ã§ããð
ããã§ã¯ãHuBrowser agent ã®ã¢ãŒããã¯ãã£ãæè¡çãªè©Šè¡ã«ã€ããŠäžéšã玹ä»ããŸããAI ãšãŒãžã§ã³ãã¯éåžžã«éãããŒã¹ã§é²åããŠããããããã®ã¬ã€ããåžžã«ææ°ã®ç¶æ ãåæ ããŠãããšã¯éããŸããã
HuBrowser ã¯ãã¢ãžã¥ãŒã«åã§æ¡åŒµããããèšèšã«ãã£ãŠãå ç¢ã§è³¢ããã©ãŠã¶ãŒèªååãå®çŸããŠããŸããããã§ã¯ããã®ã¢ãŒããã¯ãã£ãç¶æ 管çãã€ã³ããªãžã§ã³ã¹ããããŠç¬èªã®æè¡ç解決çããŸãšããŸãã
ð æŠèŠãšã¢ãŒããã¯ãã£
- æè»ãªèªåå: èªç¶èšèªãé²ç»ããæäœãã³ãŒããçµã¿åãããŠãç¶æ³ã«å¿ããå¶åŸ¡ãå®çŸããŸãã
- é«åºŠãªã¿ã¹ã¯åè§£: è€éãªäœæ¥ãæ±ãããããµãã¿ã¹ã¯ãžåè§£ããé©åãªããŒã«ãè³¢ãéžã³ãŸãã
- å æ¬çãªããŒã«ã»ãã: ãã©ãŠã¶ãŒããã¡ã€ã«ãã³ãã³ãã©ã€ã³ãAPIãããŒã¿åææ©èœãçµ±åããŠããŸãã
- ãªã¢ã«ã¿ã€ã ãã£ãŒãããã¯: ã¿ã¹ã¯å®è¡äžã®äžéçµæã远跡ãããã®å Žã§å€æŽã§ããŸãã
- ã¢ãžã¥ãŒã«åã§æ¡åŒµããããèšèš: ä¿¡é Œæ§ãéææ§ãæ¡åŒµã®ãããããéèŠããŠããŸãã
ã³ã¢ã¯ãŒã¯ãããŒ
HuBrowser ã¯é£ç¶ã«ãŒãã§åäœããŸãã
- åæå: ã¿ã¹ã¯ãLLMããã©ãŠã¶ãŒã€ã³ã¹ã¿ã³ã¹ã䜿ã£ãŠãšãŒãžã§ã³ããäœæãããã¹ãŠã®ã³ã³ããŒãã³ãããã¬ã¡ããªãŒä»ãã§åæåããŸãã
- å®è¡ã«ãŒã: ç¶æ ååŸ â LLM åæ â ã¢ã¯ã·ã§ã³å®è¡ â ç¶æ æŽæ°ã
- å®äº: ã¿ã¹ã¯å®äºæã«ã€ãã³ããèšé²ããå±¥æŽãè¿ããå¿ èŠã«å¿ã㊠GIF ãçæããŸãã
ã·ã¹ãã ã³ã³ããŒãã³ã
- Agent: ã¿ã¹ã¯ã®èšç»ãšå®è¡ãç¶æ ãšå±¥æŽã®ç®¡çãLLM ãšã®ã¡ãã»ãŒãžããšã©ãŒåŠçãæ åœããŸãã
- Controller: ãã©ãŠã¶ãŒæäœãç»é²ãããã©ã¡ãŒã¿ãæ€èšŒããLLM ã®æç€ºãå®éã®ãã©ãŠã¶ãŒæäœãžã€ãªããŸãã
- Browser: ãã©ãŠã¶ãŒã€ã³ã¹ã¿ã³ã¹ãã³ã³ããã¹ããã¿ããããã²ãŒã·ã§ã³ãDOM æäœã管çããŸãã
- DomService: DOM ããªãŒãæ§ç¯ããæäœå¯èœãªèŠçŽ ãç¹å®ããå±¥æŽã viewport æ å ±ã远跡ããŸãã
- ããã¯ã°ã©ãŠã³ãããã»ã¹ïŒä»®æ³ãµã³ãããã¯ã¹ïŒ: èªååã¿ã¹ã¯ãéé¢ç°å¢ã§å®è¡ãããŠãŒã¶ãŒã®éåžžã®é²èЧäœéšãéªéããªãããã«ããŸãã
ð ã¡ã¢ãªç®¡ç
- ãšãŒãžã§ã³ãã¯éå»ã®æäœãæç¶çã«èšæ¶ããªããåäœããŸãããã®ããã以åã®ããåãããåŸãæèã䜿ã£ãŠã次ã®ã¹ãããã§ãããã倿ãã§ããŸããããšãã°ããã¿ã³ãæŒããŠæ°ããããŒãžãžç§»åããããšãããŒã¿æœåºæã«ãèªåããã®é·ç§»ãèµ·ããããããšãèŠããŠããããŸãã
- å±¥æŽããŒã¿ããã¡ã¢ãªããšããŠæ±ãããšã§ãã¹ãããéã§æç€ºçãªå€æ°åãæž¡ããæäœæ¥ã§è¡ããããããã£ãšç°¡æœãã€å ç¢ã«èªååãæ§ç¯ã§ããŸããè€éãªã¯ãŒã¯ãããŒã§ã¯ããã®å·®ããšãŠã倧ãããªããŸãã
- ã¢ããªã±ãŒã·ã§ã³ç¶æ : éããŠããã¿ãããã©ãŒã å ¥åå€ãèªèšŒ Cookieã
- å人èšå®: æé»ã®ã·ã°ãã«ããåŠç¿ããŸãã
- é²èЧ履æŽ: Sentence-BERT embeddings ã«ãã£ãŠæå³ããŒã¹ã§æ³èµ·ã§ãã圢ã«ãšã³ã³ãŒããããŸãã
ãã®ä»çµã¿ã«ãã£ãŠããšãŒãžã§ã³ããèªåã®è¡åæèãæ¬åœã«ãçè§£ãããããã§åããããè€éã§åçãªèªååã·ããªãªãæ§ç¯ã§ããŸãã
åºæ¬ããããã£
- context_evaluation: ã¢ã¯ã·ã§ã³åŸã®çµæåæã𿬡ã®èª¿æŽèšç»ã
- memory: 鲿ãšéèŠæ å ±ã®æç¶ä¿åã
- short_term_goal: çŽè¿ã§éæãã¹ãç®æšã
- long_term_goal: äžé£ã®æµãå šäœãå°ãæçµç®æšã
å§çž®ã¡ã¢ãª
- å®äºããåã¹ããããèŠçŽ: ã¯ãªãã¯ãããŒã¿æœåºãããŒãžç§»åãªã©ãåã¢ã¯ã·ã§ã³ã®ãã³ã«ãä»èµ·ããããšããçãèŠçŽããŸããããšãã°æ¬¡ã®ãããªå
容ã§ãã
- "Navigate: amazon.com."
- "Input text: 'parrot toy' into field 'Search Query'."
- "Query: 'Product Name' as 'Parrot Toy', 'Price' as '$22'."
- "Tap: on the 'Submit' button."
- åŸç¶ã¹ãããã§åå©çš: ããããèŠçŽã¯çŸåšã®èªååå®è¡ã®ããã ä¿æãããåŸã®å€æãã¢ã¯ã·ã§ã³ã®ææãšããŠäœ¿ãããŸãã
HuBrowser ã¯ç¶æ ã 2 ã€ã®å±€ã§ç®¡çããŸãã
- ãã«ãã¿ããªãŒã±ã¹ãã¬ãŒã·ã§ã³: è€éãªã¯ãŒã¯ãããŒã«åããŠããã©ãŠã¶ãŒã€ã³ã¹ã¿ã³ã¹ãã³ã³ããã¹ããããŒãžã管çããŸãã
- ã¿ãåäœã®ã³ã³ããã¹ã: ããŒãžèŠçŽ ã®æ
å ±ãè§£æã»æœåºããæ£ç¢ºã«å¯Ÿè±¡ãçµããŸãã
- 空ããã¹ããscriptãSVG ãªã©äžèŠããŒããé€å€ããäžæãª XPath èå¥åãä»äžããŸãã
- ARIA ããŒã«ãã€ãã³ããªã¹ããŒãcontent-editable ãªã©ããæäœå¯èœèŠçŽ ãæ€åºããŸãã
- Cookie ãããŒãåæãã€ã¢ãã°ãæ±ããŸãã
- JavaScript ã®ãã©ãããããã Python ã®ãªããžã§ã¯ããããã¯ãŒã¯ãžå€æããŸãã
ð ããŒãžãš DOM ã®åŠç
HuBrowser ã¯ãè€é㪠Web æ§é ããæ§é åããã¹ããšçªå·ä»ãã¹ã¯ãªãŒã³ã·ã§ããã«ãã£ãŠ LLM ãçè§£ãããã説æãžå€æããŸããããŒãžæ å ±ã¯ 1 åéãã®ããŒã¿ãšããŠæ±ããåãªã¯ãšã¹ãåŸã«ã¯ãªã¢ããããšã§ãã¢ãã«ã®æèå¹çãä¿ã¡ãŸãã
DOM ããªãŒè§£æ
- å¯èŠèŠçŽ ãæäœå¯èœèŠçŽ ãæåé¢èŠçŽ ãèå¥ããŸãã
- ARIAãã€ãã³ããcontent-editable ãªã©ãçµã¿åãããå€å±€çãªã€ã³ã¿ã©ã¯ãã£ãå€å®ãè¡ããŸãã
- 髿§èœãªãã€ã©ã€ããªãŒããŒã¬ã€ã§èŠçŽ ãããŒãã³ã°ããŸãã
- ãã¿ã³ãããã¹ãããŒããç»åããã©ãŒã ãã³ã³ãããªã©ãæäœäŸ¡å€ã®é«ãèŠçŽ ã«æ³šåããŸãã
- ãã£ã«ã¿ãªã³ã°: 5px æªæºã®èŠçŽ ãããšãã°ãã©ããã³ã°ãã¯ã»ã«ããç»é¢ãµã€ãºãã倧ããèŠçŽ ãç¡èŠããŸãã
- æœåº: IDãããã·ã¥ãlocator ãå«ãçµ±äž WebElementInfo ãçæããŸãã
- ã¿ã°åŠç: å€ãã®èŠçŽ ã§ã¯èŠªã¿ã°ã䜿ãããã©ãŒã ã«ã¯ç¹å¥ãªåŠçãè¡ããŸãã
- ããªãŒæäœ: æ§é åããªãŒãžå€æããããã®ã¢ã«ãŽãªãºã ãé©çšããŸãã
èŠçŽ ããããã£ã®äŸ:
ã¹ã¯ãªãŒã³ã·ã§ããåŠç
- DPRïŒDevice Pixel RatioïŒã«å¿ããè§£å床察å¿: é«è§£å床ç»é¢ãDPR > 1 ã«åãããŠã¹ã¯ãªãŒã³ã·ã§ããã調æŽãããã¯ã»ã«åäœã§æ£ç¢ºãªèŠçŽ äœçœ®ãä¿ã¡ãŸãã
- èŠçŽ ããŒãã³ã°: LLM ãèå¥ããããããã«ãæäœå¯èœèŠçŽ ãžããŒã«ãŒãæ ç·ã远å ããè¡åå¯èœãª UI ææãããäžããŸãã
ãŠãŒã¶ãŒæå³ã®èªè
- ããŠã¹ãã¿ããã®åãã®ãã¿ãŒã³ãåæããŠãŠãŒã¶ãŒã®é¢å¿ãæšå®ããã©ããåªå çã«åŠçãããæ±ºããå¿çã調æŽããŸãã
- åèŠçŽ ã«å¯ŸããŠæå³çæå³ã«ããšã¥ãçžäºäœçšå¯èœæ§ã匷調ããå¿ èŠãªãè²åã衚瀺ãè¡ããŸããããã«ããããšãŒãžã§ã³ãã¯ãã£ãšãéèŠãªæ å ±ãã¢ã¯ã·ã§ã³ãžéäžã§ããŸãã
ð§ ãšãŒãžã§ã³ãã®ç¥èœãšããŒã«çµ±å
ããŒã«çµ±åãšã¢ã¯ã·ã§ã³ç»é²
- JSON Schema æ€èšŒä»ãã®æ§é å function calling ã«ãããæ£ç¢ºãªå®è¡ãå®çŸããŸãã
- åæåŠçã»éåæåŠçã®äž¡æ¹ã«æè»ã«å¯Ÿå¿ã§ããç»é²æ¹åŒã§ãã
ð§ ãã«ãã¬ã€ã€ãŒæèã·ã¹ãã
HuBrowser ã¯ã¿ã¹ã¯ã®è€éããš LLM ã®å¿ èŠæ§ã«å¿ããŠæèã¬ã€ã€ãŒãéžã³ãæ§èœãšç²ŸåºŠã®ãã©ã³ã¹ãåããŸãã
- ããã¹ãå 容: ç»é¢äžã®å¯èŠããã¹ããæœåºã
- HTML ã¡ã¿ããŒã¿: title ã meta tagsã
- viewport ã¹ã¯ãªãŒã³ã·ã§ãã: çŸåšèŠããŠããé åã
- ããŒãžãµã ãã€ã«: äœè§£å床ãã¬ãã¥ãŒã
- ãã«ããŒãžã¹ã¯ãªãŒã³ã·ã§ãã: ããŒãžå šäœã®èŠèŠã¹ãããã·ã§ããã
- å¹³åŠå HTML ããªãŒ: äž»èŠããããã£ãæã€æ§é å DOMã
- å®å š HTML ããªãŒ: æ·±ã調æ»åãã®å®å š DOMã
- Web API ããŒã¿: 詳现ã¿ã¹ã¯åãã®æ§é åããŒã¿ã
ð¯ 察象èšç»ãšå®è¡
èšç»ææ³
- ãã©ã¡ãŒã¿æ§ç¯: èŠçŽ æèãå«ãè©³çŽ°ãªæ¢çŽ¢ãã©ã¡ãŒã¿ãäœããŸãã
- ãã©ã³äœæ: ãã©ãŒã«ããã¯æŠç¥èŸŒã¿ã®å æ¬çãªæäœãã©ã³ãçæããŸãã
- ã¿ã¹ã¯å®è¡: ãã©ã³ãå®è¡å¯èœãªã¿ã¹ã¯ãžå€æããŸãã
AI Assist ã®å¿ç:
- ããã¹ãã¢ãã«: èŠçŽ ID ãšããã®çç±ã¥ãã
- èŠèŠã¢ãã«: ããŠã³ãã£ã³ã°ããã¯ã¹åº§æšã
ã¢ã¯ã·ã§ã³æ¹åŒãšæè管ç
- èŠçŽæžã¿å±¥æŽãšãšãã«ãåäžã®ãŠãŒã¶ãŒã¡ãã»ãŒãžãä¿æããŸãã
- äžè¬çãªã¢ãã«ã«ã¯ DOM ããªãŒãèŠçŽ è©³çŽ°ãå«ãå æ¬çãªããŒãžèª¬æãæž¡ããŸãã
- èŠèŠã¢ãã«ã§ã¯ DOM æ å ±ãé€å€ãããªãŒããŒããããæããŸãã
- çµæäºæž¬ä»ãã®è©³çްãªã¢ã¯ã·ã§ã³ãã©ã³ãçæããŸãã
- å®è¡ãã°ãšãšã©ãŒæ å ±ãä¿æããŸãã
- å®è¡åã«çµæãäºæž¬ããå åãããŠãšã©ãŒå¯Ÿå¿ããŸãã
- æå€§ 4 æã®ã¹ã¯ãªãŒã³ã·ã§ããä»ãã§ã¡ãã»ãŒãžå±¥æŽãä¿æããŸãã
- ãŠãŒã¶ãŒæç€ºãã·ã¹ãã ããã³ãããžçŽæ¥çµã¿èŸŒã¿ãŸãã
- 以åã® AI å¿çãå«ããŠæèã®é£ç¶æ§ãä¿ã¡ãŸãã
- é«åºŠãªæ©èœ:
- ã¢ã¯ã·ã§ã³åè§£: è€éãªæç€ºãåå¥ã®æäœãžåããŸãã
- èŠçŽ æ¢çŽ¢ã®æé©å: æ¢ã«èŠã€ãã IDãclassã座æšãåå©çšããŠã¢ãã«åŒã³åºããæžãããŸãã
- æèå¹ç: å±¥æŽéãšæ§èœã®ãã©ã³ã¹ãåããŸãã
ð§© æè¡ç課é¡ãšè§£æ±ºç
HuBrowser ã¯ãçŸå®ã® Web èªååã§èµ·ãã課é¡ã«å¯ŸããŠé«åºŠãªè§£æ±ºçãçšæããŠããŸãã
- ðŒïž iframe åŠç: ãã¹ããã iframe ã®ååž°èµ°æ»ãš cross-origin 察å¿ã
- ð¡ïž CSP å¶é: content security policy ã«ãããããã¯ãåé¿ã»ç·©åããè€æ°æŠç¥ã
- ð Shadow DOM: åé¢ã³ã³ããŒãã³ããæ±ãé«åºŠãªèµ°æ»ã
- ð§© æ¡åŒµæ©èœã®èªåå: ãã©ãŠã¶ãŒæ¡åŒµãšã®ãã€ãã£ããªçžäºäœçšã
- ð ã³ã³ããã¹ãéã¡ãã»ãŒãžã³ã°: ããŒãžãæ¡åŒµæ©èœããŸããã·ãŒã ã¬ã¹ãªéä¿¡ã
- â±ïž ã¹ã¯ãªããæ³šå ¥ã®ã¿ã€ãã³ã°: ä¿¡é Œæ§ã®é«ãèªååã®ããã®ç²Ÿå¯ãªã¿ã€ãã³ã°å¶åŸ¡ã
- ð éæšæº HTML: æ§é ã®æªãããã¥ã¡ã³ãã§ãé äžã«æœåºã
- ð¯ èŠçŽ ç²ŸåºŠ: æ£ç¢ºã«çãããã®é«åºŠãªãã£ã«ã¿ãªã³ã°ãšæ¢çŽ¢ã
