# AIのメモ分類コード、空欄と重複も通る？6ケースで確かめた

> https://bookfactory.kr/board/news/20390
> 게시판: 뉴스
> 작성자: admin
> 작성일: 2026-10-09T02:15:08.519Z

---

AIがコードを書いてくれた。見本のメモも、きれいに分類できた。

じゃあ、空っぽの行を渡したら？ 同じ「牛乳」が3回出てきたら、勝手に1つにまとめない？

今回は、架空のメモを整理する小さなPythonコードをAIに作ってもらい、6種類の入力で動かしてみました。初回のコードは、決めておいた期待結果とすべて一致。ただ、そこで「何でもうまく整理できる」とは言えない理由もあります。

## まず「どうなれば正解か」を決める

作るのは、行頭のラベルでメモを分ける関数です。

「買い物: 牛乳」は買い物へ。「学び: 星座を調べる」は学びへ。「創作: 雨の短編」は創作へ。ラベルのない「散歩する」は、その他へ入れます。

AIが毎回メモの意味を考える仕組みではなく、AIに書いてもらったコードが、決めた文字のルールで分ける試作です。

依頼するときに、次の扱いも指定しました。

- 前後の空白は取り除き、空っぽの行は捨てる。
- コロンは半角「:」と全角「：」の両方を受け付ける。
- ラベルだけで本文がない行も捨てる。
- 重複は消さず、分類ごとの順番も保つ。
- 知らないラベルや、途中にラベルがある文章は「その他」に残す。
- 渡した元のリストは書き換えない。

ここで迷いどころは、重複の扱いです。買い物一覧なら1つにまとめたいこともありそうですが、今回は「何回書いたかも残す」方を選びました。

「いい感じに整理して」だけでは、この選択が伝わりません。消してよいものと、残したいものを先に分けるのが、今回の出発点です。

## 普通の入力だけで終わらせない

コードを生成する前に、入力と期待結果を6ケース分保存しました。生成担当には仕様を渡し、コードができた後に別の実行工程で照合しています。

確認したのは、通常のメモ、空欄、重複、全角コロンと前後の空白、未知のラベルなど、そしてメモが1件もない場合です。各ケースでは分類結果に加え、元のリストが変わっていないことも見ました。

2026年10月7日、Codex内の生成担当に1回依頼し、手元のPython 3.12.14で実行。6ケースとも一致し、コードの修正は0回でした。生成担当の説明は「テスト・実行は行っていません」で、合格の根拠はその説明ではなく、後から保存した実行結果です。

### 空欄は、本当に空になった

空文字、半角スペース、タブ、全角スペースに加え、「買い物:」「学び： 」も入れました。

結果は4分類とも空のリスト。ラベルだけの行から、空っぽのメモが増えることはありませんでした。

### 「牛乳」は3回とも残った

渡した順番はこうです。

> 
> 
> 買い物: 牛乳買い物: 牛乳買い物: パン買い物: 牛乳
> 

買い物の出力は、牛乳、牛乳、パン、牛乳。重複を残し、途中のパンもその位置に残りました。

これは「重複を残す方が正しい」という一般論ではありません。今回、先にそう決めたから、この結果を合格にしています。

### 似た書き方でも、扱いは変わる

「学び： 月を観察」は、学びに入りました。一方、「学び : 星座」は、その他へ入りました。

違いは、ラベルとコロンの間のスペースです。今回は行の前後の空白だけを取り除き、ラベルの途中は推測して直さない仕様にしています。

また、「日記に買い物: 牛乳と書く」は買い物に移らず、その他に残りました。文章の途中に同じ文字があるだけでは、ラベルとして扱わないためです。

ここを見て「そこも学びに入れてほしい」と思ったなら、コードの故障を疑う前に、期待するルールを変える必要があります。動いていることと、自分の使い方に合っていることは、別々に確かめたいところです。

## 自分で試すなら、この一言を足す

AIへコードを頼むときは、たとえば次のように伝えられます。

> 
> 
> 実装する前に、普通の入力・空欄・重複をどう扱うか整理してください。重複は今回は残します。各ケースについて、入力と期待する出力を対にしてください。
> 

出てきた期待結果は、自分の用途と合うか確認します。その後、実行結果と並べれば、「動いたっぽい」で終わらずに済みます。

GitHubの公式ガイドでも、生成コードが意図を正しく反映しない可能性があるため、レビューとテストを勧めています。生成されたテスト自体も全ケースを網羅するとは限らない、という注意があります。今回はCopilotの性能を測ったものではなく、確認の考え方の参考にしました。

今回の6ケース合格は、この小さな関数と入力の範囲での結果です。大量データ、文字列以外の入力、ファイル読み込み、意味に基づく分類は確認していません。生成から保存までは約45秒でしたが、ツール操作と待ち時間を含むため、AIの速度比較や時短の根拠にはできません。

まずは、使いたいメモを3行だけ書く。普通の1行、空の1行、同じ内容のもう1行。それぞれどうなってほしいかを、コードより先に書いてみませんか。

## 参考にした一次情報

- GitHub：Responsible use of GitHub Copilot inline suggestions — 生成コードと生成テストのレビューに関する注意。
- Python：unittest — 期待値との一致を検査する考え方の参考。今回の小さな実験では専用の照合スクリプトを使用。

いずれも2026年10月7日確認。実験には架空のメモを使い、追加の有料APIや外部サービスへの接続は行っていません。

**출처:** [note 원문](https://note.com/kind_sloth7473/n/ndba18a38b8dd)

*번역: Gemma 3(.44) 초벌 + 교정 검수*

[원문 보기](https://note.com/kind_sloth7473/n/ndba18a38b8dd) | 출처: note.com