
è¡æ¿ãšæè¡ã®èåãç®æããŠâæ³ä»€Deep ResearchããŒã«Lawsyã®éçºèšé²
ããã«ã¡ã¯ïŒæ®æ®µã¯åœå®¶å ¬åå¡ãšããŠå€åãã€ã€ãPolicyGarageïŒããªã¬ã¬ïŒã§ããŒã¿åæãAIãæ åœããŠããéŽæšå®åã§ããããžã¿ã«åºãäž»å¬ãããæ³ä»€ãÃãããžã¿ã«ãããã«ãœã³ã«åºå Žããæåªç§è³ãåè³ããŸããïŒ
ãã®ããã«ãœã³ã§ã¯ãæ³ä»€èª¿æ»æ¥åãæ¯æŽããæ³ä»€ç¹ååã®Deep ResearchããŒã«ãLawsyããéçºããOSSïŒãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ïŒãšããŠå ¬éããŸãããLawsyã¯ãæ°éäºæ¥è ã»å ¬åå¡ã»æ¿æ²»å®¶ã®çããããããå¹ççã«æ³ä»€ã調æ»ã§ããããã«ããããã®ããŒã«ã§ãã
ä»åã®ãããžã§ã¯ãã¯ããªã¬ã¬ã®æŽ»åã§ã¯ãªããå人ã®çœå·éä¹ãããç¥ä»£æŽæãããšç§ã®3人ã§åãçµã¿ãŸãããããããå€ãã®è¡æ¿é¢ä¿è ã«ç¥ã£ãŠããããããšããæããããããªã¬ã¬ã®å ŽãåããŠçºä¿¡ãããŠããã ããŸãã
以äžã§ã¯Lawsyã®éçºèšé²ãç§ã®ç®ç·ãã玹ä»ããŠãããããšæããŸãããªããæè¡é¢ãäžå¿ã«éçºã¡ã³ããŒã®çœå·ãããnoteã§èšäºãå ¬éããŠããŸãã®ã§ãåãããŠã芧ãã ããã
Lawsyãšã¯ïŒ
Lawsyã¯ãæ³ä»€ã«è©³ãããªã人ã§ãç°¡åã«æ³ä»€ã®è«ç¹ã調æ»ã§ããæ³ä»€ç¹ååDeep ResearchããŒã«ã§ããLawïŒEasyã§ãæ³ä»€æ¥åãæ¥œã«ããããšããæ³ãããåä»ããŸããã
ãããã¯ããšããŠã¯ãäŸãã°ããAIã§é éå»çãµããŒããçç¶ã®ææ¡ã¯å»çè¡çºïŒããšå ¥åãããšãWebãæ³ä»€æ å ±ãããšã«ã¬ããŒããèªåçæããŸãã

ãããšãçŽ1åã§ä»¥äžã®ãããªã¬ããŒããçæãããŸãã

