ãã®é²è¡äžã® Docker Labs GenAI ã·ãªãŒãº AIéçºè ããŒã«ã®ãšããµã€ãã£ã³ã°ãªç©ºéãæ¢ããŸãã Dockerã§ã¯ãèªå€§åºåãªãã§ãªãŒãã³ã«æ¢æ±ã§ããåºå€§ãªç¯å²ããããšä¿¡ããŠããŸãã ç§ãã¡ã¯æ¢çŽ¢ãå ±æããéçºè ã³ãã¥ããã£ãšãªã¢ã«ã¿ã€ã ã§ååããŸãã éçºè ã¯GitHub Copilotã®ãããªãªãŒãã³ã³ããªãŒãããŒã«ãæ¡çšãããã£ããã䜿çšããŠããŸãããAIããŒã«ããœãããŠã§ã¢ã®ã©ã€ããµã€ã¯ã«å šäœãéããŠãããå ·äœçãªã¿ã¹ã¯ãã€ã³ã¿ãŒãã§ãŒã¹ãæ¯æŽããå¯èœæ§ã¯å€§ãã«ãããŸãã ãããã£ãŠãç§ãã¡ã®æ¢æ±ã¯åºç¯å²ã«åã³ãŸãã ãœãããŠã§ã¢ããªãŒãã³ãœãŒã¹ãšããŠãªãªãŒã¹ããã®ã§ãç§ãã¡ãšäžç·ã«ãã¬ã€ããããæ¢çŽ¢ããããããã¯ãããã§ããŸãã
AIãæèŒããã¢ã·ã¹ã¿ã³ãã¯ãUIã©ã€ã¿ãŒã®è³ªåã«çããã®ã«ååãªGitHubãªããžããªãçè§£ã§ããã§ãããã?

å€ãã®ãããžã§ã¯ãã§ã¯ããŠãŒã¶ãŒåãã®ã³ã³ãã³ãã¯ãããçš®ã®ã¯ã©ã€ã¢ã³ãåŽã®ã³ãŒãã«åºã¥ããŠã¬ã³ããªã³ã°ãããŸãã ãŠã§ããµã€ããã²ãŒã ãã¢ãã€ã«ã¢ããªã®ãããã§ãã£ãŠãããŠãŒã¶ãŒã«è¡šç€ºãããããã¹ãã³ããŒãéä»ãã«ããããšãéèŠã§ãã
ã§ã¯ããµã³ãã«ã®è³ªåãèŠãŠã¿ãŸããã: ãã®ãããžã§ã¯ãã®ãªãŒãã³ãª PR ã¯ãUI ã³ããŒã®ããã«ã¬ãã¥ãŒããå¿ èŠããããŸãã? ã€ãŸããGitHub ãªããžããªã® PR ãã¹ãã£ã³ããŠãå«ãŸãã倿Žã«é¢ããã€ã³ããªãžã§ã³ã¹ãååŸããããšèããŠããŸãã
å 責äºé :æçããçµç¹ã§ãããéæããããã®ãã¹ããã©ã¯ãã£ã¹ã¯ãããŒã«ã©ã€ãŒãŒã·ã§ã³(i18n)ãå®è£ ããããšã§ããããã«ããããŠãŒã¶ãŒåãã®ããã¹ããäžå åãããŸãã ããããAIãæŽ»çšããããŒã«ã®äžçã§ã¯ãã¢ã·ã¹ã¿ã³ããi18nãæ¡çšãããããžã§ã¯ãã ãã§ãªãããã¹ãŠã®ãããžã§ã¯ãã®æ©æŠãæå°éã«æããã®ã«åœ¹ç«ã€ãšä¿¡ããŠããŸãã
ããã§ã¯ããã§ã«ã©ã®ãããªãªãã·ã§ã³ããããã確èªããããšããå§ããŸãããã
誰ããæåã«çŽæããã®ã¯ãGitHub ã®ããã²ãŒã·ã§ã³ã§æ°ããå¯æçžŠå£«ã®åéãéãããšã§ã

ãŸãããéããŠããPRã¯ããã€ãããŸãã?ããšããåºæ¬çãªè³ªåã«çããããã«ããŸããã

