Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Copilotの精度を上げる!カスタムプロンプト入門.pdf

 Copilotの精度を上げる!カスタムプロンプト入門.pdf

2025/11/07 GitHub Copilot Meetup Japan #1 の登壇資料です。

最初は copilot-instructions.md の解説だけを想定していましたが、予想以上に奥が深かったのでタイトルをカスタムプロンプト入門に変更させていただきました(スライドタイトルは当時のままです)

Avatar for Izumu KUSUNOKI

Izumu KUSUNOKI

November 07, 2025
Tweet

More Decks by Izumu KUSUNOKI

Other Decks in Technology

Transcript

  1. (JU)VC$PQJMPUΧελϚΠζͷશ༰ ϨΠϠʔɾର৅ ໨త ઃఆ಺༰ྫ ൓өൣғ ୭͕ઃఆʁ ओͳରԠ໘ ݸਓ 1FSTPOBM$VTUPN *OTUSVDUJPOT

    νϟοτԠ౴ݴޠɾग़ྗ ελΠϧࢦఆͳͲͷݸਓ ઃఆ ʮৗʹ೔ຊޠʯ ʮྫ͸5ZQF4DSJQUͰग़ ͯ͠ʯ (JU)VCDPNͷݸਓ $PQJMPU$IBUશମ ֤Ϣʔβʔݸਓ 8FC (JU)VCDPN ϦϙδτϦ 3FQPTJUPSZ$VTUPN *OTUSVDUJPOT ͦͷίʔυϕʔεݻ༗ͷ લఏɾखॱΛৗ࣌ૹ৴ Ϗϧυɾςετखॱɺ ϑΥϧμߏ੒ɺ $*஫ҙ఺ ϦϙδτϦจ຺ͷ $PQJMPU$IBUίʔ σΟϯάΤʔδΣϯτ  ίʔυϨϏϡʔ ϦϙδτϦฤूऀ &EJUPS 74$PEF +FU#SBJOT  7JTVBM4UVEJP 9DPEF  &DMJQTF (JU)VC8FC ϦϙδτϦ 1BUITQFDJGJD ͋Δύε഑Լ͚ͩʹ ద༻͢Δߴ౓ͳΨΠυ BQQMZ5P ͰHMPCࢦఆ͠ɺ ର৅ϑΝΠϧͷ͚࣌ͩࢦ ࣔ ίʔσΟϯάΤʔδΣϯ τ ίʔυϨϏϡʔ (JU)VCDPN ϦϙδτϦฤूऀ (JU)VC8FC HJUIVCJOTUSVDUJOPT ϓϩϯϓτςϯϓϨ 1SPNQU'JMFT ࠶ར༻Մೳͳ ϓϩϯϓτςϯϓϨ ʮYYͷϨϏϡʔ؍఺Ͱಡ ΜͰʯͳͲͷఆܕ 74$PEFͷ$PQJMPU $IBUͰఴ෇ͯ͠࢖༻ͳ Ͳ ϦϙδτϦฤूऀ 74$PEF HJUIVCQSPN QUT QSPNQUNE ҰൠΤʔδΣϯτࢦࣔ "(&/54NE ౳ "*ΤʔδΣϯτʹ༩͑Δ ߦಈنൣ ࡞ۀखॱ΍ํ਑ɺݕূͷ ྲّྀ ίʔσΟϯάΤʔδΣϯ τ $PQJMPU$-* ϦϙδτϦฤूऀ ϦϙδτϦ಺ "(&/54NE ͳͲ ૊৫ 0SHBOJ[BUJPO$VTUPN *OTUSVDUJPOT ձࣾ౷Ұͷํ਑ɾφϨο δࢀরϧʔϧ ग़ྗݴޠɺηΩϡϦςΟ ,#ࢀরͳͲ ૊৫ϝϯόʔͷ $PQJMPU $IBUίʔυϨϏϡʔ ૊৫Φʔφʔ (JU)VCDPNͷ૊৫ઃఆ
  2. (JU)VC$PQJMPUΧελϚΠζͷશ༰ ϨΠϠʔɾର৅ ໨త ઃఆ಺༰ྫ ൓өൣғ ୭͕ઃఆʁ ओͳରԠ໘ ݸਓ 1FSTPOBM$VTUPN *OTUSVDUJPOT

    νϟοτԠ౴ݴޠɾग़ྗ ελΠϧࢦఆͳͲͷݸਓ ઃఆ ʮৗʹ೔ຊޠʯ ʮྫ͸5ZQF4DSJQUͰग़ ͯ͠ʯ (JU)VCDPNͷݸਓ $PQJMPU$IBUશମ ֤Ϣʔβʔݸਓ 8FC (JU)VCDPN ϦϙδτϦ 3FQPTJUPSZ$VTUPN *OTUSVDUJPOT ͦͷίʔυϕʔεݻ༗ͷ લఏɾखॱΛৗ࣌ૹ৴ Ϗϧυɾςετखॱɺ ϑΥϧμߏ੒ɺ $*஫ҙ఺ ϦϙδτϦจ຺ͷ $PQJMPU$IBUίʔ σΟϯάΤʔδΣϯτ  ίʔυϨϏϡʔ ϦϙδτϦฤूऀ &EJUPS 74$PEF +FU#SBJOT  7JTVBM4UVEJP 9DPEF  &DMJQTF (JU)VC8FC ϦϙδτϦ 1BUITQFDJGJD ͋Δύε഑Լ͚ͩʹ ద༻͢Δߴ౓ͳΨΠυ BQQMZ5P ͰHMPCࢦఆ͠ɺ ର৅ϑΝΠϧͷ͚࣌ͩࢦ ࣔ ίʔσΟϯάΤʔδΣϯ τ ίʔυϨϏϡʔ (JU)VCDPN ϦϙδτϦฤूऀ (JU)VC8FC HJUIVCJOTUSVDUJOPT ϓϩϯϓτςϯϓϨ 1SPNQU'JMFT ࠶ར༻Մೳͳ ϓϩϯϓτςϯϓϨ ʮYYͷϨϏϡʔ؍఺Ͱಡ ΜͰʯͳͲͷఆܕ 74$PEFͷ$PQJMPU $IBUͰఴ෇ͯ͠࢖༻ͳ Ͳ ϦϙδτϦฤूऀ 74$PEF HJUIVCQSPN QUT QSPNQUNE ҰൠΤʔδΣϯτࢦࣔ "(&/54NE ౳ "*ΤʔδΣϯτʹ༩͑Δ ߦಈنൣ ࡞ۀखॱ΍ํ਑ɺݕূͷ ྲّྀ ίʔσΟϯάΤʔδΣϯ τ $PQJMPU$-* ϦϙδτϦฤूऀ ϦϙδτϦ಺ "(&/54NE ͳͲ ૊৫ 0SHBOJ[BUJPO$VTUPN *OTUSVDUJPOT ձࣾ౷Ұͷํ਑ɾφϨο δࢀরϧʔϧ ग़ྗݴޠɺηΩϡϦςΟ ,#ࢀরͳͲ ૊৫ϝϯόʔͷ $PQJMPU $IBUίʔυϨϏϡʔ ૊৫Φʔφʔ (JU)VCDPNͷ૊৫ઃఆ ࠓ೔͸͜͜Λಛʹ঺հ
  3. ϨΠϠʔɾର৅ ໨త ઃఆ಺༰ྫ ൓өൣғ ୭͕ઃఆʁ ओͳରԠ໘ ݸਓ 1FSTPOBM$VTUPN *OTUSVDUJPOT νϟοτԠ౴ݴޠɾग़ྗ

    ελΠϧࢦఆͳͲͷݸਓ ઃఆ ʮৗʹ೔ຊޠʯ ʮྫ͸5ZQF4DSJQUͰग़ ͯ͠ʯ (JU)VCDPNͷݸਓ $PQJMPU$IBUશମ ֤Ϣʔβʔݸਓ 8FC (JU)VCDPN ϦϙδτϦ 3FQPTJUPSZ$VTUPN *OTUSVDUJPOT ͦͷίʔυϕʔεݻ༗ͷ લఏɾखॱΛৗ࣌ૹ৴ Ϗϧυɾςετखॱɺ ϑΥϧμߏ੒ɺ $*஫ҙ఺ ϦϙδτϦจ຺ͷ $PQJMPU$IBUίʔ σΟϯάΤʔδΣϯτ  ίʔυϨϏϡʔ ϦϙδτϦฤूऀ &EJUPS 74$PEF +FU#SBJOT  7JTVBM4UVEJP 9DPEF  &DMJQTF (JU)VC8FC ϦϙδτϦ 1BUITQFDJGJD ͋Δύε഑Լ͚ͩʹ ద༻͢Δߴ౓ͳΨΠυ BQQMZ5P ͰHMPCࢦఆ͠ɺ ର৅ϑΝΠϧͷ͚࣌ͩࢦ ࣔ ίʔσΟϯάΤʔδΣϯ τ ίʔυϨϏϡʔ (JU)VCDPN ϦϙδτϦฤूऀ (JU)VC8FC HJUIVCJOTUSVDUJOPT ϓϩϯϓτςϯϓϨ 1SPNQU'JMFT ࠶ར༻Մೳͳ ϓϩϯϓτςϯϓϨ ʮYYͷϨϏϡʔ؍఺Ͱಡ ΜͰʯͳͲͷఆܕ 74$PEFͷ$PQJMPU $IBUͰఴ෇ͯ͠࢖༻ͳ Ͳ ϦϙδτϦฤूऀ 74$PEF HJUIVCQSPN QUT QSPNQUNE ҰൠΤʔδΣϯτࢦࣔ "(&/54NE ౳ "*ΤʔδΣϯτʹ༩͑Δ ߦಈنൣ ࡞ۀखॱ΍ํ਑ɺݕূͷ ྲّྀ ίʔσΟϯάΤʔδΣϯ τ $PQJMPU$-* ϦϙδτϦฤूऀ ϦϙδτϦ಺ "(&/54NE ͳͲ ૊৫ 0SHBOJ[BUJPO$VTUPN *OTUSVDUJPOT ձࣾ౷Ұͷํ਑ɾφϨο δࢀরϧʔϧ ग़ྗݴޠɺηΩϡϦςΟ ,#ࢀরͳͲ ૊৫ϝϯόʔͷ $PQJMPU $IBUίʔυϨϏϡʔ ૊৫Φʔφʔ (JU)VCDPNͷ૊৫ઃఆ ্͔Β͍͖·͢
  4. ϨΠϠʔɾର৅ ໨త ઃఆ಺༰ྫ ൓өൣғ ୭͕ઃఆʁ ओͳରԠ໘ ݸਓ 1FSTPOBM$VTUPN *OTUSVDUJPOT νϟοτԠ౴ݴޠɾग़ྗ

    ελΠϧࢦఆͳͲͷݸਓ ઃఆ ʮৗʹ೔ຊޠʯ ʮྫ͸5ZQF4DSJQUͰग़ ͯ͠ʯ (JU)VCDPNͷݸਓ $PQJMPU$IBUશମ ֤Ϣʔβʔݸਓ 8FC (JU)VCDPN ϦϙδτϦ 3FQPTJUPSZ$VTUPN *OTUSVDUJPOT ͦͷίʔυϕʔεݻ༗ͷ લఏɾखॱΛৗ࣌ૹ৴ Ϗϧυɾςετखॱɺ ϑΥϧμߏ੒ɺ $*஫ҙ఺ ϦϙδτϦจ຺ͷ $PQJMPU$IBUίʔ σΟϯάΤʔδΣϯτ  ίʔυϨϏϡʔ ϦϙδτϦฤूऀ &EJUPS 74$PEF +FU#SBJOT  7JTVBM4UVEJP 9DPEF  &DMJQTF (JU)VC8FC ϦϙδτϦ 1BUITQFDJGJD ͋Δύε഑Լ͚ͩʹ ద༻͢Δߴ౓ͳΨΠυ BQQMZ5P ͰHMPCࢦఆ͠ɺ ର৅ϑΝΠϧͷ͚࣌ͩࢦ ࣔ ίʔσΟϯάΤʔδΣϯ τ ίʔυϨϏϡʔ (JU)VCDPN ϦϙδτϦฤूऀ (JU)VC8FC HJUIVCJOTUSVDUJOPT ϓϩϯϓτςϯϓϨ 1SPNQU'JMFT ࠶ར༻Մೳͳ ϓϩϯϓτςϯϓϨ ʮYYͷϨϏϡʔ؍఺Ͱಡ ΜͰʯͳͲͷఆܕ 74$PEFͷ$PQJMPU $IBUͰఴ෇ͯ͠࢖༻ͳ Ͳ ϦϙδτϦฤूऀ 74$PEF HJUIVCQSPN QUT QSPNQUNE ҰൠΤʔδΣϯτࢦࣔ "(&/54NE ౳ "*ΤʔδΣϯτʹ༩͑Δ ߦಈنൣ ࡞ۀखॱ΍ํ਑ɺݕূͷ ྲّྀ ίʔσΟϯάΤʔδΣϯ τ $PQJMPU$-* ϦϙδτϦฤूऀ ϦϙδτϦ಺ "(&/54NE ͳͲ ૊৫ 0SHBOJ[BUJPO$VTUPN *OTUSVDUJPOT ձࣾ౷Ұͷํ਑ɾφϨο δࢀরϧʔϧ ग़ྗݴޠɺηΩϡϦςΟ ,#ࢀরͳͲ ૊৫ϝϯόʔͷ $PQJMPU $IBUίʔυϨϏϡʔ ૊৫Φʔφʔ (JU)VCDPNͷ૊৫ઃఆ
  5. HJUIVCJOTUSVDUJPOT JOTUSVDUJPOTNE ͸ઌ಄ʹ BQQMZ5P Λࢦఆ͠ɺ ಛఆͷHMPCύλʔϯʹҰக͢ΔϑΝΠϧΛࢦఆ ͯ͠ࢦࣔͷద༻͕Ͱ͖Δɻ ˠݴޠผɾϨΠϠʔผͷࢦࣔͷग़͠Θ͚͕Ͱ͖Δ ద༻ൣғ ίʔσΟϯάΤʔδΣϯτͱίʔυϨϏϡʔʢ(JU)VCDPNʣͰػೳ

    --- applyTo: "**/*.ts,**/*.tsx" --- - ܧঝΑΓ΋ίϯϙδγϣϯ ߹੒ Λ༏ઌ͢Δ͜ͱ - ৗʹ `*.types.ts` ͔ΒܕΛΤΫεϙʔτ͢Δ͜ͱ - 3FBDUίϯϙʔωϯτΛ௥Ճ͢Δࡍ͸ɺ࠷খݶͷ4UPSZCPPLετʔϦʔΛؚΊΔ͜ͱ ϦϙδτϦ༻ΧελϜࢦࣔʢύεݻ༗ࢦࣔʣ ˞74$PEF ݻ༗ػೳͷΑ͏ʹݟ͑ͨͷͰଞΤσΟλϢʔβ͸࠶֬ೝ͍ͯͩ͘͠͞
  6. ϨΠϠʔɾର৅ ໨త ઃఆ಺༰ྫ ൓өൣғ ୭͕ઃఆʁ ओͳରԠ໘ ݸਓ 1FSTPOBM$VTUPN *OTUSVDUJPOT νϟοτԠ౴ݴޠɾग़ྗ

    ελΠϧࢦఆͳͲͷݸਓ ઃఆ ʮৗʹ೔ຊޠʯ ʮྫ͸5ZQF4DSJQUͰग़ ͯ͠ʯ (JU)VCDPNͷݸਓ $PQJMPU$IBUશମ ֤Ϣʔβʔݸਓ 8FC (JU)VCDPN ϦϙδτϦ 3FQPTJUPSZ$VTUPN *OTUSVDUJPOT ͦͷίʔυϕʔεݻ༗ͷ લఏɾखॱΛৗ࣌ૹ৴ Ϗϧυɾςετखॱɺ ϑΥϧμߏ੒ɺ $*஫ҙ఺ ϦϙδτϦจ຺ͷ $PQJMPU$IBUίʔ σΟϯάΤʔδΣϯτ  ίʔυϨϏϡʔ ϦϙδτϦฤूऀ &EJUPS 74$PEF +FU#SBJOT  7JTVBM4UVEJP 9DPEF  &DMJQTF (JU)VC8FC ϦϙδτϦ 1BUITQFDJGJD ͋Δύε഑Լ͚ͩʹ ద༻͢Δߴ౓ͳΨΠυ BQQMZ5P ͰHMPCࢦఆ͠ɺ ର৅ϑΝΠϧͷ͚࣌ͩࢦ ࣔ ίʔσΟϯάΤʔδΣϯ τ ίʔυϨϏϡʔ (JU)VCDPN ϦϙδτϦฤूऀ (JU)VC8FC HJUIVCJOTUSVDUJOPT ϓϩϯϓτςϯϓϨ 1SPNQU'JMFT ࠶ར༻Մೳͳ ϓϩϯϓτςϯϓϨ ʮYYͷϨϏϡʔ؍఺Ͱಡ ΜͰʯͳͲͷఆܕ 74$PEFͷ$PQJMPU $IBUͰఴ෇ͯ͠࢖༻ͳ Ͳ ϦϙδτϦฤूऀ 74$PEF HJUIVCQSPN QUT QSPNQUNE ҰൠΤʔδΣϯτࢦࣔ "(&/54NE ౳ "*ΤʔδΣϯτʹ༩͑Δ ߦಈنൣ ࡞ۀखॱ΍ํ਑ɺݕূͷ ྲّྀ ίʔσΟϯάΤʔδΣϯ τ $PQJMPU$-* ϦϙδτϦฤूऀ ϦϙδτϦ಺ "(&/54NE ͳͲ ૊৫ 0SHBOJ[BUJPO$VTUPN *OTUSVDUJPOT ձࣾ౷Ұͷํ਑ɾφϨο δࢀরϧʔϧ ग़ྗݴޠɺηΩϡϦςΟ ,#ࢀরͳͲ ૊৫ϝϯόʔͷ $PQJMPU $IBUίʔυϨϏϡʔ ૊৫Φʔφʔ (JU)VCDPNͷ૊৫ઃఆ
  7. HJUIVCQSPNQUT\DPNNBOE^QSPNQUNE ϨϏϡʔ؍఺΍࡞ۀखॱΛͳͲؚΉ࠶ར༻ ՄೳͳϓϩϯϓτΛෳ਺ఆٛɾ഑෍Մೳɻ 74$PEF 6*͔Β໌ࣔతʹ DIBU ΠϯλʔϑΣʔεʹಡࠐ εϥογϡίϚϯυՄೳ ϓϩϯϓτϑΝΠϧʢ3FVTBCMF 1SPNQU'JMFTʣ

    ˞લఏͱͯ͠ 74$PEF Ͱ͋Ε͹ lDIBUQSPNQU'JMFTzUSVF͕ඞཁ νϟοτϞʔυ HJUIVCDIBUNPEFT DIBUNPEFNE ΋ඞཁʹԠͯ͡ࢀর --- mode: 'agent' | 'ask' | 'edit’ description: '' model: ‘xxx' tools: ['search', 'todos’, ...] ---
  8. ϨΠϠʔɾର৅ ໨త ઃఆ಺༰ྫ ൓өൣғ ୭͕ઃఆʁ ओͳରԠ໘ ݸਓ 1FSTPOBM$VTUPN *OTUSVDUJPOT νϟοτԠ౴ݴޠɾग़ྗ

    ελΠϧࢦఆͳͲͷݸਓ ઃఆ ʮৗʹ೔ຊޠʯ ʮྫ͸5ZQF4DSJQUͰग़ ͯ͠ʯ (JU)VCDPNͷݸਓ $PQJMPU$IBUશମ ֤Ϣʔβʔݸਓ 8FC (JU)VCDPN ϦϙδτϦ 3FQPTJUPSZ$VTUPN *OTUSVDUJPOT ͦͷίʔυϕʔεݻ༗ͷ લఏɾखॱΛৗ࣌ૹ৴ Ϗϧυɾςετखॱɺ ϑΥϧμߏ੒ɺ $*஫ҙ఺ ϦϙδτϦจ຺ͷ $PQJMPU$IBUίʔ σΟϯάΤʔδΣϯτ  ίʔυϨϏϡʔ ϦϙδτϦฤूऀ &EJUPS 74$PEF +FU#SBJOT  7JTVBM4UVEJP 9DPEF  &DMJQTF (JU)VC8FC ϦϙδτϦ 1BUITQFDJGJD ͋Δύε഑Լ͚ͩʹ ద༻͢Δߴ౓ͳΨΠυ BQQMZ5P ͰHMPCࢦఆ͠ɺ ର৅ϑΝΠϧͷ͚࣌ͩࢦ ࣔ ίʔσΟϯάΤʔδΣϯ τ ίʔυϨϏϡʔ (JU)VCDPN ϦϙδτϦฤूऀ (JU)VC8FC HJUIVCJOTUSVDUJOPT ϓϩϯϓτςϯϓϨ 1SPNQU'JMFT ࠶ར༻Մೳͳ ϓϩϯϓτςϯϓϨ ʮYYͷϨϏϡʔ؍఺Ͱಡ ΜͰʯͳͲͷఆܕ 74$PEFͷ$PQJMPU $IBUͰఴ෇ͯ͠࢖༻ͳ Ͳ ϦϙδτϦฤूऀ 74$PEF HJUIVCQSPN QUT QSPNQUNE ҰൠΤʔδΣϯτࢦࣔ "(&/54NE ౳ "*ΤʔδΣϯτʹ༩͑Δ ߦಈنൣ ࡞ۀखॱ΍ํ਑ɺݕূͷ ྲّྀ ίʔσΟϯάΤʔδΣϯ τ $PQJMPU$-* ϦϙδτϦฤूऀ ϦϙδτϦ಺ "(&/54NE ͳͲ ૊৫ 0SHBOJ[BUJPO$VTUPN *OTUSVDUJPOT ձࣾ౷Ұͷํ਑ɾφϨο δࢀরϧʔϧ ग़ྗݴޠɺηΩϡϦςΟ ,#ࢀরͳͲ ૊৫ϝϯόʔͷ $PQJMPU $IBUίʔυϨϏϡʔ ૊৫Φʔφʔ (JU)VCDPNͷ૊৫ઃఆ
  9. Ұൠͷ"*ΤʔδΣϯτ޲͚ࢦࣔϑΝΠϧ HJUIVCDPQJMPUJOTUSVDUJPOTNE ͱಉ༷ʹѻΘΕΔϑΝΠϧͨͪ ɾHJUIVCDPQJMPUJOTUSVDUJPOTNE ɾHJUIVCJOTUSVDUJPOT  JOTUSVDUJPOTNE ɾ "(&/54NE σΟϨΫτϦπϦʔ಺ͷ࠷΋͍ۙ΋ͷ͕༏ઌ

    ɾ$-"6%&NE ϧʔτͷΈ ɾ(&.*/*NE ϧʔτͷΈ ˞ίʔυϨϏϡʔʹ͸ޮ͔ͳ͍ͷͰ஫ҙ ·ͨυΩϡϝϯτݟΔײͩ͡ͱ $PQJMPU$-*͸ٯʹҰൠͷࢦࣔϑΝΠϧ͔͠ݟͳͦ͞͏ʁ ෳ਺ଘࡏͨ͠৔߹ͷಡΈࠐΈॱংͳͲͷ࣮૷ڍಈ͸υΩϡϝϯτ໌֬Խ͞Ε͓ͯΒͣᐆດɻ
  10.   ϦϙδτϦઃఆ HJUIVCDPQJMPUJOTUSVDUJPOTNE ʹॳظԽϏϧυςετىಈͷ࣮֬ͳॱংɺ લఏ৚݅ɾམͱ݀͠ɾճආࡦɺओཁϑΥϧμઃఆϑΝΠϧͷ৔ॴΛهड़ɻ $-*΋࢖͏৔߹͸ "(&/54NE ͳͲΛ༻ҙɻ͢Ͱʹ͋Δ৔߹͸ͦͷ··࢖͑Δɻ 

    ύεผ࠷దԽ ඞཁʹԠͯ͡ HJUIVCJOTUSVDUJPOT JOTUSVDUJPOTNE Ͱύεผ࠷దԽɻ ϓϩϯϓτϑΝΠϧ 74$PEF Ͱ࠶ར༻ස౓͕ߴ͍ϓϩϯϓτηοτΛ HJUIVCQSPNQUT QSPNQUNE ʹ੾Γग़͢ɻ ·ͱΊਫ਼౓Λ্͛ΔͨΊʹͰ͖Δ͜ͱҰཡ  ʢ௥هʣΤʔδΣϯτͷΧελϜࢦࣔ΋๨Εͣʹ HJUIVCBHFOUT BHFOUNE ͷ঺հ͕࿙ΕͯΔͷͰௐ΂ͯΈ͍ͯͩ͘͞ʂ