æ€çŽ¢ã®å¯Ÿè±¡ã«ã¯e-govã®ãã¹ãŠã®æ³ä»€ããŒã¿ã®ã»ããWebæ å ±ãå«ãŸããŠããŸããWebããã®æ å ±ãåã蟌ãããšã§ãæ³ä»€æ å ±ãæ¿çã»å€äŸã»åœäŒãªã©ã®é¢é£æ å ±ãšçµ±åãã€ã€ãæ å ±åéã»æŽçã»è§£èª¬ã容æã«ããããšãå¯èœã«ãªããŸãã
ãŸããããžã¿ã«å ¬å ±è²¡ãšãã¹ããMITã©ã€ã»ã³ã¹ã§LawsyãOSSå ¬éããããšã«ããŸãããçããã§èªç±ã«æŽ»çšããã ããæ³ä»€Ãããžã¿ã«ã®ã³ãã¥ããã£æŽ»æ§ã®äžå©ã«ãªãã°ãšæã£ãŠããŸãã
ãã£ããåå ãããªãå¿é«ã
ããã«ãœã³ã®ããŒãã¯ãæ³ä»€çããŒã¿ãšAIçã®ãã¯ãããžãŒã掻çšããäœåã®éçºãã§ãå ·äœçã«ã¯ããæ³å¶äºåã®å¹çåãããæ³ä»€çããŒã¿ã®æŽåã瀟äŒãžã®æäŸãããæ³ä»€çããŒã¿ã®å©æŽ»çšä¿é²ãããžãã¹åµåºãã®3ã€ã®æ¹åæ§ãæç€ºãããŠããŸããã
æã ã®ããŒã ã«ã¯ãããã£ããåå ãããªããæ¿åºã®åºå¹¹ã·ã¹ãã ãšããŠæ¡çšããããã®ãäœãããããšããæ³ãããããŸãããå®ã¯ãã¡ããã©ãã®é ãç¥äººã§ãããæ å ±åŠçæšé²æ©æ§ã®ç»å€§éããã®ãã¬ãŒã³ãèããç¹ã«ä»¥äžã®èšèã«æéãåããŸãããä»åã®ããã«ãœã³ã¯è¡æ¿èª²é¡ã®è§£æ±ºã«è³ããã ãšæããè¬ã«å¿é«ãåçµãããšã«ããŸããã
æ¥æ¬ã 21 äžçŽã«ãããããžã¿ã«ç«åœãå®çŸãããµããã³åœéç«¶äºåã®ãã æ¥æ¬ç€ŸäŒã®ç¹æ ãå埩ããäžçã«è²¢ç®ããããã«ã¯ãæ¥æ¬ã«ãããŠæå€§èŠæš¡ã®ã³ã³ ãã¥ãŒã¿ãŠãŒã¶ãŒã§ãããå ¬åå¡ãããèªããè¡æ¿çãªäºååŠç解決ã解決ããããã® åçš®æè¡ããããããèªåŸçã«èªäœããŠã¿ãããšãã倧å€ã«æçã§ããã
ãããã¯ãèšèš
課é¡ã®æŽãåºã
ãããã¯ãèšèšã®ããã«ãããžã¿ã«åºã瀺ãã3ã€ã®æ¹åæ§ã念é ã«çœ®ãã€ã€ããŸãã¯æ³ä»€ã®å©çšè ã®èª²é¡ãææ¡ãããšããããã¯ãããŸãããåœå®¶å ¬åå¡ãå°æ¹å ¬åå¡ãåŒè·å£«ãå€§äŒæ¥ããã³ãã£ãŒäŒæ¥ãæ¿æ²»å®¶ãªã©æ³ä»€æ¥åã«é¢é£ããæ¹ã«ãã¢ãªã³ã°ã宿œã課é¡ã¯ä»¥äžã®ãããªãã®ã§ããã
å ¬åå¡ïŒæ³ä»€ã»æ¡äŸæ¹æ£ã§ã¯æ³ä»€ã®é©çšç¯å²ãé¢ä¿æ§ã®èª¿æ»ã倧å€ããŸããäžè¬çãªæ¿çç«æ¡æã«ãæ³ä»€èª¿æ»ãå¿ èŠã ãã調æ»äœæ¥ã倧å€ãç¹ã«DXæšé²ãå«ã°ããäžãæ³ä»€ã»æ¡äŸã®æ¹æ£ãã»ããã§æ€èšãããããšãå€ããä»åŸãäœæ¥ãå¢å èŠèŸŒã¿ã
åŒè·å£«ïŒæ³ä»€èª¿æ»ã®éãèªãã¹ãããã¥ã¡ã³ãïŒæ³ä»€ã解説æ¬ãå€äŸçïŒãå€ããæŽçããã®ã倧å€ã
äŒæ¥ïŒæ°èŠäºæ¥ã®äŒç»æã«ãã©ã®æ³ä»€ãé¢ä¿ããã調æ»ããã®ã«æéãšã³ã¹ããããããå°éå®¶ã«äŸé Œããã®ãäžèŠåŽã
æ¿æ²»å®¶ïŒåžæ°ããã®èŠæã«å¯Ÿããã©ã®æ³ä»€ã»æ¡äŸãéå£ã«ãªã£ãŠãããã®ç¹å®ã»å¯Ÿå¿å¯åŠãå³åº§ã«å€æã§ããªãã
ããããæŽçããæ³ä»€èª¿æ»ïŒæ å ±åéã»æŽçã«ã¯æéã»æéã»ã³ã¹ããããããšããå ±éã®èª²é¡ãæµ®ãã³äžãããŸããã
ãããã¿ã€ãã³ã°ãšã€ãã¬ãŒã·ã§ã³
å ±é課é¡ã«å¯ŸããŠãRAGïŒRetrieval-Augmented GenerationïŒã掻çšã§ããã®ã§ã¯ãšèããããã«ãœã³ã®å²ãšæ©ã段éã§çœå·ããã«æ³ä»€ããã¯ãã«ããŒã¿ããŒã¹ã«ããç°¡åãªRAGã®ãããã¿ã€ããå®è£ ããŠããããŸããã
ãã®ãããã¿ã€ãã詊ããŠã¿ããšãæ³ä»€æ åœã®å ¬åå¡ãåŒè·å£«ãè¡ãã¬ãã«ã®æ³ä»€èª¿æ»ã«ã¯ãããã«ãœã³æéå ã§ã¯å°éã§ããªãã®ã§ã¯ãªãããšãã課é¡ãèŠããŠããŸãããããã§ããã«ãœãããæ³ä»€ã®å°éå®¶ã§ã¯ãªã人ãã«çµãããšã«ããŸãããå ·äœçã«ã¯ãæ³ä»€æ åœå€ã®äžè¬å ¬åå¡ãæ°éäŒæ¥ã®äºæ¥æ åœè ãæ¿æ²»å®¶ã§ããããã®äººã ããå°éå®¶ã®æãåããªããŠãæ³ä»€èª¿æ»ãã¹ã ãŒãºã«ã§ããããŒã«ãç®æããŸããã
ãããã¿ã€ãã³ã°ãšã€ãã¬ãŒã·ã§ã³ãç¹°ãè¿ãããšã§ããå°éå®¶ã«äŸåãããšããé©åãªæ³ä»€ããã®åšèŸºã®æ å ±åéã»æŽçã»è§£èª¬ãå¯èœã«ããããšã§ãæ³ä»€èª¿æ»æ¥åã®å¹çåãããããšãããããã¯ãã®æ¹åæ§ãæç¢ºã«å®ãŸããŸãããéçºã®åææ®µéã§ãã®æ¹éãåºããããããšã§ã以åŸã®éçºãã¹ã ãŒãºã«é²ã¿ãŸããã
ãããã¯ãéçº
å è¡äºäŸç ç©¶
RAGãæŽ»çšããæ³ä»€ãªãµãŒãããŒã«ãéçºããããšã決å®ããŸããããæ¢ã«PerplexityãFeloãªã©ãLLMãæŽ»çšããé«åºŠãªãªãµãŒãããŒã«ãååšããŠããŸãããã®ãããå·®å¥åãå³ãããã«ãããŸãã¯æ¢åã®ãããã¯ãã培åºçã«è©ŠããLawsyã«å¿ èŠãªæ©èœãæç¢ºã«ããããšããå§ããŸããã
ç¹ã«åèã«ããã®ããã¹ã¿ã³ãã©ãŒã倧åŠãéçºãããSTORMã ãšããOSSã®ãªãµãŒãããŒã«ã§ããSTORMã¯ããŠãŒã¶ãŒã®ã¯ãšãªãŒã«åºã¥ããŠãWikipedia颚ã®èšäºãèªåçæããLLMããŒã¹ã®ã·ã¹ãã ã§ã質ã®é«ãã¬ããŒããçæã§ããç¹ãç¹åŸŽã§ãã
STORM ã§ã¯ä»¥äžã®ãããªæµãã§èšäºãäœæããŸãã
ãŠãŒã¶ãŒããäžããããã¯ãšãªãŒãå±é
èšäºå·çè ã®ãã«ãœããè€æ°çæ
ãã«ãœã圹ãšãã¬ããžãšãã¹ããŒã圹ã«åããã察話ãè¡ããªãããæ å ±ãåé
åéãããæ å ±ããã¢ãŠãã©ã€ã³ãçæ
èšäºã®ãã©ãããäœæ
ãã©ããã«ãªãŒãæãã€ãæšæ²
ãªããSTORMã§ã¯DSPyã䜿çšãããŠããŸãã
ã¯ãŒã¯ãããŒã®æ§ç¯
STORMãããŒã¹ã«ãã€ã€ãæ³ä»€æ€çŽ¢ã«ç¹åãããã軜éã§çŽ æ©ãçµæãåŸãããæ€çŽ¢äœéšãç®æããŸãããéçºæéåŸåã«ChatGPTãPerplexityçã§Deep Researchãå ¬éããå§ããããšãšã®å·®å¥åãšããæå³åãããããŸãããã®ãããLawsyã§ã¯ä»¥äžã®ã¯ãŒã¯ãããŒãæ¡çšããŸããã
ãŠãŒã¶ãŒããäžããããã¯ãšãªãŒãWebæ€çŽ¢çšã«æé©å
æé©åãããã¯ãšãªãŒãçšããŠWebæ€çŽ¢ïŒãã¡ã€ã³æå®ãªãïŒãã¡ã€ã³æå®ããïŒ
Webæ€çŽ¢çµæãããšã«ã¯ãšãªãŒãå±é
åã¯ãšãªãŒã«å¯ŸããŠæ³ä»€ãã¯ãã«æ€çŽ¢
Webæ€çŽ¢çµæãšæ³ä»€ãã¯ãã«æ€çŽ¢çµæããªã©ã³ãã³ã°
åŒçšããæç®ãæŽçããªããã¢ãŠãã©ã€ã³çæïŒã¿ã€ãã«ãã»ã¯ã·ã§ã³ããµãã»ã¯ã·ã§ã³ïŒ
ãµãã»ã¯ã·ã§ã³ã®å 容ãèšèŒ
çµè«ã®çæ
ãªãŒãæã®çæ