GitHubãªããžããªã«ã¢ã¯ã»ã¹ã§ããã«ãããããããCopilotãšãŒãžã§ã³ãã¯ç§ãã¡ãæåŸ ããã»ã©åœ¹ã«ç«ããªãæ å ±ãæäŸããŸãã

GitHubããªããžããªã®ã¡ã€ã³ããŒãžã«ãã®æ å ±ã衚瀺ããŠããã«ãããããããç§ãã¡ãå°ãããããªæ°åããåŸãããŸããã æåã®ã¯ãšãªãã广çã«å°ãããã¡ã€ã³ã¯ãšãªã§ãã©ããŒã¢ããããŠããåãçããåŸãããŸã

ãŸããäžèŠ§ã® 3 çªç®ã® PR ã調ã¹ãåŸããŠãŒã¶ãŒåãã®å€æŽã¯å«ãŸããŠããŸããã ãã® Web ãããžã§ã¯ãã®åªããææšã® 1 ã€ã¯ãã¯ã©ã€ã¢ã³ãåŽã®ã³ãŒãã倿ŽãããŠããªãããšã§ãã ããã¯ããã¯ãšã³ãã®å€æŽã ã£ãã®ã§ãããã¯èŠãããããŸããã§ããã

ããã§ã¯ããããæ¹åããŠã¿ãŸãããã
æåã®ããã³ãã ãã¡ã€ã«
---
functions:
- name: bash
description: Run a bash script in the utilities container.
parameters:
type: object
properties:
command:
type: string
description: The command to send to bash
container:
image: wbitt/network-multitool
command:
- "bash"
- "-c"
- "{{command|safe}}"
- name: git
description: Run a git command.
parameters:
type: object
properties:
command:
type: string
description: The git command to run, excluding the `git` command itself
container:
image: alpine/git
entrypoint:
- "/bin/sh"
command:
- "-c"
- "git --no-pager {{command|safe}}"
---
# prompt system
You are a helpful assistant that helps the user to check if a PR contains any user-facing changes.
You are given a container to run bash in with the following tools:
curl, wget, jq
and default alpine linux tools too.
# prompt user
You are at $PWD of /project, which is a git repo.
Checkout branch `{{branch}}`.
Diff the changes and report any containing user facing changes
ãã®ããã³ããã¯ææã§ããããããã€ãã®ããããã³ã°ã®æ¬ é¥ãèŠã€ãããŸããã ãã®çç±ã¯ã git ã䜿çšããŠãã¡ã€ã«ãæ¯èŒããã®ã¯LLMã«ãšã£ãŠéåžžã«é£ããããã§ãã
git diffã¯ãã±ãããã«ã䜿çšãããããäŒè©±ã«stdoutãéä¿¡ããã«ã¯--no-pageråŒæ°ãå¿ èŠã§ããgit diffã«ãã£ãŠåœ±é¿ãåãããã¡ã€ã«ã®ç·æ°ã¯ãéåžžã«å€ããªãå¯èœæ§ããããŸãã- åãã¡ã€ã«ãèãããšãçã®å·®ååºåã¯èšå€§ã§ãè§£æãé£ãããªãå¯èœæ§ããããŸãã
- PR ã§å€æŽãããéèŠãªãã¡ã€ã«ã¯ãdiff åºåã«å€ãã®äœåãªãã¡ã€ã«ãšå ±ã«åãããŠããå¯èœæ§ããããŸãã
- ã³ã³ããã«ã¯å¿ èŠä»¥äžã®ããŒã«ãå ¥ã£ãŠãããLLMãå¹»èŠãèµ·ããããšãã§ããŸãã
ãšãŒãžã§ã³ãã¯ããŠãŒã¶ãŒåãã®å€æŽãå«ããã¡ã€ã«ã®çš®é¡ã倿ããããã«ãªããžããªãããçšåºŠçè§£ããå¿ èŠããããéèŠãªæ å ±ã®ã¿ã衚瀺ã§ããå¿ èŠããããŸãã
次ã®ãã¹ã«ã¯ãããã€ãã®èª¿æŽãå«ãŸããŸãã
- å¿
èŠãªå¯äžã®ããŒã«ãšããŠ
alpine gitç»åãšãã¡ã€ã«ã©ã€ã¿ãŒã«åãæ¿ããŸãã âfiles-onlyåŒæ°ãšâno-pageråŒæ°ã䜿çšããŸãã
# ROLE assistant
The following files are likely to contain user-facing changes as they mainly consist of UI components, hooks, and API functionalities.
```
file1.ts
fil2.tsx
file3.tsx
...
```
Remember that this isn't a guarantee of whether there are user-facing changes, but just an indication of where they might be if there are any.
ããã¯ããŠãŒã¶ãŒåãã®å€æŽããããã©ãããä¿èšŒãããã®ã§ã¯ãªãã倿Žãããå Žåã«ã©ãã«ãããã瀺ãã«ãããªãããšã«æ³šæããŠãã ããã
ãšãŒãžã§ã³ãã«ããŒã« run-javascript-sandbox ãæäŸããããšã§ããšãŒãžã§ã³ãã¯åŸã§åºåãä¿åããã¹ã¯ãªãããæžãããšãã§ããŸããã

