Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PythonのソースファイルをLLMで修正した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kazueda
November 30, 2024
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PythonのソースファイルをLLMで修正した話
kazueda
November 30, 2024
More Decks by kazueda
See All by kazueda
16ビットCPU用FUZIXを実機で動かす USBキーボード接続編
kazueda
0
15
16ビットCPU用FUZIXを実機で動かす キー入力編
kazueda
0
15
初代プレステでuCLinuxその2「rootfsが公開されました」
kazueda
0
60
初代プレステでuCLinuxその1 Linuxのinitで「Hello World」
kazueda
0
93
Raspberry pi 400をUSBキーボードとして使う
kazueda
0
380
「東海道らぐ」のブースで「USBガジェット三昧」の展示
kazueda
0
46
Raspberry Pi Pico WでRNDIS-Wifiブリッジ
kazueda
0
120
Raspberry pi pico2の亜種で Risc-V用Linux-nommuを起動する話
kazueda
1
560
M5Stackサーバーを使って初代プレイステーションでuClinuxのカーネルを起動
kazueda
0
170
Other Decks in Programming
See All in Programming
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
共通化で考えるべきは、実装より公開する型だった
codeegg
0
190
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
3.7k
OSINT for SRE: 学術論文とポストモーテムから探る システム障害の共通パターン / SRE NEXT 2026
tomoyk
1
3.2k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
300
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
160
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.8k
自作OSでスライド発表する
uyuki234
1
3.7k
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
560
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
110
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Facilitating Awesome Meetings
lara
57
7k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Fireside Chat
paigeccino
42
4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Language of Interfaces
destraynor
162
27k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
380
Transcript
PythonのソースファイルをLLMで 修正した話 Unagi.py 勉強会61枚目 2024. 11. 30 か ず え
だ kazueda 1
kazueda(かずえだ)の紹介 • 大阪出身、丙午、おとめ座、O型 • 科学者(化学) • 2003年4月から浜松で、働き始める • 自転車での移動が生活の足 •
趣味は「ラジオを聴くこと」、「アメ リカのコミックの邦訳を読むこと」 @kazueda 2 slideshare speaker deck https://qiita.com/kazueda
PlayStation(プレイステーション、略称: PS, PS1) • ソニー・コンピュータエンタテインメント(略: SCE)が 1994年12月3日に発売した家庭用ゲーム機 • CPU:MIPS R3000A
ベース • 32ビット RISCプロセッサ (R3051) • メインメモリ: 2 MB EDO DRAM 3 https://ja.wikipedia.org/wiki/PlayStation_(%E3%82%B2%E3%83%BC%E3%83%A0%E6%A9%9F) 30歳おめでとう!
RUnix on PlayStation 1 • MIPS-NOMMUなので、uClinux 2.4.x kernel • RS232
SIO経由のシリアルコンソール • プレイステーションのGPU経由の仮想コンソール • 保存メディアとしてマルチプルメモリーカード • SL811を使って、USBキーボードやマウスを接続 • 上記の環境が構築されるらしい。。。 4 https://en.wikipedia.org/wiki/PSXLinux ルートファイルシステムの情報が消失!!
まずは完成形 5 • 初代プレステ側 ではunirom8と いうユーティリ ティを起動 • M5StackBasicか ら自作プログラ
ムを転送 • M5StackBasicの プログラムは Arduino IDEで作 成
プレステ側はunirom8 • FreePSXBootのメモリカードイメージに内包。 • 主な用途 1. メモリカードの操作 2. CD内のファイル操作 3.
メモリカードを使ってROMのバックアップやリストア 4. 自作ソフトをメモリカードから起動 5. シリアルポートを使ったファイルの送受信 6 https://github.com/JonathanDotCel/unirom8_bootdisc_and_firmware_for_ps1
Windows側 • sioload.py (pythonプログラム) • pypsxserial.py(pythonプログラム) • 使用した理由:小さなLinuxボードやMCUボードで使いた い 7
初代プレステへのファイル転送 1. プレステ側では、FreePSXBootを使ってメモリーカードか らプレステ用ユーティリティプログラムを起動 2. パソコン側では、転送プログラムを使って、シリアル ポート経由でプレステで実行可能な自作プログラムを転 送<-既存のpythonプログラムではファイル転送が行わ れない 3.
プレステ側でプログラムの受信が終わると、再起動後に 自作プログラムが動作 8
プレステ側はunirom8 • FreePSXBootのメモリカードイメージに内包。 • 主な用途 1. メモリカードの操作 2. CD内のファイル操作 3.
メモリカードを使ってROMのバックアップやリストア 4. 自作ソフトをメモリカードから起動 5. シリアルポートを使ったファイルの送受信 9 https://github.com/JonathanDotCel/unirom8_bootdisc_and_firmware_for_ps1 ソースファイルが 公開されていないので、転 送の段取りがわからない!
DISCORDのPSXDEVで質問 10
Windows側 • sioload.py (pythonプログラム)<-転送失敗 • pypsxserial.py(pythonプログラム) <-転送失敗 • nops.exe(windows実行ファイル) <-転送成功!ソースファイル有
• 「TransferLogic.cs」に転送の段取りが記載 11 https://github.com/JonathanDotCel/NOTPSXSerial
LLMでの修正の段取り 1. 「TransferLogic.cs」をアップロードして、詳細な説明をさせ る 2. 修正したい「sioload.py」をアップロードして、 「TransferLogic.cs」の転送の段取りを追加させる 3. 修正後の「sioload.py」の動作を確認 4.
エラーメッセージや不具合を明記して修正させる 5. 項目3と項目4を完成するまで繰り返す(今回は2周で完成) 12
まとめ • LLMを利用して、windows用のC言語のソースを参考に、 pythonプログラムの改良に成功 • さらに、pythonプログラムからArduino IDEのCPPプログラ ムへの移植も成功 • メモリカード上のルートファイルシステムの作り方をLLM
を利用してpythonプログラムで確立。 13 今後の展開 おしまい