STORMã®ã¢ãããŒããå¿çšãã€ã€ãLawsyã§ã¯æ€çŽ¢ã®è»œéåãšæ³ä»€ç¹ååã®æ å ±æŽçã«éç¹ã眮ããŸãããç¹ã«ãã¬ããŒãçæã«æéããããSTORMã«å¯ŸããLawsyã§ã¯æ€çŽ¢å¯Ÿè±¡ãæ³ä»€ããŒã¿ïŒä¿¡é Œæ§ã®é«ãWebæ å ±ã«çµãããšã§ãããçŽ æ©ãã粟床ã®é«ãæ€çŽ¢äœéšãæäŸããããšãç®æããŸããã
ãªããããã«ãœã³ã®æ¬çªçšã® LLM ã«ã¯ OpenAI ã® GPT-4o ã䜿ããŸãããGPT-4o-mini ã§ãå²ãšå®å®çã«ã¬ããŒãçæã§ããããšã¯ç¢ºèªããŠããŸãã
次ã®ã»ã¯ã·ã§ã³ã§ã¯ãLawsyã®åã¯ãŒã¯ãããŒã®è©³çްã«ã€ããŠç޹ä»ããŸãã
1. ãŠãŒã¶ãŒããäžããããã¯ãšãªãŒãWebæ€çŽ¢çšã«æé©å
è©Šäœæ®µéã§ã¯ãChatGPTã®ãããªæèŠã§é·æã®ã¯ãšãªãŒãå ¥åããŠããŸããWebæ€çŽ¢ã®äžéã«åŒã£ããããšããåé¡ãçºçããŸãããäŸãã°ãTavilyã§ã¯æå€§400æåã®å¶éãããããããè¶ ãããšæ€çŽ¢ã§ããŸããããã®åé¡ã解決ãããããã¯ãšãªãŒãç°¡æœã«ãã€ã€ãæ€çŽ¢ç²ŸåºŠãèœãšããªãããã«ããæé©åã¯ãŒã¯ãããŒãå°å ¥ããŸããã
class RefineQuery(dspy.Signature):
"""
ããªãã¯Webã®æ±ãã«é·ããåªç§ãªæ³åŸå®¶ã§ãã
äžèšã®ãŠãŒã¶ãŒã®ã¯ãšãªãŒã«ããããŠãæ³ä»€èгç¹ããã®åçãäžããŠãããããªç°¡æœãªã¯ãšãªãŒãäžã€äœã£ãŠãã ããã
ãªããäœæã«ããã£ãŠã¯äžèšãå®ã£ãŠäžããã
- æ³ä»€èгç¹ããã®åçãäžããŠãããããªã¯ãšãªãŒãã€ããããš
- ããªãã®äœã£ãã¯ãšãªãŒã¯å¯èœãªéããŠãŒã¶ãŒãäœã£ãã¯ãšãªãŒã®æå³ãšéäžè¶³ãªãäžèŽãããããš
- ã¯ãšãªãŒã¯æ¥æ¬èªã§äœæããããš
- Webæ€çŽ¢ã«æé©åããããš
- ç°¡æœã§ããããš
"""
query = dspy.InputField(desc="ãŠãŒã¶ãŒã®ã¯ãšãªãŒ", format=str)
refined_query = dspy.OutputField(desc="ããªãã®äœæããã¯ãšãªãŒ", format=str)äŸãã°ã以äžã®ããã«å€æãããŸã
ãå ¥åãããã¯ãšãªã
æ¥æ¬ã®æ³ä»€ã«ã¯ã¢ããã°èŠå¶ãšããããžã¿ã«åã劚ãã人ãçŽã®ä»åšãåæãšããèŠå¶ããããŸããã¢ããã°èŠå¶ã«è©²åœãããå ·äœçãªæ¡æããç¹å®ãã解説ããŠãã ãããã¢ããã°èŠå¶ã®åºæºã¯ä»¥äžã®ãšããã§ãã
ã»ç®èŠèŠå¶ïŒäººãçŸå°ã«èµŽããæœèšãèšåãç¶æ³çããæ³ä»€çãæ±ããäžå®ã®åºæºã«é©åããŠãããã©ããããç®èŠã«ãã£ãŠå€å®ããããšïŒæ€æ»ã»ç¹æ€ïŒãã宿 ã»ååçãç®èŠã«ãã£ãŠæç¢ºåããããšïŒèª¿æ»ïŒãäººã»æ©é¢ã®è¡çºãéµå®ãã¹ã矩åã«éåããŠããªããã©ãããèšåã»æœèšã®ç¶æ çã«ã€ããŠãäžå®æéãåžžææ³šç®ããããšïŒå·¡èŠã»èŠåŒµãïŒãæ±ããŠããèŠå¶
ã»å®å°ç£æ»èŠå¶ïŒäººãçŸå Žã«èµŽããæœèšãèšåãç¶æ³çããæ³ä»€çãæ±ããäžå®ã®åºæºã«é©åããŠãããã©ããããæžé¡ã»å»ºç©çã確èªããããšã«ãã£ãŠå€å®ããããšãæ±ããŠããèŠå¶
ã»å®ææ€æ»ã»ç¹æ€èŠå¶ïŒæœèšãèšåãç¶æ³çããæ³ä»€çãæ±ããäžå®ã®åºæºã«é©åããŠãããã©ããããäžå®ã®æéã«äžå®ã®é »åºŠã§å€å®ããããšïŒç¬¬äžè æ€æ»ã»èªäž»æ€æ»ïŒãã宿 ã»ååã»éçããäžå®ã®æéã«äžå®ã®é »åºŠã§æç¢ºåããããšïŒèª¿æ»ã»æž¬å®ïŒãæ±ããŠããèŠå¶
ã»åžžé§ã»å°ä»»èŠå¶ïŒïŒç©ççã«ïŒåžžã«äºæ¥æãçŸå Žã«çãŸãïŒïŒç¹å®ã®è ã«å¯ŸããŠãç¹å®ã®æéãç¹å®ã®å Žæãžã®åžžææ»åšã矩åä»ããŠãããïŒããšããè·åã®åŸäºãäºæ¥æãžã®æå±çã«ã€ããŠãå Œä»»ãããå°ããã®ä»»ã«åœããããšïŒïŒäººïŒçŸå Žã®çŽä»ãçïŒãæ±ããŠããèŠå¶
ã»å¯Ÿé¢è¬ç¿èŠå¶ïŒåœå®¶è³æ Œçã®è¬ç¿ããªã³ã©ã€ã³ã§ã¯ãªã察é¢ã§è¡ãããšãæ±ããŠããèŠå¶
ã»æžé¢æ²ç€ºèŠå¶ïŒåœå®¶è³æ Œçãå ¬çãªèšŒææžçã察é¢ç¢ºèªãçŽçºè¡ã§ãç¹å®ã®å Žæã«æ²ç€ºããããšãæ±ããŠããèŠå¶
ã»åŸèšªé²èЧã»çžŠèЧèŠå¶ïŒç³è«ã«å¿ããŠãåã¯ç³è«ã«ãããå ¬çæ å ±ãé²èЧã»çžŠèЧããããã®ã®ãã¡ãå ¬çæ©é¢çãžã®èšªåãå¿ èŠãšãããŠããèŠå¶
ãWebæ€çŽ¢çšã«æé©åãããã¯ãšãªã
æ¥æ¬ã®ã¢ããã°èŠå¶ã«è©²åœããå ·äœçãªæ³ä»€æ¡æãç¹å®ããç®èŠèŠå¶ãå®å°ç£æ»èŠå¶ãå®ææ€æ»ã»ç¹æ€èŠå¶ãåžžé§ã»å°ä»»èŠå¶ã察é¢è¬ç¿èŠå¶ãæžé¢æ²ç€ºèŠå¶ãåŸèšªé²èЧã»çžŠèЧèŠå¶ã«é¢ããè§£èª¬ãæ¢ã
2. æé©åãããã¯ãšãªãŒãçšããŠWebæ€çŽ¢
æé©åããã¯ãšãªãŒã䜿ããWebæ€çŽ¢ã宿œããŠææ°æ å ±ãååŸããŸãããã®éããã¡ã€ã³æå®ãã/ãªãã®äž¡æ¹ã®æ€çŽ¢ãçµã¿åãããããšã§ã粟床ãšé®®åºŠã®äž¡æ¹ã確ä¿ããŸããããªããæå®ãããã¡ã€ã³ã¯ConfigããŒãžã§ä¿®æ£å¯èœã§ãã
ãã¡ã€ã³æå®ãªãã®æ€çŽ¢ïŒäžè¬Webæ€çŽ¢ïŒ
ã»ã¡ãªããïŒææ°ã®ãã¥ãŒã¹ãæè¡çãªè§£èª¬ãååŸã§ãã
ã»äŸïŒå
«æœ®åžéè·¯é¥æ²¡äºæ
ãªã©ãæ°ããäºäŸã®æ€çŽ¢ã«å¯Ÿå¿
ãã¡ã€ã³æå®ããã®æ€çŽ¢ïŒæ¿åºã»åœäŒã»è£å€æãµã€ãçïŒ
ã»ã¡ãªããïŒå
Œξ
å ±ãä¿¡é Œæ§ã®é«ãæ¿çæ
å ±ãååŸã§ãã
ã»äœ¿çšãããã¡ã€ã³ïŒ
ããgo.jpïŒäžå€®çåºã»æ¿åºæ©é¢ïŒ â æ³ä»€ãæ¿çæ
å ±
ããshugiin.go.jp / sangiin.go.jpïŒåœäŒïŒ â å¯©è°æ
å ±
ããcourts.go.jpïŒè£å€æïŒ â å€äŸæ
å ±
ãããŸã§å ¬åå¡ãšããŠå€åããŠããçµéšããããgo.jpããã¡ã€ã³ã§å ¬è¡šããæ å ±ã¯ãé«ãåè³ªãæ±ããããããšã宿ããŠããŸãã誀ãããã£ãŠã¯ãªããªããšããæèã®ããšã峿 Œãªãã§ãã¯ãçµãŠå ¬éãããæ å ±ã¯ãæ¿çãæ³ä»€ãçè§£ããäžã§éåžžã«ä¿¡é Œæ§ãé«ããã®ã§ããLawsyã§ã¯ãããããæ¿åºæ©é¢ã®æ¥ã ã®åçµã¿ã«æ¯ãããã質ã®é«ãæ å ±ãæŽ»çšããããšã§ã粟床ã®é«ãã¬ããŒãçæãå®çŸããŠããŸãã
ãŸãããã¡ã€ã³æå®æ€çŽ¢ãå°å ¥ããããšã§ãä¿¡é Œæ§ã®é«ãæ å ±ãœãŒã¹ãå¹ççã«ååŸã§ããã ãã§ãªããæ€çŽ¢æéãå€§å¹ ã«ççž®ã§ããŸããããã¯ãããžãŒã ãã§ã¯ãªããå®åçµéšã«åºã¥ããã©ã®æ å ±ãä¿¡é Œãã¹ãããã®ç¥èãšçµã¿åãããããšã§ãããå®çšçãªãããã¯ããäœãããšæ¹ããŠæããŸããã
3. Webæ€çŽ¢çµæãããšã«ãã¯ãšãªãŒãå±é
ãŠãŒã¶ãŒãå ¥åããã¯ãšãªãŒãããã®ãŸãŸæ³ä»€æ€çŽ¢ã«ãããã ãã§ã¯ååãªç²ŸåºŠãåŸãããŸããããã®ãããåŸãããWebæ€çŽ¢çµæãããšã«ãé¢é£ãããªãµãŒããããã¯ãæœåºããæ³ä»€æ€çŽ¢åãã®ããŒã¯ãŒããå±éããŸãã
ãã€ã³ããšããŠã¯ããŠãŒã¶ãŒã®æå³ãããæ·±ãåæ ããã«ãªãµãŒããã¹ããããã¯ãå¢ãããæ³ä»€ã§äœ¿ãããå°éçšèªã«çœ®ãæããããšã§æ€çŽ¢ç²ŸåºŠãåäžãããããã«æ³ä»€çšèªã«å€æããããšããç¹ã«ãããŸãã
class GenerateDetailedTopics(dspy.Signature):
"""ããªãã¯æ¥æ¬ã®æ³ä»€ã«ç²Ÿéããå°éå®¶ã§ãã
äžèšã®ã¯ãšãªãŒã«é¢ããŠãäºåã«Webæ€çŽ¢ãããŠç°¡åã«äžèª¿ã¹ããŠãããŸãã
Webæ€çŽ¢çµæããµãŸããã¯ãšãªãŒã«é¢ããæ³ä»€ã®è§£èª¬ã»è§£éææžãäœæããããã«å¿
èŠãªæ³ä»€ãæ€çŽ¢ããããšããŠããŸãã
æ³ä»€æ€çŽ¢ã¯ã»ãã³ãã£ãã¯ãµãŒãã§ããã®ã§ããŒã¯ãŒãã»çæãªã©ã§æ€çŽ¢å¯èœã§ãã
解説ã»è§£éã«å¿
èŠãªæ³ä»€ãé©åã«ãããããããããã®æ€çŽ¢ãããã¯ã以äžã®åœ¢åŒã§ãªã¹ãã¢ããããŠãã ããã
åºåãã©ãŒãããïŒ
- xxx
- yyy
- ...
- zzz
æ€çŽ¢ãããã¯ããªã¹ãã¢ããããã«ãããã以äžã®æ¡ä»¶ãéµå®ããŠãã ããã
- ã¯ãšãªãŒã®æå³ãååæ±²ã¿åãããš
- ã¯ãšãªãŒã«å¯Ÿããæ³ä»€è§£èª¬ã»è§£éãè¡ãã®ã«å¿
èŠãªæ³ä»€ãæãããã«æ€çŽ¢ãããã¯ããªã¹ãã¢ããããŠãã ãã
- äžè¬çãªçšèªã¯æ³ä»€ã§ã®å°éçšèªãåªå
ããŠãã ãããæ³ä»€çšèªãå«ãŸããŠããªãå Žåã¯ã該åœããããªæ³ä»€çšèªãé¢é£çšèªãè£å®ããŠãã ãã
- æ€çŽ¢ãããã¯ã¯å¯èœãªéãäºãã«éè€ãããåå¥ã«èª¿æ»å¯èœãªåœ¢ã«ããŠãã ããã **self-contained** ã§ããã¹ãã§ã
- æ€çŽ¢ãããã¯ã¯æ³ä»€ã³ãŒãã¹ã«æºæ ããå
·äœçãªãã®ã«ããŠãã ããïŒçæãŸãã¯å
·äœçãªæ³ä»€çšèªïŒ
- æ€çŽ¢ç²ŸåºŠãé«ãããããæ³ä»€ã§ã®äœ¿çšãæ³å®ãããå
·äœçãªå°éçšèªãé¢é£ããæ¡æçªå·ãå«ããŠãã ãã
- æ€çŽ¢ãããã¯ããã³ããªã³ã°ããå¿
èŠã¯ãããŸãããæ€çŽ¢ãããã¯ã®å
容ã®ã¿èšèŒããŠãã ãã
- æ€çŽ¢ãããã¯ã®åæ°ã¯å€ããŠã10åãŸã§ã«ããŠãã ãããå€ããã°ãããšããããã§ã¯ãªãã§ã
"""
query = dspy.InputField(desc="ã¯ãšãªãŒ", format=str)
web_search_results = dspy.InputField(desc="Webæ€çŽ¢çµæ", format=str)
topics = dspy.OutputField(desc="ãªã¹ãã¢ãããããæ€çŽ¢ãããã¯", format=str)
äŸãã°ããAIã§é éå»çãµããŒããçç¶ã®ææ¡ã¯å»çè¡çºïŒããšããã¯ãšãªãŒã®å Žåã¯ã以äžã®ãããªå±éãè¡ãããŸãã
å±éãããã¯ãšãªãŒ:
[1] é éå»çã«ãããAIã®æ³çèŠå¶
[2] å»çè¡çºã®å®çŸ©ãšAIã®åœ¹å²
[3] ãªã³ã©ã€ã³èšºçã«é¢ããåçåŽåçã®æé
[4] å»çAIã®æ³ç責任ãšå«ç
[5] å»çAIã®èšºææ¯æŽã«é¢ããæ³ä»€
[6] é é蚺çã«ãããAIã®æŽ»çšäºäŸãšæ³ç課é¡
[7] å»çAIã®å°å ¥ã«é¢ããæ³çæ çµã¿
[8] å»çè¡çºãšAIã«ããçç¶ææ¡ã®å¢ç
[9] å»çAIã®å®å šæ§ãšå質管çã«é¢ããæ³ä»€
[10] å»çAIã®ããŒã¿ãã©ã€ãã·ãŒãšã»ãã¥ãªãã£
4. åã¯ãšãªãŒã«å¯ŸããŠæ³ä»€ãã¯ãã«æ€çŽ¢
æ³ä»€ã®ãã¯ãã«æ€çŽ¢ãå®è¡ããã«ããããæ³ä»€ã®XMLããŒã¿ã¯ãã®ãŸãŸã§ã¯æ±ãã«ããããã¯ãã«æ€çŽ¢ã«é©ãã圢åŒã«å€æããå¿ èŠããããŸããããã®åŠçã«ã¯å€ãã®èª²é¡ããããŸããããéçºã¡ã³ããŒã®çœå·ããã®å°œåã«ãããã¹ã ãŒãºã«æ€çŽ¢ã§ããåœ¢ã«æŽããããšãã§ããŸããïŒããžã¿ã«åºããæ³ä»€ã®ãã¯ãã«æ€çŽ¢çšã®ããŒã¿ããŒã¹ãªã©ãæäŸãããŠããã°è»èŒªã®åçºæãè¡ããããã£ãšæè»ãªãããã¯ãéçºãã§ããã®ã§ã¯ãšæããŸãããâŠïŒã
ç¹ã«å€æãé£ããã£ãã®ã¯ãã£ã³ã¯åã§ããæ¡æããšã«åºåããšæèã倱ãããéã«æ³ä»€å šäœã1ã€ã®åäœã«ãããšé·ãããŠåŠçãå°é£ã«ãªããŸããããã§ãæèãä¿æããªãããé©åãªé·ããç¶æã§ãããããæ³ä»€ã®æ§é ãèæ ®ããŠãã£ã³ã¯ãäœæããŸããããã®èª¿æŽã«ãããæ€çŽ¢ã®ç²ŸåºŠãä¿ã¡ã€ã€ãå¹ççã«æ å ±ãååŸã§ããããã«ãªããŸããã
éèååååŒæ³
æ¬å
第äžç« ãç·å
ç¬¬äžæ¡ ïŒç®çïŒ
ãã®æ³åŸã¯ãäŒæ¥å
容çã®é瀺ã®å¶åºŠãæŽåãããšãšãã«ãéèååååŒæ¥ãè¡ãè
ã«é¢ãå¿
èŠãªäºé
ãå®ããéèååååŒæã®é©åãªéå¶ã確ä¿ããããšçã«ãããæäŸ¡èšŒåžã®çºè¡åã³éèååçã®ååŒçãå
¬æ£ã«ããæäŸ¡èšŒåžã®æµéãåæ»ã«ããã»ããè³æ¬åžå Žã®æ©èœã®åå
šãªçºæ®ã«ããéèååçã®å
¬æ£ãªäŸ¡æ Œåœ¢æçãå³ãããã€ãŠåœæ°çµæžã®å¥å
šãªçºå±åã³æè³è
ã®ä¿è·ã«è³ããããšãç®çãšããããªããä»åã¯äœ¿çšããŸããã§ããããæ³ä»€XMLã®ããŒãµãŒã«ã¯Lawtextã®ãããªãã®ããããæ³ä»€Ãããžã¿ã«åéãå 人ãã¡ã®ç©ã¿äžãã«ãã£ãŠãããŸã§æ¥ãŠãããšããããšã宿ããŸããã
5. Webæ€çŽ¢ãšæ³ä»€ãã¯ãã«æ€çŽ¢ã®çµæããªã©ã³ãã³ã°
Webæ€çŽ¢ãšæ³ä»€ãã¯ãã«æ€çŽ¢ã§ååŸããæ å ±ããããé¢é£æ§ã®é«ããã®ãäžäœã«æ¥ãããã«åæŽçããŸããWebæ€çŽ¢ã®ã¹ããããã¯ãªã¢ã«ã¿ã€ã ã§ãã¯ãã«åããã¯ãšãªãŒãšã®é¡äŒŒåºŠãèšç®ãæ³ä»€æ€çŽ¢ã®çµæãåæ§ã«åŠçããæãé©åãªæ å ±ãåªå çã«è¡šç€ºã§ãããã調æŽããŸããããã®ãªã©ã³ãã³ã°ã«ãããå¿ èŠãªæ å ±ãå¹çããååŸã§ããä»çµã¿ãå®çŸããŸããã
以äžã®å
容ã«é¢ããæ³ä»€è§£èª¬ææžãäœãã«ããã£ãŠåèã«ãªãWebããŒãžãæ³ä»€ãã»ãã
äž»é¡ãšãªãã¯ãšãªãŒ: {{å
¥åã¯ãšãªãŒ}}
é¢é£ãããããã¯: {{å±éããããããã¯}}6. ã¢ãŠãã©ã€ã³çæ
ãããã¿ã€ãã§ã¯ãååŸããæ å ±ããã®ãŸãŸäœ¿ã£ãŠèšäºãçæããŠããŸãããããã®æ¹æ³ã§ã¯é·æã®ã¬ããŒããäœãããåç §ããæ å ±ã«åããåºããšããåé¡ããããŸãããããã§ãSTORMã®ææ³ãåèã«ã¢ãŠãã©ã€ã³çæã®ã¬ã€ã€ãŒãæãã ãšãããæ å ±ã®æŽçãã¹ã ãŒãºã«ãªãããã質ã®é«ãã¬ããŒããäœæå¯èœã«ãªããŸããã
ç¹ã«ãã¢ãŠãã©ã€ã³çæã®ããã³ããèšèšã¯ãèšäºã®ç²ŸåºŠãå 容ã倧ããå·Šå³ããéèŠãªéšåã§ããã©ã®ããã«æ å ±ãåŒçšããããã©ãæŽçãããã现ãã調æŽããããšã§ãé©åãªæ§æãšå 容ãå®çŸããŸããã
èããŠã¿ãã°ãç§ãè³æãäœããšããããããªãæç« ãæžãå§ããã®ã§ã¯ãªãããŸãæ§æãæ±ºããŠãããŸããAIã«ããã®ããã»ã¹ãåãå ¥ããããšã§ãããèªç¶ãªæµãã®ã¬ããŒããçæã§ããããã«ãªããŸããã
class CreateOutline(dspy.Signature):
"""ããªãã¯ããã¥ãŒã¹ãåžžã«ãã©ããŒãã€ã€ãæ¥æ¬ã®æ³ä»€ã«ç²ŸéããŠããå°éå®¶ã§ããåéãããæ
å ±æºãããšã«ãäžèšã®ã¯ãšãªãŒã«å¯Ÿããã¬ããŒããšããŠé©åãªã¢ãŠãã©ã€ã³ãšç°¡æœãªã¿ã€ãã«ãäœæããŠãã ããããŸããæåŸã«ã¬ããŒãã®ã¿ã€ãã«ãäœæããŠãã ãããçµè«ããŒãã¯çµ¶å¯Ÿã«äœæããªãã§ãã ããã
ã¢ãŠãã©ã€ã³ã¯ä»¥äžã®Markdownãã©ãŒãããã«åŸã£ãŠäœæããæ¬¡ã®ã«ãŒã«ãå³å®ããããšã
1. ã¯ãšãªãŒã«å¯ŸããŠãæ³ä»€èгç¹ã§ã®è§£èª¬ã»è§£éãå«ãåçãç®çãšããæ§æã«ããã
2. "# Title" ãã¬ããŒãã®ã¿ã€ãã«ã«çšããã
3. "## Title" ãã»ã¯ã·ã§ã³ã®ã¿ã€ãã«ãšããŠçšããã
- åã»ã¯ã·ã§ã³ ("## Title") ã«å¯ŸããŠãå¿
ã2ïœ3å以äžã®ãµãã»ã¯ã·ã§ã³ ("### Title") ãçæããããš
- ã»ã¯ã·ã§ã³æ°ã¯ã¯ãšãªãŒã«å¿ããŠ5ïœ20åã®éã§äœæããããšãç¶²çŸ
çãªåçãå¿
èŠãªå Žåãã»ã¯ã·ã§ã³æ°ã¯å€ãæ¹ã奜ãŸãã
4. "### Title" ããµãã»ã¯ã·ã§ã³ã®ã¿ã€ãã«ãšããŠçšããã
- åãµãã»ã¯ã·ã§ã³ã«ã¯ãåéãããæ
å ±æºãã§ããã ãå€ãå«ããããã«ããå¿
ãæäœ3ïœ5å以äžã®ç°ãªãåŒçšçªå·ã䜿çšããããš
- ãµãã»ã¯ã·ã§ã³å士ã§å
容ãé¡äŒŒããããªå ŽåïŒæ
å ±æºã®æ³ä»€ã»æ¡æãåããã¿ã€ãã«ãé
·äŒŒïŒããµãã»ã¯ã·ã§ã³ã¯çµ±åããä»ã®è«ç¹ã®ãµãã»ã¯ã·ã§ã³ã远å ããããš
- ãµãã»ã¯ã·ã§ã³ã®åŒçšçªå·ãä»ãšéè€ããå Žåããã倿§ãªæ
å ±æºãåãå
¥ããããã«ãã¢ãŠãã©ã€ã³å
šäœãçµ±åã»åç·šæããããš
- å¿
èŠã«å¿ããŠãããã«äžäœã®éå±€ãåæ§ã«2ã€ä»¥äžçæããããšã
5. åŒçšæ
å ±ã®èšèŒæ¹æ³
- ä»åŸå¿
èŠãšãªãã®ã§ã"### Title"ã®ãµãã»ã¯ã·ã§ã³ã¿ã€ãã«äœæã®éã«ã¯åç
§ããæ¡æã®åŒçšçªå·ãèšèŒ
- åŒçšçªå·ã¯ãµãã»ã¯ã·ã§ã³ã®æ¬¡ã®è¡ã«èšèŒããããšãã»ã¯ã·ã§ã³ããµãã»ã¯ã·ã§ã³ã®è¡ã«ã¯åŒçšçªå·ã¯ã€ããªãã
- "### Title [3][4]" ã®ããã«åãè¡ã«åŒçšçªå·ãèšèŒããŠã¯ãªããªã
6. Markdownãã©ãŒãããã«é¢ããã«ãŒã«
- "## çµè«"ãšããçµè«ããŒãã¯çµ¶å¯Ÿã«äœæããŠã¯ãããªã
- åºåã«ã¯ "# Title", "## Title"ã"### Title"ã"#### Title" ãªã©ã®Markdown圢åŒã®ã¿ã€ãã«ä»¥å€ã®ããã¹ããäžåå«ããªãããš
- "#### Title"ãšãããµããµãã»ã¯ã·ã§ã³ã¯äœæããªãããš
- ãã³ããªã³ã°ã¯äžèŠ
- "#", "##", "###" ã®éå±€ã®ã¿äœæããããš
7. åè¡ã¯ã¿ã€ãã«ãã»ã¯ã·ã§ã³ããµãã»ã¯ã·ã§ã³ãåŒçšçªå·ã®ããããã§ãã以å€ã®æ
å ±ãèšèŒããŠã¯ãªããªã
ãåºåäŸã
# ã¬ããŒãã¿ã€ãã«
## ã»ã¯ã·ã§ã³1
### ãµãã»ã¯ã·ã§ã³1
[4][67]
### ãµãã»ã¯ã·ã§ã³2
[30][28][1][27][102]
## ã»ã¯ã·ã§ã³2
### ãµãã»ã¯ã·ã§ã³1
[14][25][9][96]
### ãµãã»ã¯ã·ã§ã³2
[2][24][51]
### ãµãã»ã¯ã·ã§ã³3
[29][11][4][56]
...
ãäžé©åãªåºåäŸã
# ã¬ããŒãã¿ã€ãã«: xxx // ãã¬ããŒãã¿ã€ãã«: ããšãã修食ã¯NG
## ã»ã¯ã·ã§ã³1
### ãµãã»ã¯ã·ã§ã³1 [4][67] // åŒçšã¯ãµãã»ã¯ã·ã§ã³ã®è¡ã«ã¯ã€ããªã
[4][67]
ãã®ãµãã»ã¯ã·ã§ã³ã§ã¯... // 説ææãªã©èŠæ±ããŠããªãäžèŠãªè¡ã¯åé€
### ãµãã»ã¯ã·ã§ã³2 [30][28][1][27][102] // åäž
[30][28][1][27][102]
## ã»ã¯ã·ã§ã³2
[2][24][29][11][4] // ã»ã¯ã·ã§ã³èªäœã«åŒçšãã€ããŠãã
### ãµãã»ã¯ã·ã§ã³1
### ãµãã»ã¯ã·ã§ã³: yyy // ããµãã»ã¯ã·ã§ã³: ããšãã修食ã¯NG
[2][24][51]
### ãµãã»ã¯ã·ã§ã³3
[29][11][4][156] // ïŒåŒçšãäŸãã°110ãŸã§ãããªãå ŽåïŒ156ã¯ååšããªãåŒçš
"""7. ãµãã»ã¯ã·ã§ã³ã®å 容ãèšèŒ
åãµãã»ã¯ã·ã§ã³ããšã«ç¬ç«ããŠæé¢ãçæããŸããLawsyã§ã¯äžŠè¡åŠçã§ã¹ããªãŒã çæãè¡ããã¢ãŠãã©ã€ã³ã®æ®µéã§æå®ãããæ å ±ã ããåç §ããããšã§ãç¡é§ãªåŠçãåæžããŸããããã®æ¹æ³ã«ãããçæããã»ã¹ã®è»œéåãšé«éåãå®çŸããçæéã§è³ªã®é«ãã¬ããŒããäœæã§ããããã«ãªããŸããã
class WriteSection(dspy.Signature):
"""ããªãã¯æ¥æ¬ã®æ³ä»€ã«ç²Ÿéããé©åãªæ³ä»€è§£éãè¡ããåãããããè§£èª¬ãæžãããšã«å®è©ã®ããä¿¡é Œã§ããç²ã匷ãã©ã€ã¿ãŒã§ãã
äžèšã®ã¯ãšãªãŒã«é¢ãã調æ»ãããŠãããã¯ãšãªãŒãããšã«ã¬ããŒãã®ã¢ãŠãã©ã€ã³ãäœæããŸããã
ã¢ãŠãã©ã€ã³ã®äžã«ããåŒçšçªå·ã¯æŒããããšãªãå¿
ãåç
§ããåéãããæ
å ±æºã®å
容ãé©åã«è§£éããªããåã»ã¯ã·ã§ã³ã®å
容ãèšèŒããŠãã ãããå¿
ãåãµãã»ã¯ã·ã§ã³ããšã«400å以äžèšèŒããŠãã ããã
解説ã¯ç·»å¯ãã€å
æ¬çã§æ
å ±éãå€ããæ
å ±æºã«åºã¥ãããã®ã§ããããšãæãŸããã§ããæ³ä»€ã«è©³ãããªã人åãã«ãããããããã¿ç ããŠèª¬æããããšãéèŠã§ããå¿
èŠã«å¿ããŠãçšããŠããæ³ä»€ã®æŠèŠãé¢é£æ³èŠãé©åãªäºäŸãæŽå²çèæ¯ãææ°ã®å€äŸãªã©ãçã蟌ãã§ãã ããã
ãªããå
容ã®ä¿¡é Œæ§ãéèŠãªã®ã§ãå¿
ãæ
å ±æºã«ããããäžèšæç€ºã«ããããã«åŒçšãããã®ãå¿ããªãã§äžããã
1. ã¢ãŠãã©ã€ã³ã®"# Title"ã"## Title"ã"### Title"ã®ã¿ã€ãã«ã¯å€æŽããªãã§ãã ããã
2. å¿
ãæ
å ±æºã®æ
å ±ã«åºã¥ãèšèŒãããã«ã·ããŒã·ã§ã³ã«æ°ãã€ããããšã
èšèŒã®æ ¹æ ãšãªãåç
§ãã¹ãæ
å ±æºã¯ "...ã§ã[4][1][27]ã" "...ãŸã[21][9]ã" ã®ããã«æç€ºã
ãã®èšè¿°ã«å¯ŸããŠã®é¢é£æ§ãé«ãããªé ã«ä»äžããŠãã ããã
3. æ£ããåŒçšãæç€ºãããŠããã»ã©ããªãã®è§£èª¬ã¯é«ãè©äŸ¡ãããŸãã
åŒçšãªãã®åµäœã¯è«æ ãæç¢ºã§ãªãéãå
šãè©äŸ¡ãããŸããã
4. æ
å ±æºãè§£èª¬ã®æ«å°Ÿã«å«ããå¿
èŠã¯ãããŸããã
5. æ¥æ¬èªã®ã§ããŸã調ã§è§£èª¬ãæžããŠãã ããã
6. åŒçšã¯æé¢ãåŒçšããè«ççãªå¿
èŠæ§ããªãéããåŒçšçªå·ã®åŒçšã®ã¿ã«ããŠãã ããã
7. ãåéãããæ
å ±æºãšåŒçšçªå·ãã«ãªãçªå·ãåŒçšããªãã§ãã ãããããã¯åµäœã«ãªã£ãŠããŸã䟡å€ãæ¢åããŸãã
"""
query = dspy.InputField(desc="ã¯ãšãªãŒ", format=str)
references = dspy.InputField(desc="åéãããæ
å ±æºãšåŒçšçªå·", format=str)
section_outline = dspy.InputField(desc="ã»ã¯ã·ã§ã³ã®ã¢ãŠãã©ã€ã³", format=str)
section = dspy.OutputField(desc="çæãããã»ã¯ã·ã§ã³", format=str)8. çµè«ã®çæ
åãµãã»ã¯ã·ã§ã³ã§äœæããæé¢ãããšã«ãå šäœããŸãšããçµè«ãçæããŸããããã§ã¯ãåãªãèŠçŽã«ãšã©ãŸãããä»åŸã®å±æã察å¿çãå«ããç·æ¬ãè¡ãããšã§ãã¬ããŒããšããŠã®äŸ¡å€ãé«ããããã«ããŸããã
class WriteConclusion(dspy.Signature):
"""ããªãã¯æ¥æ¬ã®æ³ä»€ã«ç²Ÿéããåãããããè§£èª¬ãæžãããšã«å®è©ã®ããä¿¡é Œã§ããã©ã€ã¿ãŒã§ãã
ã¬ããŒãã®ãã©ãããèžãŸããŠãã¬ããŒãå
šäœã®èŠçŽãæ¬æãšã¯ã§ããã ãç°ãªã衚çŸã§èšèŒãã€ã€ãä»åŸã®æ¹åæ§ã察å¿çãå«ãã çµè«éšã®äžèº«ãçæããŸãã
æäœã§ã400å以äžãå¯èœãªã600å以äžèšèŒããŠãã ããã
çµè«ã®æç« éšåã®ã¿çæãã"## çµè«" ã®ãããªãããã¯å
¥ããªãã§ãã ããã
"""
query = dspy.InputField(desc="ã¯ãšãªãŒ", format=str)
report_draft = dspy.InputField(desc="ã¬ããŒãã®ãã©ãã", format=str)
conclusion = dspy.OutputField(desc="çæãããçµè«", format=str)9. ãªãŒãæã®çæ
æåŸã«ãã¬ããŒãå šäœã®èŠç¹ãç°¡æœã«ãŸãšãããªãŒãæãäœæããŸããã¯ãŒã¯ãããŒã®æçµæ®µéã§ãªãŒãæãçæããããšã§ãæåã«èªãã ãã§ã¬ããŒãã®å 容ãäžç®ã§ææ¡ã§ããããã«ããŸããã
class WriteLead(dspy.Signature):
"""ããªãã¯æ¥æ¬ã®æ³ä»€ã«ç²Ÿéããåãããããè§£èª¬ãæžãããšã«å®è©ã®ããä¿¡é Œã§ããã©ã€ã¿ãŒã§ãã
äžèšã®ã¯ãšãªãŒã«é¢ãã調æ»ãããŠãããã¬ããŒããäœæããŸãããã¬ããŒãã¿ã€ãã«ã®çŽåŸã«è¡šç€ºããç°¡æœãªãªãŒãæãçæããŠãã ããã
ãªãŒãæãšã¯ãã¬ããŒãå
šäœã®abstractãšãªããã¬ããŒãå
šäœã®è«æšã®å±éãäž»èŠãããã¯ãå«ããç°¡æœãªæç« ã§ãã
ãªãŒãæã®çæã«ããã£ãŠæ¬¡ã®ã«ãŒã«ãå³å®ããããš
- ãªãŒãæã§ã¯ãã¬ããŒãå
šäœã®æèãã¬ããŒãã§æ±ãããŠããäž»èŠãªãããã¯ã«å¯Ÿããç°¡æœãªæŠèŠãæç€ºããããåç¬ã§ãèªããå
容ã«ããããš
- ãªãŒãæã®æåæ°ã¯140ã280æåçšåºŠãšããããš
- ãªãŒãæã®æé¢ã®ã¿çæããããšã
"""
query = dspy.InputField(desc="ã¯ãšãªãŒ", format=str)
title = dspy.InputField(desc="ã¬ããŒãã®ã¿ã€ãã«", format=str)
draft = dspy.InputField(desc="ã¬ããŒãå
容", format=str)
lead = dspy.OutputField(desc="ãªãŒãæã®æé¢", format=str)UIã»UXã§ã®å·¥å€«
ãã€ã³ããããã§å šäœãææ¡ãããã
Deep ResearchããŒã«ã®èª²é¡ãšããŠãã¬ããŒããé·ãããŠå šäœåãææ¡ãã¥ãããšããåé¡ãããã®ããªãšæããŸããããã解決ããããã«ãLawsyã§ã¯ã¬ããŒãåé ã«ãã€ã³ãããã圢åŒã§ã»ã¯ã·ã§ã³ãšãµãã»ã¯ã·ã§ã³ã®ã¿ã€ãã«ãæ²èŒããŸãããèŠèŠçã«æŽçãããããšã§ãã¬ããŒãã®æ§é ãäžç®ã§ããããèªè ã®è² æ ã軜æžã§ããŸãããŸããè²ãåãå ¥ããããšã§ãèŠãç®ã®å°è±¡ãåäžããŸããã
åŒçšæ å ±ã®å³æè¡šç€º
ã¬ããŒãã®æåŸã«åŒçšæ å ±ããŸãšããŠè¡šç€ºãã仿§ã«ãããšãæ¬æãšåŒçšãè¡ãæ¥ããæéãçºçããŠããŸããŸããããã§ãåŒçšçªå·ã«ããŠã¹ãéãããšãåŒçšå æ å ±ããã®å Žã§è¡šç€ºãããããŒã«ãããæ©èœãå®è£ ããŸãããããã«ãããã¹ã ãŒãºã«æ å ±ã確èªã§ããããã«ãªãããªãµãŒãã®å¹çãåäžããŸããã

ãã¶ã€ã³ã®æé©å
ããã³ããšã³ãã®å°éã¡ã³ããŒãããªãã£ããããstreamlitãããŒã¹ã«CSSã§å¯èœãªç¯å²ã§èª¿æŽããŸãããä»åã¯ããžã¿ã«åºã®ãã¶ã€ã³ã·ã¹ãã ãèªã¿èŸŒã¿ããã©ã³ãããã©ã³ããµã€ãºãè¡éããã€ããŒãªã³ã¯ã®è²ãªã©ãèŠèªæ§ãèæ ®ãããã¶ã€ã³ãé©çšããé·æã®ã¬ããŒããå¿«é©ã«èªãããããªå·¥å€«ãéããŸããããªãããã¶ã€ã³ã·ã¹ãã ãå®è£ ããã®ãé£ãããåèŠå «èŠããªããé²ããŠããŸãããããšãããã¶ã€ããŒãããã¶ã€ã³èªãèªããããã«ãªã£ããã§ãããšèšããããšãã¯å¬ããã£ãã§ãã
ããŽã®äœæ
ãããã¯ããšããŠã®å®æåºŠãé«ãããããããŽãéèŠãªèŠçŽ ã ãšèããŸãããåœåã¯AIã§ããŽãèªåçæã§ããããŒã«ãããã®ã§ã¯ïŒãšæããŸããããæå€ã«ãé©åãªãã®ãèŠã€ããããèªåã§è©Šè¡é¯èª€ããªããäœæããŸããã
è¡æ¿ãã¡ã€ã³ãšæè¡ã®èåãç®æããŠ
ä»åã®éçºã§ç¹ã«è¯ãã£ãã®ã¯ããã¡ã€ã³ç¥èãšæè¡ãããŸãåã¿åã£ãããšã ãšæã£ãŠããŸããæè¡ãããã°ãã¹ãŠã®èª²é¡ã解決ããããã§ã¯ãªããæ¥åãããŒã«å³ããæè¡ã®å®è£ ãå¿ èŠã«ãªããŸããéã«ãã©ãã»ã©åªãããã¡ã€ã³ç¥èããã£ãŠããé©åãªæè¡ããªããã°è§£æ±ºã§ããªãåé¡ããããŸããLawsyã®éçºã§ã¯ããã®äž¡è ããŽã£ãããšåã¿åãããããã¯ãã®æ¹åã«ã€ãªãã£ãç¬éãäœåºŠããããŸããã
æå ç«¯ã®æè¡ã«çç¥ããŠããçœå·ãããšãããã³ãå«ããŠãªãã§ãæŸã£ãŠãããç¥ä»£ãããããã®ã¯æ¬åœã«ãããç§ãæ°å Œããªãå®åã§ã®èª²é¡ãæ¹åç¹ãæããããšãã§ããŸããããã®éãç§èªèº«ãã³ãŒãã£ã³ã°ãããŠãããã¿ã€ããäœããªã©ããæ¥µåæè¡çã«äžå¯èœã§ãªãããšã¯æããªãããã«ãå¿æããŸãããè«æãGitHubã³ãŒããæ¥œãããšèšããªãããæ¶åãå®è£ ããŠãããã¡ã³ããŒã§æ¬åœã«å匷ã«ããªããŸããã
ãŸããéçºäžã®ãããã¯ããå®éã®æ¥åã§è©Šããååãããã£ãŒãããã¯ãåŸãªããPDCAãµã€ã¯ã«ãçæéã§åãç¶ããããšãã倧ããªææã®äžã€ã§ããLawsyã詊ããæ¹ã ããã¯ããéãé¢ã®æ¥åçµéšãæ ¹æ¬ããå€ããå¯èœæ§ãããããããŒãããæ³ä»€ãå匷ããæéããªããªãã®ã§ãããããããšãã£ããéåžžã«ååããªè©äŸ¡ãããã ããŸããããããã¯ããå®åããä¹é¢ããŠããªããšããæå¿ããšãšãã«ãéçºãç¶ããå±ã¿ã«ãªããŸããã
è¡æ¿ã«ãããAI掻çšã¯ä»¥åããæ³šç®ãããŠããŸãããæ¥åç¹æã®å°éç¥èãäžå¯æ¬ ãªãããåã«å§èšãå€éšäººæã®æŽ»çšã ãã§ã¯ååã«é²ããããšãé£ããé åã§ãããã®ãããè¡æ¿å®ãšãšã³ãžãã¢ãäºãã«æ©ã¿å¯ããå ±éèšèªãæã€ããšãéèŠã«ãªããŸããç¹ã«ãè¡æ¿çšèªãšæè¡çšèªãæ©æž¡ãã§ãã人æã®çºæã»è²æããä»åŸã®è¡æ¿DXãé²ããããã§æ¬ ãããªããšæããŠããŸããããã¯è¡æ¿ã§ã®AI掻çšã ãã§ãªããEBPMãå¹ åºãããŒã¿å©æŽ»çšãšãã£ãåéã§ãåœãŠã¯ãŸããšèããŠããŸããä»åã®åãçµã¿ã¯ããã®å¯èœæ§ã瀺ãè¯ãäºäŸãšãªã£ãããšæããŸãã
ãŸããä»åã®ããã«ãœã³ãéããŠåŸãããåŠã³ãã€ãªããããåçºã®ã€ãã³ãã«çµããã®ã§ã¯ãªããã³ãã¥ããã£ãšããŠç¶ç¶çã«æé·ããŠãã£ãŠã»ãããšåŒ·ãæããŸããæ³ä»€åéã«éãããä»ã®è¡æ¿é åã§ãåæ§ã®åãçµã¿ãåºãã£ãŠããããšãæåŸ ããŠããŸãã
æåŸã«ãè¡æ¿ã®ããžã¿ã«åãEBPMãããŒã¿å©æŽ»çšã«å°ãã§ããé¢å¿ã®ããæ¹ãããã£ãããã°ãããªã¬ã¬ãŸã§ãé£çµ¡ããã ããã°å¹žãã§ããæ¥æ¬ã®è¡æ¿ããã£ãšããããŠãããã°ãå ¬åå¡ã楜ããåããããã«ãªãã°ãšæã£ãŠããŸãã
PolicyGarageç ç©¶äŒã§ã®ãã¬ãŒã³è³æ
2025幎4æ9æ¥ã«PolicyGarageç ç©¶äŒã§ãã¬ãŒã³ãè¡ããŸããã®ã§ããã®éã®è³æãã¢ããããŸãã