ããã§æåŸã®ããã³ããã確èªããã«ã¯ã Gistã䜿çšããŠãã ããã
å°éç¥è
ããã¯çŽ æŽãããã¹ã¿ãŒãã§ãããã ãããŠãŒã¶ãŒåãã®å€æŽããªãããã¡ã€ã«èªäœãæ€æ»ããå¿ èŠããããŸãã ãããéå§ãããšãããŠãŒã¶ãŒåãã®å€æŽã¯ããŸããŸãªãå·®åããšããŠçŸããå¯èœæ§ããããããå°éç¥èãå«ããå¿ èŠãããããšã«æ°ä»ããŸããã ç§ãã¡ã¯ãçŸåšDockerã®ããã³ããšã³ããã©ãããã©ãŒã ã«åãçµãã§ããã¹ã¿ããã®SMEã§ããMark HigsonãšåæããŸããã Mark ã¯ãDocker ã®å€ãã®ãªããžããªã§ "ãŠãŒã¶ãŒåã" ã®å€æŽãã©ã®ãããªãã®ãã«ã€ããŠãããã€ãã®éèŠãªã¢ããã€ã¹ãæäŸããã®ãæäŒã£ãŠãããã®ã§ããã³ããããã³ããã«çµã¿èŸŒã¿ãŸããã
ããããããã¢ãããŒã
JSX ããªãŒã§èŠã€ãã£ãããã¹ã ããŒãã®å€æŽãæ¢ãã®ã¯ãæãç°¡åãªäŸã§ãã
è£éæ©èœãæã€ JSX ããŒã
<div>{functionReturningString()}</div>
çµæãæååã®å Žåãçµæã¯ãããããŠãŒã¶ãŒåãã§ãããæååãäœæããã³ã³ããŒãã³ãã¯å¥ã®å Žæã«ããå¯èœæ§ããããããæ¬¡ã®ç¹ãæ¢ããŸãã
埮åŠãªææš
- æšæºã®ãŠãŒã¶ãŒåãã³ã³ããŒãã³ãã äŸ: éç¥ã éç¥ã® props ã倿Žãããå ŽåããŠãŒã¶ãŒåãã®å€æŽã§ãããšæšæž¬ã§ããå¯èœæ§ããããŸãã
- äžè¬çã«äœ¿çšãããã³ã³ããŒãã³ãã®ã³ã³ã¹ãã©ã¯ã¿ã äŸ: ãšã©ãŒã
Error()ãç°ãªãåŒæ°ã§æ§ç¯ãããŠããå Žåããšã©ãŒã¯ç°ãªãæ¹æ³ã§è¡šç€ºãããå¯èœæ§ãããããšãããã£ãŠããŸãã
UI ã¬ãã¥ã¢ãŒã«ãšã£ãŠéèŠãªã®ã¯ãã¬ã€ã¢ãŠãã§ã¯ãªããããã¹ãã®å šäœçãªéã倿Žãããããšã§ãã
ã§ããããã¬ã³ããªã³ã°ã§ãããã®ããã¹ãŠæããããšã¯ã§ããŸãããããããã®é åã«çŠç¹ãåœãŠãããšã§äŸ¡å€ãæäŸããããšãã§ããŸãã
ãã¡ã€ã«ã®å·®å
ãã¡ã€ã«ã®å€æŽãèŠã€ããã«ã¯ãããã€ãã®æ¹æ³ããããŸãã ãŸãã git ãããäžåºŠäœ¿çšããŸãã
å°éå®¶ã®ã¢ããã€ã¹ãå«ããåã¯ã git diff å®éã«ã¯åºåã§è¡šçŸãããŠããªãå€åãå¹»èŠã§èŠãŠããŸããã å°éå®¶ã®ã¢ããã€ã¹ã®åŸãLLMããã¯ããã«çŠç¹ãçµã£ãåºåãèŠãããŸãã
2 çªç®ã®ããã³ããã¯ãæ¢ã«ä¿åãããŠãŒã¶ãŒåããã¡ã€ã«ãèªã¿åã£ãŠããããã main ãšæ¯èŒããã ãã§ãã git ã§å°ã詊è¡é¯èª€ããçµæã --no-color ãš --minimal ã®çµã¿åããã«ããã倿Žããšã«ããŒã¯ã³ãããŸãæ¶è²»ããããšãªããLLM ã«ååãªã³ã³ããã¹ããæäŸã§ããããšãããããŸããã
LLMã䜿çšããå·®åã®çæãšèªã¿åãã«ã€ããŠã¯ãå€ãã®è©±é¡ããããŸãã AiderãšCursorã®ããŒã ã¯ã©ã¡ãããææ©çãã³ãŒãã䜿çšããŠLLMã埮調æŽããããšã«æ³šåããŠããŸãã
ããããç§ãã¡ã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ãDockerã§ã®å¹³åçãªã倧ããªãPRã¯ãé©åãªã¢ããã€ã¹ãšé©åãªããŒã«ãäžããããã°ãåŸæ¥ã®LLMã«ãšã£ãŠåé¡ã«ãªããªãããšãããããŸããã
ããã§ã2 çªç®ã®ããã³ãããæ¬¡ã«ç€ºããŸãã
## User-facing content
The following pieces of code are what we want to focus on for user-facing content:
Text Nodes in any JSX or TSX files.
Text Nodes in any HTML files.
Standard user-facing components. Example: Definitions/Constructors for notifications, toasts, and errors.
# prompt user
Can you tell me if there are any user-facing changes in {{branch}}?
ããã§å®å šãªããã³ããã確èªããã«ã¯ã Gistã䜿çšããŠãã ããã
ã¢ãŠãããã
泚: ãã®èšäºã§ã¯ãäžéšã®ãã«ãã¹ããã©ã³ããããã³å·®åãããªãã³ã°ããããããã¬ãŒã¹ãã«ããŒã«çœ®ãæããããŸãã
# ROLE assistant
```json
{
"args": ["checkout", "branch"]
}
```
# ROLE tool (git)
Already on 'branch'
Your branch is up to date with 'origin/branch'.
# ROLE assistant
```json
{
"path": "/thread/user-changes/files.txt"
}
```
*entering tool*
# ROLE tool (read-file)
path1
path2
path3
...rest of paths
# ROLE assistant
```json
{
"args": ["diff", "main", "--no-color", "--minimal", path1 path2 path3...]
}
```
*entering tool*
# ROLE tool (git)
<Diff output truncated>
# ROLE assistant
The following user-facing changes were detected between the "main" branch and the "branch" branch:
1. In `File1.tsx` file, the text "Sign In" was modified to "Sign in".
2. In `File2.ts` file, titles "Databases & Storage", "Monitoring & Observability", "Developer Tools", "New Extensions", were changed to "Databases & storage", "Monitoring & observability", "Developer tools", "New extensions" respectively.
3. In `File3.rtl.test.tsx.snap` and `ImageHeader/index.tsx files`, the text "Compressed Size " was changed to "Compressed size".
4. In `File4.rtl.test.tsx` and `ImageDetail/index.tsx files`, a test-case previously checking for the existence of "Compressed Size" now looks for "Compressed size".
5. In `File5.tsx file`, the button text "Add Collaborator" has been changed to "Add collaborator".
6. In `route.tsx file`, the collaborators table title "Current Collaborators" was changed to "Current collaborators".
7. In `File6.tsx` file, the description was updated.
8. In `File7.tsx`, `RepositoryOverview.tsx`, `RepositoryReadMe.tsx`, `TagsAndScans.tsx` files, the description when there is no category or description was updated.
9. In `File8.rtl.test.tsx`, `DeleteRepo.tsx`, the text for confirming repo deletion and the delete button text was adjusted.
10. In `route.tsx file`, the filter label "Trusted Content" was changed to "Trusted content".
11. In `File9.tsx`, the text "Your Organizations" has been changed to "Your organizations".
12. In `Component/index.tsx`, the search group label "Trusted Content" has been changed to "Trusted content".
13. In `file10.test.ts` file, a test-case was updated to check for the new text "Sign in".
```
å šäœãšããŠãããã¯è¯å®çãªçµæã§ããã

ãã©ããŒããŠãã ããïŒ

å¥ã®PRããã®å¥ã®äŸ:
The changes in the `branch` branch compared to `main` include several modifications that affect user-facing content, particularly in JSX and TSX files. Here is a summary of the key changes:
...
These changes primarily involve simplification and refactoring of the existing UI logic, possibly to streamline the user interaction by removing complexities related to feature flags and reducing the use of modals or conditional rendering for specific purchasing flows.
èªåã§è©ŠããŠã¿ãŠãã ãã
ããã¯ãVSCodeã«è²Œãä»ããŠãç¬èªã®ãã©ã³ãã§ãããã®ããã³ããã詊ãããšãã§ããããŒã¯ããŠã³ãã¡ã€ã«ã§ãã æåŸã®è¡ã§ãã¬ãã¥ãŒããããŒã«ã«ãã©ã³ãã®ããããã« my-branch ãæŽæ°ããŸã: https://gist.github.com/ColinMcNeil/2e8f25e2d4092f3c7a0ce8992d2e197c#file-readme-md
次ã®ã¹ããã
ããã¯ãã§ã«ææãªæµãã§ãã ããšãã°ããã¯ãã«ã« ã©ã€ã¿ãŒã¯ git ãªããžããªãã¯ããŒã³ãããã®ããã³ãããå®è¡ããŠããŠãŒã¶ãŒåãã®å€æŽã«ã€ããŠãã©ã³ããæ€æ»ã§ããŸãã ãããããæ©èœãæ¡åŒµããŸãã
- PR ã®ãŠãŒã¶ãŒå
¥åãããã©ã³ãã Git ãç¥ããªããŠãã¬ãã¥ãŒã§ããããã«
gitã authã«ããèªågit clone & pullã- ãã倧ã㪠>15 ãã¡ã€ã«ã®ãµããŒãã«ããããšãŒãžã§ã³ããã¿ã¹ã¯ãèªååã§ããããã« PR ã倿ŽãããŸããã
- æçµçãªãããŒãCI/CDã«ããã€ã¯ãããŠãã¬ãã¥ã¢ãŒãé¢é£ããPRã«èªåçã«å²ãåœãŠãããšãã§ããããã«ããŸãã
ãã®ããã³ãããèªåã®ãªããžããªã§å®è¡ããããšã«èå³ãããå ŽåããŸãã¯åã«ã³ãŒãã«æ²¿ã£ãŠé²ã¿ããå Žåã¯ãæ°ãã å ¬éãªããžã㪠ãèŠãŠããåãåãããã ããã ãŸããGitHub Starsã®çæ§ã«ãæè¬ããããŸãã
ãã®ããã°èšäºã§èª¬æããå 容ã¯ãã¹ãŠãèªåã®ãããžã§ã¯ãã§è©Šãããšãã§ããŸããÂ
Docker ã§ã®åãçµã¿ã®è©³çްã«ã€ããŠã¯ã ãã¥ãŒã¹ã¬ã¿ãŒã賌èªããŠãã ããã
ããã«è©³ãã
- Docker Newsletter ã賌èªããŠãã ãããÂ
- Docker AI ã«ã¿ãã°ã§ AI éçºãå éããæ¹æ³ãã玹ä»ããŸãã
- Docker Labs ã® GenAI ã·ãªãŒãºãèªã
- Docker ãã¹ã¯ãããã®ææ°ãªãªãŒã¹ãå ¥æããŸãã
- 質åããããŸãã? Docker ã³ãã¥ããã£ããæäŒãããŸãã
- ããã«ãŒã¯åããŠã§ãã? å§ããŸãããã